Neural Processing Unit (NPU)
Was ist eine Neural Processing Unit (NPU)?
Die Neural Processing Unit (NPU) oder auch neuronale Verarbeitungseinheit ist ein Mikrochip, der extra für beschleunigte Aufgaben in den Bereichen künstliche Intelligenz (KI), Deep Learning und maschinelles Lernen (ML) gedacht ist. NPUs sollen die Verarbeitungsfunktion des menschlichen Gehirns nachahmen und basieren auf neuronalen Netzwerken.
Hauptsächlich werden Neural Processing Units für parallele Verarbeitung mit geringer Latenz eingesetzt, wie beispielsweise Spracherkennung, Verarbeitung von Fotos, Videos und natürlicher Sprache sowie Erkennung von Objekten und Algorithmen für das Deep Learning.
Wie funktionieren Neural Processing Units?
Normale CPUs sollen bestimmte Berechnungen durchführen, auf die sie programmiert sind, NPUs hingegen sollen spezifische Problemlösungen bereitstellen. Durch die Eingabe von unterschiedlichen Daten lernen NPUs und stellen so im Laufe der Zeit durch maschinelles Lernen individuelle Lösungen bereit, ohne dass Sie die NPU manuell neu programmieren müssen.
Neural Processing Units verfügen über Multiplikation-, Additions-, Dekomprimierungs- und 2D-Datenoperationsmodule. Deshalb sind unter anderem Berechnungen von Matrixmultiplikation und -addition, Faltungen und Punktprodukten möglich, die zu den Anwendungen von neuronalen Netzen gehören.
Da in NPUs vereinfachte Hochleistungskerne enthalten sind, die nicht mehrere Aufgabenarten ausführen, ist eine parallele Verarbeitung möglich und KI-Workloads werden beschleunigt. Außerdem nutzen NPUs synaptische Gewichte in Form von Berechnung und Storage: Diese Berechnungsvariable wird Netzwerkknoten zugewiesen und kann so die Wahrscheinlichkeit des „erhofften“ Ergebnisses angeben. Auch diese Berechnungsvariable wird genauer und lernt dazu.
Was sind die Vorteile von Neural Processing Units?
NPUs sollen andere Prozessoren wie CPUs und GPUs nicht ersetzen, aber sie verbessern in Kombination die Leistung von bestehenden Systemen. Besonders tun sie sich aber bei bestimmten Aufgaben hervor. Hier sind die wichtigen Vorteile von Neural Processing Units:
- parallele Verarbeitung: Bei der parallelen Verarbeitung wird eine komplexe Aufgabe in mehrere Komponenten zerlegt, die anschließend gleichzeitig bearbeitet werden. GPUs sind dazu auch in der Lage, aber NPUs benötigen aufgrund ihres Aufbaus weniger Energie und weniger Platz.
- Energieeffizienz: Die bereits erwähnte, verbesserte Energieeffizienz im Vergleich mit GPUs ist auch deshalb wichtig, weil KI-Workloads und High Performance Computing immer öfter eingesetzt werden. Solche Berechnungen sind sowieso schon sehr energieintensiv, da bietet sich der Einsatz von NPUs an, um Ressourcen zu schonen. Bei gleichem Energieverbrauch können NPUs bis zu 100-mal schneller sein als eine vergleichbare GPU.
- Echtzeitverarbeitung von Multimediadaten: Da NPUs Daten wie Sprache, Bild oder Video verarbeiten, werden sie zum Beispiel bei Robotikanwendungen, IoT-Geräten oder Wearables eingesetzt, um in Echtzeit Reaktionen zu liefern. Das erleichtert Betriebsabläufe, wenn Lösungen oder Feedback schnell bereitgestellt werden, insbesondere bei Vorgängen, in denen die Reaktionszeit entscheidend ist.
- High-Bandwidth Memory: Durch das High-Bandwidth Memory auf dem Chip können bei KI-Workloads die großen Datensätze effizient verarbeitet werden.
- Beschleunigung von Hardware: Dank dem verbesserten Design der NPUs können Hardwarebeschleunigungstechniken wie verbesserte Tensorverarbeitung oder systolische Array-Architekturen integriert werden.
- Arithmetik mit niedriger Präzision: Die Komplexität von Berechnungen wird verringert und die Effizienz der Energie erhöht, da NPUs Operationen mit acht Bit oder weniger unterstützen.
- Inferenzbeschleunigung: NPUs werden zur Inferenzbeschleunigung eingesetzt, das heißt, es werden Daten wie beispielsweise ein Bild eingespeist, anschließend mit einem existierenden und trainierten Modell verarbeitet und so entsteht ein Ergebnis.
Wo werden Neural Processing Units eingesetzt?
Oft werden NPUs in heterogenen Architekturen eingesetzt, gemeinsam mit GPUs und CPUs. Rechenzentren erlauben auch den alleinigen Einsatz von NPUs, die dann direkt auf dem Motherboard verbaut werden.
Wenn Neural Processing Units in IoT-Geräten eingesetzt werden, können KI-Aufgaben lokal und ohne Cloud-Anbindung verarbeitet werden.
Aktuell werden NPUs beispielsweise in PCs und Notebooks eingesetzt, unter anderem bei den Core-Ultra-Prozessoren von Intel oder den Snapdragon-X-Elite-Prozessoren von Qualcomm in Kombination mit GPUs und CPUs.
Neben dem Einsatz in Rechenzentren, um dort KI-Workloads noch leistungsfähiger zu machen, werden NPUs auch in Mobilgeräten wie Smartphones oder Tablets verbaut, um Sprachassistenten und Kameras zu verbessern. Hier sind sie meist mit System-on-Chip (SOC) kombiniert. In Apples Bionic-Chip werden NPUs für die Stabilisierung von Videos und Fotokorrektur eingesetzt, bei Samsung Galaxy beispielsweise für Bixby Vision. In Fernsehern können Neural Processing Units genutzt werden, um ältere Beiträge trotzdem in 4K-Auflösung zu zeigen. Auch in Smart-Home-Geräten werden NPUs eingesetzt, unter anderem für Stimmerkennung.