Drei Einheiten mit unterschiedlichen Stärken
CPU, GPU und NPU werden oft als drei Verarbeitungseinheiten dargestellt, sind aber keine austauschbaren Optionen für dieselbe Aufgabe. Jede hat eine eigene Architektur und einen vorherrschenden Zweck: Die CPU koordiniert und erledigt allgemeine Aufgaben, die GPU ist besonders leistungsfähig, wenn sich eine Arbeitslast auf viele ähnliche Berechnungen verteilen lässt, und die NPU ist auf Operationen für neuronale Netze und andere KI-Modelle ausgerichtet. Die Grenzen sind nicht absolut: Die tatsächliche Arbeit hängt vom Programm, seinen Bibliotheken und den verfügbaren Ressourcen des Computers ab.
Die CPU ist der Allzweckprozessor, der Anweisungen des Betriebssystems und der Anwendungen ausführt. Sie kann Berechnungen, Logik, Ein- und Ausgabe sowie Anweisungsfolgen übernehmen, die aufeinanderfolgende Entscheidungen erfordern. Wegen dieser Vielseitigkeit bleibt sie auch in einem Computer mit Beschleunigern unverzichtbar: Sie organisiert die Arbeit, führt nicht ausgelagerte Teile aus und bearbeitet Systemaufgaben. Ohne Angabe einer Arbeitslast ist es nicht sinnvoll, sie als „die langsamste“ oder „die schnellste“ zu bezeichnen, denn der Vergleich hängt von der Art der Operation ab. Microsoft beschreibt die CPU als Komponente, die andere Elemente eines Geräts steuert.
Eine GPU war ursprünglich eine Einheit für die Grafikverarbeitung, doch ihre Fähigkeit, viele Berechnungen parallel auszuführen, ist auch außerhalb des Renderings nützlich. Der praktische Unterschied besteht nicht darin, dass eine GPU alles besser erledigt, sondern darin, dass sie eine Arbeitslast effizient verarbeiten kann, wenn sich deren Operationen parallel verteilen lassen. Eine Aufgabe mit sequenziellen Abhängigkeiten oder viel Steuerungslogik profitiert möglicherweise nicht auf dieselbe Weise. Die NVIDIA-Dokumentation zum GPU-Computing und die Erläuterung von AWS zu GPU und CPU beschreiben genau diese Spezialisierung auf parallele Berechnungen. NVIDIA · AWS.
Die NPU ist ein Beschleuniger, der für bestimmte Berechnungen im Zusammenhang mit künstlicher Intelligenz entwickelt wurde. Ihre Anwesenheit bedeutet nicht, dass alle KI-Funktionen dort ausgeführt werden: Modell, Format der Operationen, Treiber und Laufzeitsoftware müssen kompatibel sein. Ist dieser Ausführungspfad nicht verfügbar, kann ein System die Inferenz auf der CPU oder GPU ausführen. Die Chipbezeichnung beschreibt eine Fähigkeit, garantiert aber weder ihre Nutzung in jeder Anwendung noch eine allgemeine Verbesserung von Geschwindigkeit oder Stromverbrauch.
Eine Anwendung kann eine Arbeitslast aufteilen
In einem realen Programm kann eine für den Benutzer sichtbare Operation aus mehreren Schritten bestehen: Daten vorbereiten, ein Modell ausführen, das Ergebnis verarbeiten und es auf dem Bildschirm anzeigen. Es gibt keinen Grund, warum all diese Schritte einem einzigen Chip zugeordnet sein müssen. Die CPU kann Eingaben vorbereiten und die Ausführung koordinieren, ein Beschleuniger kann rechenintensive Operationen übernehmen und CPU oder GPU können sich um nachfolgende Schritte kümmern. Die konkrete Aufteilung hängt davon ab, wie die Anwendung geschrieben wurde und welche Softwareinfrastruktur Modell und Hardware verbindet.
Windows ML ist ein dokumentiertes Beispiel für eine solche Koordinierungsschicht in Windows: Microsoft beschreibt es als lokales Inferenzframework auf Basis von ONNX Runtime, das Modelle über Ausführungsanbieter auf CPU, GPU oder NPU ausführen kann. Laut Dokumentation verwaltet Windows diese Anbieter, und die Auswahl hängt vom verfügbaren Ausführungspfad ab. Daraus folgt weder, dass jedes Modell alle Einheiten nutzt, noch dass eine Arbeitslast automatisch auf sie verteilt wird. Windows-ML-Dokumentation.
Es ist wichtig, die Aufteilung der Aufgaben einer Anwendung von der Zerlegung einer einzelnen Berechnung zu unterscheiden. Ein Programm kann für einige Funktionen die CPU und für andere die GPU verwenden, ohne eine einzelne Operation zwischen beiden aufzuteilen. Ebenso kann es einen Teil des Modells auslagern und andere Schritte auf dem Hauptprozessor belassen. Welche Situation vorliegt, lässt sich nur anhand der Dokumentation des Frameworks oder der Anwendung feststellen; die Auflistung mehrerer Prozessoren im Computer reicht nicht aus.
Was die Software entscheiden kann
Anwendung, Modellformat, Ausführungsanbieter, Treiber und Betriebssystem bilden eine Kette. Unterstützt eines dieser Glieder eine bestimmte Operation nicht, muss möglicherweise auf eine andere Einheit oder Implementierung ausgewichen werden. Deshalb kann sich eine Anwendung auf zwei Computern mit ausgewiesener NPU oder GPU unterschiedlich verhalten: Kompatibilität, Treiber, verfügbarer Speicher und Softwareversion können variieren.
Die Windows-ML-Dokumentation besagt, dass die lokale Ausführung CPU, GPU und NPU nutzen kann. Diese Möglichkeit beweist jedoch keine einheitliche Vorgehensweise in allen Anwendungen. Entscheidend ist der von der Anwendung aktivierte Ausführungspfad, nicht nur die Liste der verbauten Hardware. Auch aus allgemeinen Prozessorspezifikationen lässt sich nicht ablesen, welche Einheit während einer Sitzung eine bestimmte Funktion ausgeführt hat.
Verfügbare Beschleunigung ist keine Leistungsgarantie
Wenn ein Computer eine Aufgabe beschleunigen kann, bedeutet das, dass kompatible Hardware und Software einen geeigneten Ausführungspfad bieten können. Daraus geht nicht hervor, wie stark die Beschleunigung ausfällt, ob das Ergebnis spürbar schneller ist oder ob der Gesamtenergieverbrauch sinkt. Für solche Aussagen wären reproduzierbare Messungen mit derselben Arbeitslast, Konfiguration, Softwareversion und denselben Vergleichsbedingungen nötig. Verfügbarkeit und Ergebnis sind verschiedene Fragen.
Eine GPU kann für parallele Arbeitslasten geeignet sein. Der tatsächliche Nutzen hängt jedoch auch davon ab, ob sich die Aufgabe für dieses Muster eignet und wie viel Zeit Datenübertragung und Koordination beanspruchen. Bei einer kleinen Aufgabe lässt sich der Aufwand für die Auslagerung möglicherweise nicht ausgleichen. Ebenso kann eine NPU die Effizienz einer kompatiblen Operation verbessern; allein ihre Anwesenheit erlaubt aber keine Übertragung des Ergebnisses auf alle Modelle oder die gesamte Anwendung. Herstellerdokumentationen erläutern Aufbau und vorgesehene Einsatzgebiete, ersetzen aber keinen Test der konkreten Arbeitslast.
Auch der Kontext spielt eine Rolle. Bei einem virtuellen Desktop kann die Beschleunigung beispielsweise sowohl das Rendern als auch die Codierung der über das Netzwerk gesendeten Bilder umfassen. Microsoft weist darauf hin, dass GPU-beschleunigte Codierung das Nutzungserlebnis verbessern, zugleich aber mehr Bandbreite und Ressourcen auf Client und Host beanspruchen kann. Das ist eine hilfreiche Erinnerung: Selbst wenn eine bestimmte Einheit identifiziert wird, verlagert sich der Ressourcenaufwand, und das Ergebnis hängt vom Gesamtsystem ab. Microsoft: GPU-Beschleunigung in Azure Virtual Desktop.
Aussagekräftige Vergleiche nennen deshalb, was gemessen wird: Reaktionszeit, dauerhafte Leistung, Stromverbrauch des Geräts, Ergebnisqualität oder Netzwerklast. Eine allgemeine Aussage wie „nutzt die GPU“ beantwortet diese Fragen nicht. Wenn eine Quelle keine passende Methodik und Ergebnisse veröffentlicht, ist es sachgerechter, die technische Fähigkeit zu beschreiben, statt eine bezifferte Verbesserung zu versprechen.
Lokale Ausführung und Datenschutz: eine Aussage mit Grenzen
Lokale Inferenz bedeutet, dass ein Modell auf dem Gerät ausgeführt wird, statt dass die gesamte Ausführung notwendigerweise an einen entfernten Dienst gesendet wird. Windows ML wird als Framework dargestellt, mit dem Modelle lokal auf der Hardware des Benutzers ausgeführt und CPU, GPU oder NPU genutzt werden können. Dadurch kann eine Anwendung bestimmte Daten für diesen Schritt ohne Cloudverbindung verarbeiten; es beweist jedoch nicht, dass die Anwendung aus anderen Gründen keine Daten überträgt. Microsoft: Windows ML.
Ein Beschleuniger allein beweist nicht, wohin Daten übertragen werden. Eine GPU oder NPU bestätigt weder, dass eine Funktion offline läuft, noch dass alle Daten auf dem Gerät bleiben oder dass die Anwendung keine Server für Anmeldung, Synchronisierung, Telemetrie oder andere Aufgaben kontaktiert. Zur Beurteilung des Datenschutzes sollten Sie die Dokumentation und Datenschutzrichtlinie der Anwendung prüfen, die verarbeiteten Informationen ermitteln und feststellen, welche Funktionen eine Netzwerkverbindung erfordern. Ausführungsmodell und Anwendungsverhalten hängen zusammen, sind aber nicht dasselbe.
Dasselbe gilt für das Wort lokal. Es kann sich auf einen bestimmten Inferenzschritt beziehen und nicht notwendigerweise auf alle Komponenten eines Dienstes. Wenn ein Hersteller angibt, eine Funktion werde auf dem Gerät verarbeitet, sollte man fragen: Welche Funktion, welche Daten und unter welcher Konfiguration? Eine klar eingegrenzte Aussage beschreibt den Umfang besser als ein allgemeines Versprechen von „privater KI“, das allein auf dem Chiptyp beruht.
So prüfen Sie, welche Einheit verwendet wird
Um eine Aussage zur Beschleunigung zu überprüfen, sollten Sie von der spezifischsten Dokumentation ausgehen und anschließend die Systemanzeigen heranziehen. Suchen Sie zuerst die Dokumentation der Anwendung oder des Frameworks und prüfen Sie, welche Einheiten unterstützt werden, welche Versionen erforderlich sind und ob die Funktion standardmäßig aktiviert ist. Danach können Sie die Dokumentation des Betriebssystems und des Hardwareherstellers prüfen. Eine angegebene Kompatibilität ist ein erster Filter, aber kein Beleg für die tatsächliche Nutzung.
Ein Task-Manager oder ein anderes Überwachungstool kann Hinweise auf die Aktivität von CPU, GPU oder NPU während eines Vorgangs liefern. Ein Auslastungsdiagramm zeigt jedoch nicht immer, welcher Prozess, welche Teilkomponente oder welcher Schritt die Aktivität verursacht; ebenso beweist es für sich genommen keine Beschleunigung des Ergebnisses. Die Sichtbarkeit hängt von der Systemversion, dem Treiber und den Überwachungsmöglichkeiten ab. Wenn das System keinen eigenen Zähler bereitstellt, sollte man nicht auf eine inaktive Einheit schließen: Möglicherweise fehlt lediglich die entsprechende Messmöglichkeit.
Eine praktische Überprüfung kann so aussehen:
- Die genaue Funktion bestimmen und den Namen des Modells oder der ausgeführten Aufgabe ermitteln.
- Prüfen, ob die Anwendung Unterstützung für CPU, GPU oder NPU angibt und welchen Ausführungsanbieter sie verwendet.
- Systemanforderungen, Treiber und Anwendungsversion kontrollieren.
- Die Ressourcenauslastung bei einer kontrollierten Aufgabe beobachten, ohne die Anzeige als endgültigen Beweis zu behandeln.
- Wenn die Leistung wichtig ist, dieselbe Arbeitslast mit dokumentierter Methodik und unter dokumentierten Bedingungen vergleichen.
Für eine belastbare Schlussfolgerung sollten Angaben der Software mit einer geeigneten Beobachtung kombiniert werden; bei einer behaupteten Verbesserung gehört außerdem eine vergleichbare Messung dazu. Kein einzelner Indikator beantwortet alle Fragen: Ein Monitor kann Aktivität anzeigen, Dokumentation kann Kompatibilität bestätigen und ein Test kann Leistung messen – doch jeder Beleg beantwortet eine andere Frage.
Eine nützliche Regel zum Lesen der Bezeichnungen
Am sichersten lassen sich CPU, GPU und NPU als ergänzende Spezialisierungen verstehen, nicht als Rangfolge, in der jeder neue Chip den vorherigen ersetzt. Die CPU behält ihre allgemeine und koordinierende Rolle; die GPU kann Grafik- und parallelisierbare Arbeitslasten beschleunigen; die NPU kann KI-Operationen übernehmen, die Software und Modell an sie weiterleiten können. Die Kombination hängt von der Arbeitslast und der Softwareunterstützung ab, nicht nur von der Bezeichnung im Datenblatt.
Bei einer Aussage wie „Die KI läuft auf der NPU“ sollten Sie fragen, welche Funktion dort ausgeführt wird, ob Modell und Programm diesen Pfad unterstützen, wie die Aktivität überprüft wird und welches Ergebnis gemessen wurde. Bei „läuft lokal“ sollten Sie klären, welcher Schritt auf dem Gerät ausgeführt wird und welche Daten weiterhin an externe Dienste übermittelt werden können. So lassen sich tatsächliche Fähigkeiten von weitergehenden Schlussfolgerungen unterscheiden, die durch die Belege nicht gestützt werden.
Die abschließende Unterscheidung ist einfach: Spezifikationen beschreiben, wofür eine Komponente ausgelegt ist; die Softwaredokumentation erklärt, welche Pfade sie nutzen kann; die Überwachung zeigt Aktivität in einem konkreten Zusammenhang; und vergleichbare Tests ermöglichen die Bewertung des Ergebnisses. Keines dieser Elemente beweist für sich allein alle anderen. Zusammen helfen sie dabei, die Vorgänge im Computer zu verstehen, ohne aus einer Beschleunigungsbezeichnung ein Versprechen zu Leistung, Effizienz oder Datenschutz zu machen.