KI/ML-Technologie verbessert auch die Entwicklung von Entwurfswerkzeugen

(Bild: Mentor)

Dies ist der Beginn eines neuen Zeitalters der Innovation, in dem sich die Datenverarbeitung mit künstlicher Intelligenz (KI) schnell weiterentwickeln wird und schon bald in SoCs (System on Chips) genauso verbreitet sein wird wie in Grafikprozessoren.

EckDaten

KI- und ML-Prozessoren eröffnen in vielen Branchen und Anwendungen neue Möglichkeiten. Das Design solcher ICs ist aber mit verschiedenen Herausforderungen verbunden wie etwa anspruchsvollen Algorithmen oder enormer Speicherkapazität. Auch die Leistungsaufnahme sowie die Datenübertragung müssen Systemdesigner berücksichtigen.

Das Konzept der KI – Maschinen die Möglichkeit zu geben, kognitive Funktionen nachzuahmen, um Probleme zu erkennen und zu lösen und dann Maßnahmen zu ergreifen – ist seit Mitte der 1950er Jahre eine akademische Disziplin. Dennoch gibt es erst seit kurzem genug Daten, Rechenleistung und Algorithmen, um die KI von einem akademischen Experiment zu einer vermutlich allgegenwärtigen Technologie zu machen, die für die Weiterentwicklung von intelligenten Produkten zu intelligenteren Produkten von grundlegender Bedeutung ist.

Die Menge der aus dem Internet und von Milliarden intelligenter Geräte generierten Daten liefert mehr als genug Daten, um große Trainingsdatensätze für ML zu generieren. Mit diesen Datensätzen lassen sich Filter für das maschinelle Lernen generieren und ML-basierende Systeme für die Nutzung trainieren.

Künstliche Intelligenz und Maschinelles Lernen gelten als Zukunftstechnologien, dementsprechend investierten die Unternehmen auch in diese Bereiche.

Künstliche Intelligenz und maschinelles Lernen gelten als Zukunftstechnologien, dementsprechend investierten Unternehmen auch in diese Bereiche. Mentor

Darüber hinaus stehen heute genügend intelligente Geräte mit hoher Rechenleistung und eine Kommunikationsinfrastruktur mit hoher Bandbreite zur Verfügung, um große Datensätze schnell verarbeiten und übertragen zu können. Diese Rechenleistung gestattet es auch, für bestimmte Aufgaben zunehmend ausgefeiltere und spezialisiertere Algorithmen zu entwickeln und dadurch das Anwendungsspektrum von KI/ML zu erweitern. Darüber hinaus gibt es heute eine Vielzahl von Killer-Apps, die von beschleunigten Informationsinfrastrukturen und Rechenzentren bis hin zu Milliarden von Edge-Geräten reichen und durch die Datenverarbeitung mit KI/ML intelligente Produkte noch intelligenter und sogar autonom machen können. Eingesetzt wird KI/ML bereits in Rechenzentren für das Data Mining, in Analysegeräten für die medizinische Bildgebung, in ADAS und autonomen Systemen, in Computer-Vision-Systemen, in der Robotik und in mobilen Geräten wie Smartphones. Die Geschäfts- und Innovationsmöglichkeiten für KI/ML-Technologien scheinen grenzenlos zu sein.

Im Mittelpunkt dieser exponentiellen Evolution der KI/ML-Technologie wird die Entwicklung spezieller KI/ML-Prozessor-IP für intelligentere SoCs und intelligentere KI-basierende Standalone-Prozessoren stehen. Die Investitionen in Startups für ML-Chips sind weitaus höher als die Investitionen in jedem anderen Halbleitersektor, einschließlich 5G- und Krypto-Währungen.

Für die Entwicklung innovativer KI/ML-Prozessor-IP und -ICs müssen Entwicklungsteams ihre Entwurfsmethoden um neuere, schnellere Tools erweitern. Glücklicherweise nimmt auch die EDA-Branche die KI/ML-Technologie an und integriert sie in Tools, um sie genauer und schneller zu machen. Welche methodischen Herausforderungen gibt es beim Entwurf von KI/ML-Prozessoren und was unternehmen EDA-Unternehmen wie Mentor, damit Ingenieure intelligentere Innovationen schneller liefern können?

Herausforderungen bei der Entwicklung von KI/ML-Prozessoren

KI/ML ist weitgehend eine mathematische und softwaretechnische Disziplin: Mathematiker entwickeln mit mathematischen Werkzeugen Algorithmen und konvertieren diese in C++-Code, um sie auf Prozessoren auszuführen. Die Ausführung von Algorithmen auf standardmäßigen Single-Threaded-Mikroprozessoren ist jedoch eine Herausforderung, da einige Teile des Algorithmus möglicherweise nicht optimal laufen. Um diesen Engpass zu überwinden, verwenden Unternehmen seit fünf Jahren Multi-Threading-Beschleunigerarchitekturen. Die ersten dieser Architekturen kombinierten eine standardmäßige Mehrzweck-MPU mit einer Standard-Mehrzweck-GPU oder einem FPGA, die eine effizientere Parallelverarbeitung ermöglichen. Mit fortschreitender Entwicklung der Beschleunigerarchitekturen integrierten Unternehmen GPU- und FPGA-IP-Blöcke in SoCs. Die ersten Implementierungen verwendeten 2,5D-Silizium-Interposer oder System-in-Package-Konfigurationen.

Der Einsatz von Universal-GPUs und FPGAs in einer dieser Konfigurationen erfordert große Kompromisse in Bezug auf Leistungsaufnahme, Wärme und Leistungsfähigkeit. Um diese Kompromisse zu mildern, entwickeln eine Reihe von Unternehmen und insbesondere Start-ups nicht nur spezielle KI/ML-Prozessorarchitekturen, die sich als IP in SoCs für Edge-Geräte integrieren lassen, sondern auch riesige spezialisierte Standalone-KI/ML-Prozessoren für Dateninfrastruktur, mit denen diese bestimmte Aufgaben effizienter lösen können. Selbst Unternehmen, die Standardprodukte wie GPUs und FPGAs anbieten, entwickelten Derivate ihrer Produkte, die sich stärker auf die KI/ML-Technologie spezialisiert haben.

Komplexe Algorithmen sind der Grundstein für KI-Architekturen

KI/ML-Technologie verbessert auch die Entwicklung von Entwurfswerkzeugen

Um einen Prozessor für KI/ML-Anwendungen zu entwerfen, müssen Designer Faktoren wie Datenübertragung, Speicherkapazität oder Leistungsaufnahme einbeziehen. Mentor

IP- und IC-Designs für KI/ML-Prozessoren weisen bestimmte Merkmale auf, die die traditionellen Abläufe der Entwicklungswerkzeuge stark beanspruchen. Üblicherweise beginnt der Designflow eines IC auf der Register-Transfer-Ebene (RTL), wo Hardware-Entwicklungsteams die Logik ihrer IP- oder IC-Designs mit einer Hardware-Beschreibungssprache wie Systemverilog oder VHDL entwickeln.

Viele KI/ML-Architekturen beginnen jedoch als komplexer Algorithmus und erfordern, dass die Entwicklungsteams zunächst eine C++-Darstellung des Algorithmus entwickeln. Dann müssen sie herausfinden, welche Teile ihres Algorithmus am besten auf einem Prozessor ablaufen und welche Teile zu langsam ausgeführt werden. Mit diesen Informationen entwickeln Hardwareingenieure dann spezielle Logikblöcke, die die langsameren Teile des Algorithmus beschleunigen, sodass eine optimierte Systemarchitektur entsteht. Die Entwicklung spezieller Hardware mit einer RTL-first-Methode (manuelle Entwicklung von RTL) ist ein langwieriger Prozess. Dieser schränkt unter Umständen die Möglichkeiten von Entwicklungsteams ein, sich auf eine optimale SoC-Architektur zur Ausführung der gewünschten Algorithmen zu einigen.

Glücklicherweise gibt es High-level-Synthesetools, mit denen sich die Hardwarelogik direkt aus C++-Code heraus entwickeln lässt. So können Designteams zum Beispiel mit einem Xilinx-Zynq-SoC-Entwicklungsboard, das ARM-Prozessor und FPGA-Logik auf dem gleichen Chip hat, den Algorithmus auf dem eingebetteten ARM-Prozessor des Xilinx-Zynq-SoC ausführen und analysieren, welche Teile des Algorithmus langsam sind, wenn sie ausschließlich auf dem Prozessor laufen. Sie können diese langsamen Teile dann in die Hardwarelogik implementieren und überprüfen, ob die Leistungsfähigkeit steigt. Ferner können sie den Algorithmus optimieren oder den Hardware-Software-Logikmix anpassen und mithilfe einer C++-Synthese mehrere Hardware- und Software-Instanzen generieren. Dies geht wesentlich schneller als mit einem RTL-Flow.

Enorme Speicherkapazität im Designprozess berücksichtigen

KI/ML-Prozessor-IP und -ICs verfügen über spezielle Ebenen mit Kacheln zur Speicherung von Trainingsdaten. Sie nutzen dann die Inferenz, um Schlussfolgerungen zu ziehen, und lösen mithilfe der Datenverarbeitung Aktionen aus. Die Kacheln und Verarbeitungsfunktionen benötigen enorme lokale Speicherkapazität auf dem Chip. All dies bedeutet, dass KI/ML-Prozessor-IP und -ICs tendenziell über eine sehr große Anzahl von Gattern verfügen. Bei SoCs können diese bis in den Bereich von Milliarden reichen. Dies stellt höhere Anforderungen an die Kapazität und Leistungsfähigkeit der Entwicklungstools, da die Teams die verschiedenen Schritte im IC-Designflow in angemessener Zeit durchführen müssen.

Entwicklungsteams, die sich mit derart großen Kapazitäten auseinandersetzen müssen, verwenden zunehmend die Emulation für die funktionale Verifikation von KI-basierenden IPs und ICs. Emulationssysteme können Designs mit mehr als 15 Milliarden Gattern emulieren – um Größenordnungen mehr als Softwaresimulatoren. Darüber hinaus können Entwicklungsteams mithilfe der Emulation ML-Benchmarks durchführen und so gewährleisten, dass Designs den Leistungserwartungen entsprechen. Da die Emulation die logische Verifikation um Größenordnungen schneller durchführt als die Simulation, lässt sich Software mit einer angemessenen Geschwindigkeit entwickeln und testen. Auf diese Weise stellen Unternehmen sicher, dass Algorithmen wie erwartet ablaufen, bevor sie das Design an das Layout und schließlich an die Fertigung weitergeben.

Budgetierung der Leistungsaufnahme

Unabhängig davon, ob es sich bei KI/ML um einen Standalone-Prozessor auf einer Baugruppe in einem Rechenzentrum handelt oder um ein SoC mit Batterieversorgung in Edge-Geräten oder Fahrzeugen – die Leistungsaufnahme ist einer der wichtigsten Aspekte bei der KI/ML-Entwicklung. Der wichtigste Punkt für KI/ML-Anwendungen in Rechenzentren ist die Leistung pro Watt (PPW), für höchste Leistungsfähigkeit bei geringstem Energiebedarf. Rechenzentren verbrauchen für den Betrieb und zur Kühlung eine enorme Menge an Energie. Durch Senkung des Energieverbrauchs der Komponenten bei gleichzeitiger Leistungssteigerung sparen Rechenzentren Millionen von Dollar für die Betriebskosten ein. Die Komponenten mit der besten PPW werden in der Regel in jeder Rechenzentrumsgeneration vorrangig zum Einsatz kommen. Ebenso werden KI/ML-Edge-Geräte Hochgeschwindigkeits-Berechnungen durchführen und Daten schnell übertragen müssen. Beides benötigt Energie und dies kann bei einem batteriebetriebenen Edge-Gerät zu einem größeren Problem werden.

Um dieses zu lösen, benötigen Entwicklungsteams Werkzeuge, die sie während des gesamten Designflows beim Verbessern und Überwachen der Energieeffizienz unterstützen. In einem KI/ML-Flow sollte das von der C++-Architektur oder sogar der RT-Ebene ausgehen und jeden Schritt von Logikverifikationssynthese über Place and Route bis hin zur physikalische Verifikation und den Tests umfassen.

Silizium-Photonik für schnellen und effizienten Datentransfer

Ob im Herzen der Millionen von Baugruppen in einem Rechenzentrum, in einem Mobiltelefon oder einer Kamera am Rande des IoT – KI/ML-fähige Komponenten müssen Daten schnell und effizient empfangen und übertragen. KI/ML-Komponenten benötigen deshalb Hochgeschwindigkeits-Ein- und -Ausgänge und in Rechenzentren vielleicht sogar Silizium-Photonik-Verbindungen. Das bedeutet, dass die überwiegende Mehrheit der KI/ML-Prozessoren wohl Mixed-Signal-Prozessoren sein werden. Dies wird Unternehmen dazu bringen, für jeden Schritt im Analog-Mixed-Signal-Design- und Verifikations-Flow erstklassige Tools zu verwenden.

Um maximale Leistungsfähigkeit zu erzielen, müssen EDA-Anbieter und Halbleiterhersteller auch die Entwicklung von Silizium-Photonik-Werkzeugen intensivieren und die Silizium-Photonik von der Forschung im Labor in die kommerzielle Realität bringen. Um die Silizium-Photonik wirtschaftlich nutzbar zu machen und gleichzeitig die Tatsache zu berücksichtigen, dass Moore‘s Law für viele Anwendungen eine Herausforderung darstellt, müssen sich die Entwicklungsteams mit Alternativen wie 2.5D, CoWaS/System-im-Package-Design und sogar 3D, für die abenteuerlustigeren, vertraut machen. KI/ML ist in der Realität angekommen. Mit ein wenig Einfallsreichtum und Zusammenarbeit wird die KI/ML-Technologie alles intelligenter machen – sogar EDA-Tools.

Joe Sawicki

(Bild: Mentor)
Executive Vice President bei Mentor, a Siemens Business

(prm)

Sie möchten gerne weiterlesen?

Unternehmen

Mentor Graphics (Deutschland) GmbH

Arnulfstraße 201
80634 München
Germany