Ai chipset with human brain on computer circuit board. Artificial intelligence, Data mining, and Deep learning modern computer technology. Ai CPU concept. 3D Rendering.

Um beim autonomen Fahren die Effizienz KI-basierter Systeme zu erhöhen, müssen KI-Algorithmen optimiert und die Hardware erforscht und entwickelt werden. Damit beschäftigt sich das Projekt Green ML. (Bild: Peachayatanomsup - stock.adobe.com)

Künstliche Intelligenz (KI) wird zunehmend in so unterschiedlichen Bereichen wie Textgenerierung, autonomes Fahren und intelligente Haushaltsgeräte eingesetzt. Diese Anwendungen erfordern komplexe Algorithmen und leistungsstarke Hardwaresysteme, um große Datenmengen effizient verarbeiten zu können. Der zunehmende Einsatz von KI erhöht den Energiebedarf, bietet aber auch Potenziale für Energieeinsparungen durch grüne Technologien. In modernen Fahrzeugen führt die zunehmende Komplexität und Anzahl von KI-basierten Systemen zur Sensorsignalverarbeitung zu einem höheren Energieverbrauch. Um die Effizienz zu steigern und Kosten zu senken, werden Methoden zur Optimierung von KI-Algorithmen und Hardware erforscht und entwickelt. In dem vom BMVU geförderten Projekt GreenML forscht das Institut für Mikroelektronische Systeme gemeinsam mit dem Institut für Informationsverarbeitung und dem Institut für Künstliche Intelligenz (alle Leibniz Universität Hannover) sowie der Firma VISCODAan Methoden zur Energieeinsparung imBereich der KI-Signalverarbeitung, insbesondere für das autonome Fahren.

CNNs für die KI-basierte Signalverarbeitung

Für die aktuelle KI-basierte Signalverarbeitung in Fahrzeugen kommen heute meist effiziente und hochoptimierte CNN-Algorithmen zum Einsatz. Diese Algorithmen basieren auf Faltungsoperationen, die mit Hilfe verschiedener Filter Merkmale aus den Eingangsdaten extrahieren. Bei einer Faltung werden mehrdimensionale Filter auf die Eingangsdaten angewendet und jeweils eine Faltung durchgeführt, wobei die Eingangsdaten mit Gewichten aus den Filtern multipliziert und anschließend akkumuliert werden. Durch die Aneinanderreihung mehrerer solcher Faltungsschichten mit unterschiedlichen Filtergrößen und -gewichten lassen sich aus mehreren extrahierten Merkmalen, wie z.B. Kanten oder Ecken, Objektklassen (Auto, Fahrrad, Mensch) ableiten.

Ein typisches CNN, z.B. zur Objektdetektion in Bildern, hat ca. 100 Faltungsschichten und führt ca. 15,66 Milliarden Operationen pro Bild durch (Beispiel: CenterNet). Der Großteil der Berechnungen besteht aus Multiplikationen und Additionen. Da im Fahrzeugumfeld aufgrund eines begrenzten Energie-, Kosten-und Gewichtsbudgets in der Regel nur begrenzte Rechenressourcen zur Verfügung stehen, ist es notwendig, möglichst effiziente Rechenhardware einzusetzen und die CNN-Algorithmen für die Anwendung zu optimieren. Der Ablauf der Auswahl, Optimierung und Integration eines Signalverarbeitungsalgorithmus in eine Fahrzeugumgebung, wie es im Projekt GreenML betrachtet wird, ist in Bild 1 dargestellt.

Bild 1: Der Ablauf der Auswahl, Optimierung und Integration eines Signalverarbeitungsalgorithmus in eine Fahrzeugumgebung, wie es im Projekt GreenML betrachtet wird.
Bild 1: Der Ablauf der Auswahl, Optimierung und Integration eines Signalverarbeitungsalgorithmus in eine Fahrzeugumgebung, wie es im Projekt GreenML betrachtet wird. (Bild: Universität Hannover)

Auswahl und Design des KI-Algorithmus

Der erste entscheidende Schritt für ein energieeffizientes KI-System ist die Auswahl und das Design des KI-Algorithmus. Bei der Auswahl können State-of-the-Art Standardnetze wie CenterNet für die Objektdetektion auf Kamerabildern oder PointPillars für die Objektdetektion auf LiDAR-Daten gewählt werden. Die Netze unterscheiden sich hinsichtlich des benötigten Rechenaufwandes, der Detektionsleistung und der verwendeten Faltungstypen. Neben standardisierten CNN-Architekturen können auch eigene erstellt und optimiert werden, um eine höhere Leistungsfähigkeit und Effizienz zu erreichen. Da das manuelle Design von Netzen selbst für erfahrene KI-Entwickler ein sehr aufwendiger Prozess ist, gibt es Methoden wie AutoML, die es auch unerfahrenen Nutzern ermöglichen, eigene KI-Anwendungen zu erstellen und zu optimieren. Bei der Erstellung einer energieeffizienten KI-Anwendung muss bereits die Zielhardware und deren Einschränkungen berücksichtigt werden. In GreenML werden AutoML-Methoden implementiert, die es ermöglichen, KI-Anwendungen zu erstellen, die die verfügbaren HW-Ressourcen effizient nutzen und die Anwendung dahingehend optimieren. Für ein effizientes und effektives Training werden neben den Optimierungsmethoden auch eigene Datensätze zur Erkennung von Verkehrssituationen in GreenML integriert und evaluiert.

Die richtige Hardware-Plattform wählen

Als Hardwareplattformen für die Ausführung von KI-Algorithmen im Automotive-Umfeld werden heutzutage CPUs, GPUs, FPGAs und KI-ASICs in die Steuergeräte integriert. Bild 2 zeigt eine Einordnung hinsichtlich der Energieeffizienz und Flexibilität. Diese Hardwareplattformen unterscheiden sich dabei in ihrer Flexibilität, Effizienz und Performance für KI-Algorithmen. Die Anforderungen an die Hardware sind dabei:

  • Hohe Parallelität: Es müssen mehrere Additionen und Multiplikationen gleichzeitig ausgeführt werden.
  • Schneller Speicher: Um auf die Eingangsdaten und Gewichte für die Faltungsoperationen möglichst schnell zugreifen zu können muss ein möglichst schneller Speicher vorhanden sein.
  • Energieeffizienz: Die Plattformen sollen eine möglichst hohe Leistungsfähigkeit/Watt besitzen. Die Energieeffizienz wird dabei meist mit TOPS/Watt angegeben.
Bild 2: Einordnung von Hardwareplattformen für die Ausführung von KI-Algorithmen hinsichtlich Energieeffizienz und Flexibilität.
Bild 2: Einordnung von Hardwareplattformen für die Ausführung von KI-Algorithmen hinsichtlich Energieeffizienz und Flexibilität. (Bild: Universität Hannover)

In GreenML werden unterschiedliche Hardware-Plattformen hinsichtlich ihrer Eignung als Inferenzplattform für KI-Algorithmen im Automotive-Umfeld untersucht. Dazu wurde eine Marktanalyse an verfügbaren und relevanten Plattformen durchgeführt.

CPUs als flexible Plattform

Eine CPU ist die flexibelste Hardwareplattform. CPUs sind so konzipiert, dass sie die unterschiedlichsten Rechenaufgaben ausführen können. In aktuellen Steuergeräten und Hardwareplattformen für die Automobilindustrie sind CPUs mit einer leistungsfähigen Arm-Architektur weit verbreitet. Aus Gründen der Technologiesouveränität und auch aus Kostengründen wird derzeit auch der Einsatz von Prozessoren auf Basis der quelloffenen RISC-V-Architektur untersucht. Um eine möglichst hohe Parallelität zu erreichen, werden einerseits Prozessoren mit mehreren Rechenkernen (bis zu 64) und andererseits auch mit Vektor- oder Matrixerweiterungen eingesetzt. Aufgrund ihrer Flexibilität haben CPUs jedoch einen vergleichsweise hohen Platz- und Energiebedarf. Daher werden Prozessoren meist für Steuerungsaufgaben und Operationen mit geringeren Parallelitätsanforderungen eingesetzt.

GPUs zur Berechnung von CNNs

Ein Grafikprozessor (GPU) ist eine Hardwarearchitektur, die in erster Linie für die Berechnung von Pixeln und damit für die Grafikausgabe entwickelt wurde, sich aber aufgrund der hohen Anzahl von Rechenkernen auch für die Berechnung von CNNs eignet. Da eine GPU nicht so flexibel wie eine CPU ist, bieten GPUs eine bessere Flächeneffizienz, da für die hohe Flexibilität einer CPU mehr Hardwareeinheiten benötigt werden. Im Automotive-Umfeld werden häufig Nvidia-Jetson-Hardware-Plattformen eingesetzt. Diese Plattform integriert leistungsstarke GPU-Prozessoren mit bis zu 2048 Kernen und erreicht eine KI-Leistung (Kombination aus GPU und NPU) von bis zu 275 TOPS bei einer Leistungsaufnahme von 60 W. Ein solches System wird z. B. bei Mercedes Benz zur Realisierung des Drive Pilots eingesetzt. GPUs bieten eine hohe KI-Leistung bei relativ geringer Leistungsaufnahme.

Neural Processing Units

In den letzten Jahren geht der Trend immer mehr zu dedizierten KI-ASICs, auch Neural Processing Units (NPUs) genannt. Dabei handelt es sich um dedizierte KI-Prozessoren, die speziell für die Berechnung von KI-Algorithmen entwickelt wurden. Das Grundprinzip der meisten NPUs besteht darin, dass sie eine Matrix von sogenannten Multiply-Accumulate (MAC)-Prozesselementen besitzen. Diese Prozesselemente berechnen effizient die große Anzahl von Multiplikationen und Additionen in einem CNN. Durch die relativ einfache Struktur der Prozesselemente ist die Integrationsdichte, d. h. die Anzahl der Elemente pro Fläche, sehr hoch. Ein bekanntes Beispiel für eine solche Architektur im automobilen Umfeld ist der Tesla Full Self-Driving Chip 2 (FSD Chip 2), der drei NPU-Instanzen mit jeweils 50 TOPS integriert und damit den Tesla-Autopiloten realisiert. Neben den kommerziell verfügbaren NPUs werden in der Forschung auch neuartige Architekturkonzepte untersucht und realisiert. Insbesondere in Deutschland wird beispielsweise im BMBF-geförderten Projekt ZuSe KI-Mobil ein KI-ASIC für das autonome Fahren erforscht und realisiert. NPUs bieten eine hohe Integrationsdichte von Prozesselementen und eine hohe Energieeffizienz für die dedizierte Berechnung von CNN-Algorithmen.

FPGAs mit integrierten AI-Engines

FPGAs stellen innerhalb der Hardware-Architekturen für KI-Anwendungen eine einzigartige Kategorie dar. Als rekonfigurierbare Schaltkreise ermöglichen sie die Implementierung maßgeschneiderter Designs, die sich schnell und mit relativ einfach an unterschiedliche KI-Applikationen anpassen lassen. Die Entwicklung von FPGA-basierten Schaltungen erfolgt mittels Hardwarebeschreibungssprachen, welche dann in die physische Hardware synthetisiert werden. Zur Vereinfachung des Designprozesses können High-Level-Synthesetechniken eingesetzt werden, die es erlauben, Schaltungen in höheren Programmiersprachen wie C++ oder Python zu beschreiben, ergänzt durch den Einsatz öffentlich verfügbarer IP-Blöcke. Aktuelle FPGA-Plattformen, wie beispielsweise das AMD VC1902, integrieren spezielle AI-Engines, die für die effiziente Ausführung von CNN-Algorithmen optimiert sind und in Kombination mit FPGAs eine sehr leistungsfähige Lösung für KI-Aufgaben bieten.

Benchmarking der Hardware-Plattformen

Um diese qualitativen Einordnungen mit Messwerten zu verifizieren und weitergehende Analysen durchführen zu können, werden im Projekt GreenML die Plattformen wie in Bild 3 dargestellt mit verschiedenen Referenz-CNN-Modellen vermessen. Dabei werden Metriken wie Latenz und Energiebedarf der verschiedenen Modelle ermittelt. Dazu wird ein Modell--Zoo von CNN-Benchmark-Algorithmen erstellt. Aus den Laufzeitcharakteristika und Metriken lassen sich dann Modellierungen ableiten. Auf Basis der Metriken kann eine Vorhersage getroffen werden, die eine Aussage über die Abbildbarkeit von KI-Algorithmen auf Plattformen und deren Performance liefert. Ziel ist es, Empfehlungen zu geben, welche Hardwareplattform für eine bestimmte Anwendung eingesetzt werden sollte, wenn z.B. eine radarbasierte Objekterkennung mit Echtzeitanforderungen und begrenztem Energiebudget in einer automobilen Umgebung implementiert werden soll.

Bild 3: Benchmarking der Hardwareplattformen. Sie werden mit verschiedenen Referenz-CNN-Modellen vermessen.
Bild 3: Benchmarking der Hardwareplattformen. Sie werden mit verschiedenen Referenz-CNN-Modellen vermessen. (Bild: Universität Hannover)

Optimierung der KI-Algorithmen

Neben der Auswahl der geeigneten Hardware müssen auch die KI-Algorithmen spezifisch für die Zielhardware optimiert werden, ohne die Performance, also z.B. die Objekterkennungsgenauigkeit, der Algorithmen zu beeinflussen. Kriterien für eine effiziente Verarbeitung sind dabei: die Art der Instruktionen, die Anzahl der Instruktionen und die Anzahl der Speicherzugriffe. Projekt GreenML erforscht Methoden, implementiert und evaluiert, die eine effiziente Ausführung ermöglichen. Eine Möglichkeit, den Rechen- und Speicherbedarf und damit auch den Energiebedarf zu reduzieren, besteht darin, die Genauigkeit der Gewichtung und Aktivierung in einem CNN zu reduzieren. Dazu wird die sogenannte Quantisierung eingesetzt. Dabei werden die Gewichte und Aktivierungen von einer Gleitkommadarstellung mit 32 Bit Auflösung in Formate mit 16 oder 8 Bit oder sogar in binäre Formate umgewandelt.

Es können auch kombinierte Auflösungen innerhalb eines CNNs zum Einsatz kommen (Mixed Precision), um eine möglichst effiziente Quantisierung zu erreichen. Eine weitere Technik, um die Komplexität und damit den Speicher- und Rechenbedarf eines CNNs zu reduzieren, ist das Pruning. Dabei werden unnötige Gewichte oder ganze Neuronen aus dem CNN entfernt. Durch Pruning lässt sich häufig eine hohe Komplexitätsreduktion (Reduktion der Anzahl an Speicherzugriffen und MAC-Operationen) ohne großen Genauigkeitsverlust erreichen. Layer Fusion ist eine weitere Möglichkeit, ein CNN zu optimieren. Dabei werden aufeinanderfolgende Schichten, z. B. Faltung, Aktivierungsfunktion und Normalisierung, zu einer einzigen Schicht verschmolzen. Dies reduziert die Anzahl der Speicherzugriffe, was zu einer starken Reduzierung des Energiebedarfs führt, da ein Speicherzugriff eine der energieintensivsten Operationen innerhalb einer KI-Hardware ist.

Bild 4: Projekt Green ML im Überblick. Die erforschten und implementierten Methoden werden in Demonstratoren integriert, wie z. B. das Versuchsfahrzeug PANDA.
Bild 4: Projekt Green ML im Überblick. Die erforschten und implementierten Methoden werden in Demonstratoren integriert, wie z. B. das Versuchsfahrzeug PANDA. (Bild: Universität Hannover)

Matthias Lüders

Institut für Mikroelektronische Systeme, Universität Hannover

Sie möchten gerne weiterlesen?