Neural Processing Unit (NPU)
Eine neuronale Verarbeitungseinheit (NPU) ist ein Prozessor für Berechnungen neuronaler Netzwerke. Sie führt quantisierte Modelle effizient auf Smartphones, PCs und Kameras aus.
Eine neuronale Verarbeitungseinheit (NPU) ist ein Prozessor für die Ausführung von neuronalen Netzen, der auf großen Arrays von Multiply-Accumulate-Einheiten basiert, die aus einem On-Chip-Speicher gespeist werden. Die meisten NPUs sind Komponenten eines System-on-Chip neben CPU und GPU. Dort führen sie Schlussfolgerungen für Kamera-, Sprach- und Bildverarbeitungsfunktionen mit einem Bruchteil des Stromverbrauchs der beiden anderen Prozessoren aus. Huaweis Kirin 970 und Apples A11 Bionic, dessen Neural Engine mit 600 Milliarden Operationen pro Sekunde angegeben wurde, brachten NPUs 2017 in Smartphones. Es folgten Qualcomms Hexagon NPU, Intels NPU in den Core-Ultra-Laptopprozessoren ab Dezember 2023 und AMDs Ryzen-AI-Chips. Microsofts Copilot+-PCs benötigen eine NPU mit einer Leistung von mehr als 40 Billionen Operationen pro Sekunde (TOPS). Der Begriff umfasst auch Chips für Rechenzentren: Huawei bezeichnet seine Ascend-Beschleuniger für Rechenzentren als NPUs und verwendet sie zum Training großer Modelle.
Wie sich NPUs von CPUs und GPUs unterscheiden#
Bei Deep-Learning-Schlussfolgerungen dominieren Matrixmultiplikationen und Faltungen mit vorhersagbaren Daten. Deshalb verzichtet eine NPU größtenteils auf die Steuerlogik und Zwischenspeicherung, die eine CPU für allgemeinen Code benötigt, sowie auf die Flexibilität, die eine GPU für Grafik behält. Stattdessen fließt die Chipfläche in Rechenarrays mit festgelegter Funktion. Gewichte und Aktivierungen werden im lokalen Speicher gehalten, da der Datentransport mehr Energie kostet als die Berechnung. NPUs rechnen außerdem mit niedriger Präzision, vor allem mit INT8 und FP16. Deshalb muss ein Modell vor dem Einsatz häufig quantisiert werden und wird die NPU-Leistung in INT8-TOPS angegeben. Googles Coral Edge TPU erreicht beispielsweise 4 TOPS bei 2 TOPS pro Watt.
- CPU: Führt beliebigen Code aus, übernimmt nicht von einer NPU unterstützte Operationen und ist bei großen Matrixberechnungen am langsamsten der drei Prozessoren.
- GPU: Ein programmierbarer Parallelprozessor, der Modelle mit hohem Durchsatz in Gleitkommaarithmetik trainiert und ausführt, dabei aber mehr Strom verbraucht als eine NPU.
- TPU: Googles Familie von Matrixbeschleunigern. Cloud-TPUs trainieren und betreiben Modelle in Rechenzentren, während die Edge TPU im Grunde eine NPU ist.
- Neuromorphe Chips: Verarbeiten Impulse aus impulsbasierten neuronalen Netzen und eignen sich für ereignisgesteuerte Sensoren. Ihr Berechnungsmodell unterscheidet sich von der dichten Matrixrechnung einer NPU.
Ein Modell auf einer NPU ausführen#
Eine NPU führt ein kompiliertes Programm statt eines PyTorch- oder ONNX-Graphen aus. Ein Compiler des Herstellers wandelt das Netzwerk vorab oder beim Laden durch die Laufzeitumgebung um, quantisiert es häufig anhand von Kalibrierungsbildern auf INT8, legt meist die Eingabeform fest und ordnet jede Schicht der Hardware zu. Schichten, die die NPU nicht unterstützt, werden an CPU oder GPU zurückgegeben. Bei jeder Übergabe werden Tensoren zwischen den Prozessoren kopiert:
Jede Ausweichverarbeitung verursacht zusätzliche Übertragungen und lässt einen Prozessor warten, während der andere arbeitet. Deshalb bevorzugen Architekturen für Edge-Geräte gängige Operatoren wie Faltungen, Aktivierungsfunktionen aus der ReLU-Familie und Pooling. Laufzeitumgebungen wie ONNX Runtime, Apples Core ML, Googles LiteRT und Intels OpenVINO übernehmen diese Aufteilung und wählen die NPU aus, sofern eine vorhanden ist.
Einsatzbereiche von NPUs#
Smartphones nutzen ihre NPUs für computergestützte Fotografie, Spracherkennung auf dem Gerät, Gesichtserkennung und Live-Übersetzungen. Dadurch bleiben Bilder und Audiodaten zum Schutz der Privatsphäre auf dem Gerät. Auf KI-PCs übernehmen Windows Studio Effects mit der NPU Hintergrundunschärfe, Blickkontaktkorrektur und automatische Bildausschnitte für Videoanrufe, sodass CPU und GPU frei bleiben. Im Bereich der Edge-KI führen NPUs von Rockchip, Hailo und DEEPX Objekterkennung direkt in Überwachungskameras, Drohnen und Robotern aus, ohne dass eine Netzwerkverbindung erforderlich ist.
Ultralytics YOLO26 exportiert über den Exportmodus in die kompilierten Formate, die diese NPUs benötigen. Dazu zählen OpenVINO für Intel-NPUs, Core ML für die Apple Neural Engine, QNN für Qualcomms Hexagon NPU, RKNN für Rockchip sowie das Format .om für Huawei Ascend. Das Training lässt sich ebenfalls auf Ascend-NPUs ausführen, die mit device="npu:0" oder device="npu:0,1" für das Training mit mehreren NPUs ausgewählt werden.










