Künstliche Intelligenz in der Elektronikentwicklung

KI – Was ist das denn überhaupt?

Künstliche Intelligenz ist zurzeit in aller Munde, doch die wenigsten Menschen beschäftigen sich mit der Funktionsweise von künstlicher Intelligenz oder damit, was im Endeffekt dahintersteht. Grundsätzlich stellt sich allein beim Begriff schon die Frage, was man unter Intelligenz versteht. Allein diese Frage ist schon beim Menschen recht schwierig zu beantworten und würde den Rahmen dieses Blogartikels sprengen, aber was heißt Intelligenz eigentlich im Umfeld von Computerprogrammen? Zuerst möchte ich einen kurzen Überblick schaffen, wie eines der bekanntesten KI-Programme funktioniert: ChatGPT. Und was wäre einfacher als zum Start dieses Beitrags das Programm über sich selbst auszufragen?

ChatGPT ist ein fortschrittliches Sprachmodell, das auf der GPT-Technologie (Generative Pre-trained Transformer) basiert. Es handelt sich um ein neuronales Netzwerk, das darauf trainiert wurde, menschenähnliche Texte zu generieren und auf Anfragen zu antworten. Das Modell wurde mit einer großen Menge an Textdaten trainiert, um ein breites Spektrum an Themen abzudecken. Es analysiert die gestellte Frage oder Anfrage und generiert eine passende Antwort. Es ist jedoch wichtig zu beachten, dass ChatGPT auf vorherigem Training basiert und nicht über aktuelle Informationen verfügt. Um die Genauigkeit der Informationen zu überprüfen, empfehle ich Ihnen, aktuelle und vertrauenswürdige Quellen zu konsultieren.

Soweit so richtig! Hier zeigen sich schon die wichtigsten Eigenschaften. Bei ChatGPT handelt es sich um ein generatives Sprachmodell, das Anfragen auf Basis von Wahrscheinlichkeiten beantwortet. Heißt also „Welches Wort folgt am wahrscheinlichsten auf das letzte?“ auf Basis der vorher eingespeisten Texte. Bei den gegebenen Antworten handelt es sich also nicht immer um Faktenwissen, sondern reine Statistik oder eben auch, was vorher in das Programm gegeben wurde. Oft stimmen diese Informationen mit dem Faktenwissen überein, da beispielsweise die Wikipedia als eine der Trainingsdaten benutzt wurde, manchmal aber leider nicht. Darum gilt, dass man nach einer Antwort immer selbst überprüfen sollte, ob sie korrekt ist und Sinn macht.

Was kann ich damit jetzt anstellen?

Dadurch, dass man sich nie 100% sicher sein kann, ob die gegebene Antwort nun korrekt ist, sollte man ChatGPT als eine Art bessere Suchmaschine verstehen. Hier ist die naheliegendste Verwendung natürlich eine Informationsrecherche. Das Programm bietet dabei den Vorteil, dass es anders als gängige Suchmaschinen die Antwort breiter gestaltet und miteinander verknüpftes Wissen auch gleichzeitig anbietet, wenn man seine Frage präzise genug stellt. Eine weitere Beispielfrage, die wir gut nachprüfen können und die ich ChatGPT gestellt habe war: „Welche Anforderungen werden in ISO 13485 gestellt?“

Die ISO 13485 ist eine internationale Norm für Qualitätsmanagementsysteme von Medizinprodukten. Sie legt die Anforderungen fest, die ein Unternehmen erfüllen muss, um die Qualität und Sicherheit seiner Medizinprodukte zu gewährleisten. Einige der wichtigsten Anforderungen in der ISO 13485 umfassen:

  1. Aufrechterhaltung eines dokumentierten Qualitätsmanagementsystems, das den Anforderungen der Norm entspricht.
  2. Festlegung und Überwachung von Prozessen zur Produktrealisierung, einschließlich Design und Entwicklung, Herstellung, Installation, Service und Rückverfolgbarkeit.
  3. Risikomanagement, um potenzielle Risiken im Zusammenhang mit Medizinprodukten zu identifizieren, zu bewerten und zu kontrollieren.
  4. Überwachung und Messung der Produktqualität, einschließlich der Durchführung interner Audits und des Managements von Abweichungen und Korrekturmaßnahmen.
  5. Schulung und Kompetenzentwicklung der Mitarbeiter, um sicherzustellen, dass sie ihre Aufgaben im Zusammenhang mit Medizinprodukten effektiv erfüllen können.
  6. Einhalten der geltenden gesetzlichen Anforderungen und behördlichen Vorschriften.
  7. Kontrolle von Lieferanten und Unterlieferanten, um sicherzustellen, dass sie die Anforderungen der Norm erfüllen.

Diese Liste ist nicht abschließend und es gibt weitere spezifische Anforderungen in der ISO 13485. Um detailliertere Informationen zu erhalten, empfehle ich Ihnen, die offizielle ISO 13485-Norm zu konsultieren oder die Website des Internationalen Normungsgremiums (ISO) zu besuchen.

Die Antwort wirkt zunächst etwas schwammig, zeigt aber zumindest einen Teil der Anforderungen in ISO 13485 und eignet sich somit ganz gut für einen ersten Überblick zum Thema. Vergleicht man sie mit einer Zusammenfassung der Norm entdeckt man viele Parallelen, müsste aber in einer erneuten Anfrage auf Details eingehen, um spezifischere Informationen zu erhalten.

Wie kann ich KI als Softwareentwickler einsetzen?

Ich selbst bin zwar Hardwareentwickler, aber ich nutze sehr gern KI sobald es in Richtung Software geht. Neben der Informationsbeschaffung kann KI ebenfalls dazu benutzt werden, Dinge zu vereinfachen oder gänzlich „neu“ zu erschaffen. Ein gutes Beispiel hierfür ist das Abfragen von Beispielcode im Entwicklungsprozess. Durch die große Masse an Trainingsdaten ist es für die KI ein Leichtes einzelne Softwareblöcke in verschiedenen Programmiersprachen zu schreiben.

Ich selbst habe dies mit Python, Matlab und Latex-Code ausprobiert und bin nach jeweiliger Anpassung oder Präzision meiner Anfrage sehr zufrieden damit. Mein „KI-Kollege“ hilft mir also dort, wo man mit seinem eigenen Wissen am Ende ist, Unterstützung benötigt oder Zeit sparen möchte. Dass der „KI-Kollege“ einen echten Kollegen mit jahrelanger Erfahrung nicht ersetzen kann, sollte jedoch offensichtlich sein. Spätestens beim finalen Einbinden in den eigenen größeren Code oder bei Sonderwünschen- und Fragen nimmt die Qualität spürbar ab. Gerade auch aus Sicht des Datenschutzes bei Entwicklungen stößt man hier schnell an Grenzen, da schützenswerter Code oder schützenswerte Informationen immer ungern in ein öffentliches Large Language Model gegeben werden. Eine Möglichkeit dies trotzdem zu tun, wäre eine eigene vom Internet getrennte, also gekapselte Variante von bspw. ChatGPT auf den eigenen Servern zu hosten. Diese befindet sich dann jedoch immer auf dem Stand, auf den Sie geupdatet wurde und „lernt“ nicht mehr aktiv durch die Eingabe von anderen Nutzern weltweit. Dies macht beispielsweise die SchulKI, ein Tool, das eine für Schulen angepasste Form von ChatGPT bereitstellt.

Was habe ich als Hardwareentwickler von KI?

Schaltungsentwicklung

Jeder Hardwareentwickler weiß, dass es beim Erstellen einer Schaltung nicht nur darauf ankommt, die Komponenten richtig miteinander zu verbinden, sondern auch auf die Größen der Bauteilwerte, die die Außenbeschaltung der meisten Schaltungen darstellen. Manchmal sind diese direkt im Datenblatt angegeben, jedoch sind oft auch Berechnungsformeln für den jeweiligen Use-Case angegeben. Hinzu kommt, dass man bei größeren Bauteilen erstmal das Datenblatt aufmerksam lesen muss, um herauszufinden welcher Anschlusspin welche Aufgabe hat und wie man diesen richtig verschaltet oder ansteuert. Ein mögliches KI-Tool, das dabei helfen kann, ist Flux.

Flux ist eine Entwicklungsumgebung für elektronische Schaltungen, die mit einem LLM ausgestattet ist. Wie im verlinkten Video gezeigt kann neben kollaborativer Zusammenarbeit mit Kollegen auch die KI mit eingebunden werden. Es besteht die Möglichkeit Fragen zur erstellten Schaltung, zu Informationen aus Datenblättern oder zur Berechnung von Werten zu stellen. Da ich das Tool bisher selbst nicht getestet habe, kann ich über die Qualität der Ergebnisse nichts aussagen, die Demovideos dazu sehen allerdings vielversprechend aus. Wie das Flux-Tool bietet Circuit Mind eine noch stärker automatisierte Lösung für den Elektronikentwurf an. Hier steht das Systemdesign im Vordergrund, das man im Vorfeld spezifiziert. Anschließend wählt die KI basierend auf den Schwerpunkten die Bauteile aus und erstellt die Schaltung selbstständig. Hierbei reichen die Einstellmöglichkeiten von groben Richtwerten bis zu konkreten Bauteilnummern.

Leiterplattendesign

Im Leiterplattendesign ergeben sich zahlreiche Möglichkeiten KI einzusetzen. Eigentlich lässt sich beim reinen Leiterplattendesign alles vom Erstellen der Bauteile, über Platzieren nach Funktionsgruppen und dem finalen Verbinden automatisieren und damit von einer Künstlichen Intelligenz ausführen. Die KI schlägt sich für die Erstellung von einfachen Bauteilen nach Eingabe der Parameter (Altium Designer – IPC Compliant Footprint Wizard) wirklich gut. Über automatische Zuordnung der Bauteile zu einem Datenblatt, Footprint oder Schaltplansymbol (snapeda) gewinnt man weitere Zeit im Entwicklungsprozess. Beim weiter oben erwähnten Tool Flux, soll es ebenfalls die Möglichkeit geben Datenblätter direkt einzulesen und daraus Footprints oder sogar Gesamtbauteile erstellen zu lassen. Wie gesagt eignet sich die KI für fast alle Schritte. Fast…

Der Autorouter

Beim wirklichen Leiterplattenlayout bewegt sich die KI noch auf dünnem Eis. Zu meinem eigenen Glück sind die vorhandenen Autorouter in nahezu allen Layoutsoftwaren, die ich bisher verwendet habe, nahezu unbenutzbar. Das bedeutet, dass ich zumindest beim PCB-Design nicht von der KI gefährdet bin. Hurra! Aber wieso genau ist denn jetzt der Mensch (hoffentlich) besser als die Maschine? Der Autorouter tut doch genau das, was man ihm sagt: Er verbindet zwei oder mehrere Punkte. Und genau hier liegt das Problem. Er beachtet im Normalfall nur das, was man ihm explizit vorgibt: Leiterbahnbreiten, Viagrößen, wenn er besonders gut ist, Abstände zu anderen Leitungen, aber sobald es etwas komplizierter wird als das simple Verbinden der Punkte (Striplines für HF, Leiterbahnbreitenanpassung für BGAs, Längenanpassung der Leitungen, etc.) versagt die KI vollständig. Eine Möglichkeit diesen trotzdem zu nutzen, besteht darin, alle kritischen Signale händisch zu verdrahten. Leider gibt es danach meist immer noch Probleme und es bleiben nach Nutzung noch Leitungen übrig, für die der Computer keinen Platz gefunden hat. Wer sich dazu ein zugehöriges Video der offiziellen Altium Academy ansehen möchte, findet das folgende Video hier.

Um die Frage des Videos „When to Use an Autorouter in PCB Design“ vorwegzunehmen möchte ich einen der Kommentare unter dem Video zitieren: „Short answer: Never“. Ein Beispiel anhand eines kommerziellen Autorouter-Tools im Vergleich zum händischen Verdrahten zeigt der EEVBlog. Kurz zusammengefasst: Der Autorouter scheitert nach mehreren Iterationen über 24h an der Verdrahtung und kommt auf eine Quote der verbundenen Leitungen von 80%. Leider erinnert selbst dieses Layout an das bloße Punkteverbinden.

Lösungen ohne KI oder mit KI-Unterstützung

Sollten Sie bei Ihrem Produkt oder Entwicklungsprojekt Hilfe und Erfahrung von echten Menschen benötigen, kommen Sie gerne auf uns zu!

 

Kontaktieren Sie uns!

Autor

  • Marcel Stark

    Marcel studierte Berufspädagogik für Elektrotechnik (B.Sc.) in Erlangen. Während seines Studiums unterstützte er die Hardwareentwicklung bei MEDtech Ingenieur als Werkstudent. Dabei pflegte er die Bauteilbibliotheken und erstellte Schaltungen und Leiterplatten für verschiedenste Anwendungen.

    Alle Beiträge ansehen
Auch interessant:

Newsletter abonnieren und nichts mehr verpassen

Der ein oder andere hat es schon entdeckt und ist angemeldet. Seit ein paar Wochen gibt es rechts oben neben den Blogbeiträgen das Feld Newsletter. Hier kann man sich mit seiner E-Mail-Adresse anmelden und damit den Newsletter abonnieren. Was bietet der Newsletter? Der Newsletter ist die einfachste Art auf dem…
Getagged mit: , , , ,