CPU vs. GPU vs. NPU: Konzept, Datentypen, Energieeffizienz

Die CPU ist ein Universalprozessor, der alles ausführen kann, und erledigt mit wenigen komplexen Kernen eine einzelne Aufgabe schnell. Die GPU verarbeitet mit sehr vielen Recheneinheiten große Datenmengen parallel und wird für ein breites Spektrum paralleler Berechnungen wie Grafik und KI-Training eingesetzt. Die NPU ist eine Spezialschaltung für die Matrix-Multiply-Accumulate-Operationen, die den Großteil der Berechnungen neuronaler Netze ausmachen; mit vielen Recheneinheiten niedriger Genauigkeit wie INT8 und der Wiederverwendung von Daten im On-Chip-Speicher führt sie Inferenz mit sehr hoher Energieeffizienz aus. Dafür ist sie bei nicht unterstützten Operationen schwach.

MerkmalCPUGPUNPU
KonzeptUniversell, geringe Latenz. Eine einzelne Aufgabe so schnell wie möglich erledigenHoher Durchsatz. Große Mengen paralleler Berechnungen gebündelt abarbeitenSpezialisiert auf Operationen neuronaler Netze (vor allem Inferenz), maximiert die Leistung pro Watt
Aufbau der RecheneinheitenEinige bis einige hundert komplexe Kerne. SIMD-Einheiten in jedem KernTausende einfache Recheneinheiten. Viele besitzen Matrix-RecheneinheitenGroßes Array von MAC-Einheiten (z. B. systolisches Array) und Vektoreinheiten u. a. für Aktivierungsfunktionen
SteuerungSprungvorhersage und spekulative Ausführung (Out-of-Order) für jeden BefehlWechselt zwischen sehr vielen Threads, um Speicherlatenzen zu verbergenArbeitet meist entlang eines vom Compiler vorab festgelegten Datenflusses, mit wenig befehlsweiser Steuerung
StärkenVerzweigungsreiche Verarbeitung, Betriebssystem, AnwendungslogikGrafik, KI-Training und -Inferenz, wissenschaftlich-technisches RechnenKI-Inferenz mit Schwerpunkt auf Faltungen und Matrixmultiplikationen
SpeicherGroße Caches und Hauptspeicher wie DDRSpeicher hoher Bandbreite wie GDDR oder HBMWiederverwendung von Gewichten und Zwischendaten in On-Chip-SRAM-Puffern. In SoCs integriert teilt sie den Hauptspeicher mit der CPU
Wichtige DatentypenSchwerpunkt FP64, FP32 und Ganzzahlen, aber nahezu allesSchwerpunkt FP32, FP16, BF16. Für Training auch FP8 u. a.Schwerpunkt niedrige Genauigkeit wie INT8, INT4 oder FP16
LeistungsangabeTaktfrequenz, Kernzahl, IPCFLOPS (z. B. TFLOPS)TOPS (meist theoretischer Höchstwert, gezählt in INT8)
Energieeffizienz bei KI-InferenzNiedrigHochAm höchsten. Teils um mehr als eine Größenordnung höher als bei der CPU
FlexibilitätAm höchsten. Jedes Programm läuftHoch. Breit einsetzbar für parallelisierbare AufgabenGering. Nicht unterstützte Operationen werden an CPU oder GPU zurückgegeben
ProgrammierungGängige Programmiersprachen und CompilerKernels werden mit GPU-spezifischen parallelen Programmiermodellen geschriebenTrainierte Modelle werden mit KI-Compilern oder Inferenz-Runtimes konvertiert und ausgeführt. Direkte Programmierung ist selten
EinbauortJeder ComputerSeparate Karte oder in ein SoC integriertMeist in SoCs von Smartphones und PCs integriert. Es gibt auch dedizierte Chips für Rechenzentren

Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welche Variante?

CPU
Verzweigungsreiche, sequenzielle Verarbeitung und Steuerung des Gesamtsystems. Auch für kleine Modelle und Operationen, die die NPU nicht unterstützt.
GPU
Groß angelegte parallele Berechnungen, die Wahlfreiheit bei der Genauigkeit und Flexibilität erfordern, etwa KI-Training, Inferenz großer Modelle, Grafik und wissenschaftlich-technisches Rechnen.
NPU
Wenn auf Smartphones oder PCs Inferenzaufgaben wie Fotokorrektur, Spracherkennung oder Übersetzung dauerhaft laufen sollen, ohne den Akku zu belasten. Das Modell wird quantisiert und z. B. in INT8 ausgeführt, worin die NPU stark ist.

Häufige Fragen

Was unterscheidet NPU und GPU?

Die GPU ist ein universeller Parallelprozessor, dessen viele Recheneinheiten sich flexibel programmieren lassen, und eignet sich auch für Grafik und Training. Die NPU konzentriert sich auf die MAC-Operationen der Inferenz neuronaler Netze und ist um Recheneinheiten niedriger Genauigkeit und On-Chip-Speicher herum aufgebaut; bei unterstützten Aufgaben ist sie daher sehr energieeffizient, bei anderen dagegen schwach.

Warum ist die NPU so energieeffizient?

Weil die CPU für jeden Befehl viele Schaltungen wie Sprungvorhersage und Befehlsumordnung betreibt, während die NPU den Großteil davon weglässt und stattdessen viele kleine MAC-Einheiten etwa für INT8 anordnet. Zudem verwendet sie Gewichte und Zwischendaten im On-Chip-SRAM wieder und reduziert so energieintensive Zugriffe auf externen Speicher.

Kann man mit einer NPU auch trainieren?

NPUs in Smartphones und PCs sind vorwiegend für Inferenz ausgelegt. Training erfordert Gradientenberechnungen und hohe Genauigkeit, daher werden dafür üblicherweise GPUs oder Trainingsbeschleuniger für Rechenzentren eingesetzt.

Ist eine NPU mit höherem TOPS-Wert immer schneller?

Nicht unbedingt. TOPS ist meist ein theoretischer Höchstwert, gezählt z. B. in INT8, und setzt teils dünnbesetzte Daten voraus. Die tatsächliche Geschwindigkeit hängt stark von der Speicherbandbreite, der Auslastung der Recheneinheiten und davon ab, ob die NPU die Operationen des Modells unterstützt.

Verständnis prüfen

Was ist der Hauptgrund dafür, dass eine in den SoC eines Smartphones integrierte NPU bei der KI-Inferenz energieeffizienter ist als die CPU?

  1. AWeil die NPU ohne Strom mit Licht rechnet
  2. BWeil viele Multiply-Accumulate-Einheiten niedriger Genauigkeit wie INT8 angeordnet sind und für KI-Berechnungen unnötige Universalschaltungen weggelassen wurden
  3. CWeil die NPU stets mit einem höheren Takt läuft als die CPU
Antwort und Erläuterung anzeigen

Antwort: B. Weil viele Multiply-Accumulate-Einheiten niedriger Genauigkeit wie INT8 angeordnet sind und für KI-Berechnungen unnötige Universalschaltungen weggelassen wurden

Eine CPU betreibt für jeden Befehl viele Schaltungen, etwa für Sprungvorhersage und Befehlsumordnung, um beliebige Aufgaben ausführen zu können. Die NPU ist auf Matrix-Multiply-Accumulate spezialisiert, besitzt viele Recheneinheiten niedriger Genauigkeit und ist darauf ausgelegt, Daten auf dem Chip wiederzuverwenden; die Energie je Operation ist daher um Größenordnungen kleiner. Dafür eignet sie sich nicht für Aufgaben außerhalb der KI oder für nicht unterstützte Operationen.

Welche Spezialschaltung wird in SoCs für Smartphones usw. verbaut, um KI-Inferenz schnell und mit geringer Leistungsaufnahme auszuführen?

  1. APLL (Phasenregelschleife)
  2. BAD-Wandler
  3. CNPU (Neural Processing Unit)
Antwort und Erläuterung anzeigen

Antwort: C. NPU (Neural Processing Unit)

Die NPU ist eine Spezialschaltung, die die Multiply-Accumulate-Operationen, die den Großteil der Berechnungen neuronaler Netze ausmachen, mit niedriger Genauigkeit (z. B. Ganzzahlen mit höchstens 8 Bit) massiv parallel verarbeitet. Ihre Leistung pro Leistungsaufnahme liegt mehr als eine Größenordnung über der von Allzweck-CPUs, sodass Bildkorrektur, Spracherkennung und Übersetzung direkt im Smartphone erfolgen können. Die Leistung wird in TOPS (Billionen Operationen pro Sekunde) angegeben, und NPUs finden sich zunehmend auch in SoCs für PCs.

Welche Anordnung, etwa in KI-Beschleunigern, ordnet viele Multiply-Accumulate-Einheiten gitterförmig an und berechnet Matrixprodukte, indem Daten nacheinander an benachbarte Recheneinheiten weitergegeben werden?

  1. ASystolisches Array
  2. BCrossbar-Schalter
  3. CRingpuffer
Antwort und Erläuterung anzeigen

Antwort: A. Systolisches Array

Ein systolisches Array ordnet Multiply-Accumulate-Einheiten (MAC) zweidimensional an und rechnet, indem Daten regelmäßig an benachbarte Recheneinheiten weitergereicht werden; der Name ist der Systole, der Kontraktion des Herzens beim Auswerfen des Bluts, nachempfunden. Einmal gelesene Daten können in vielen Recheneinheiten wiederverwendet werden, sodass Speicherzugriffe sinken und Matrixoperationen effizient ablaufen. Googles TPU besitzt große Arrays, z. B. 128×128.

  1. Was ist der Hauptgrund dafür, dass Systolic Arrays in KI-Beschleunigern Matrixprodukte effizient berechnen können?
  2. Was ist der Hauptvorteil der Umwandlung (Quantisierung) der Gewichte von FP32 in INT8 bei der KI-Inferenz?
  3. Was ist bei der als „○○ TOPS“ angegebenen Leistung von KI-Beschleunigern zu beachten?

Übungsfragen zu KI-Hardware und Software-Stack

Wichtige Begriffe erklärt

NPU (Neural Processing Unit)
Spezialschaltung, die die Inferenz neuronaler KI-Netze schnell und mit niedriger Leistungsaufnahme ausführt. Sie ist in SoCs von Smartphones und PCs integriert.
GPU
Abkürzung für Graphics Processing Unit. Prozessor mit vielen einfachen Rechenwerken, der große Datenmengen parallel verarbeitet. Neben der Bildverarbeitung weit verbreitet für Training und Inferenz von KI.
Systolisches Array
Architektur, bei der viele Multiply-Accumulate-Einheiten gitterförmig angeordnet sind und Daten der Reihe nach zur benachbarten Recheneinheit fließen, um Matrixprodukte zu berechnen. Wird in KI-Beschleunigern eingesetzt.
INT8
8-Bit-Ganzzahl mit Vorzeichen (−128 bis 127). Bei der KI-Inferenz werden Gewichte und Aktivierungswerte mit einem Skalierungsfaktor in INT8 umgewandelt (Quantisierung); dadurch sinken Rechen- und Speicheraufwand stark, und die Verarbeitung ist mit kleinen Ganzzahlschaltungen schnell.
TOPS
Leistungskennzahl von KI-Beschleunigern, die die Zahl der Operationen pro Sekunde in Billionen (Tera) angibt. Meist theoretischer Höchstwert, gezählt bei niedriger Genauigkeit.

Verwandte Vergleiche