Qualcomm Hexagon 685 DSP ist ein Segen für maschinelles Lernen

Der Snapdragon 845 - das neueste System-on-Chip in der Snapdragon-Familie von Qualcomm - ist das Kraftpaket eines Prozessors. Es verfügt über schnelle CPU-Kerne, einen Spectra-Bildsignalprozessor (ISP) der dritten Generation und eine Architektur, die 30 Prozent stromsparender ist als die vorherige Generation. Die wohl beeindruckendste Komponente ist jedoch ein Co-Prozessor - der Hexagon 685 DSP - der auf künstliche Intelligenz und maschinelles Lernen zugeschnitten ist.

Warum tickt der Hexagon 685 DSP von Qualcomm?

Die Hexagon-DSP-Architektur in Snapdragon 835. Quelle: Qualcomm

„Vektormathematik ist die Grundlage für tiefes Lernen.“ - Travis Lanier, Senior Director Product Management bei Qualcomm

Um zu verstehen, was den Hexagon-DSP so einzigartig macht, ist es hilfreich zu wissen, dass die KI von der Art von Mathematik-College-Ingenieuren abhängt, mit der sich die Majors bestens auskennen. Beim maschinellen Lernen wird mit großen Vektoren gerechnet, was für Smartphones, Tablets und PC-Prozessoren eine Herausforderung darstellt. Für Allzweckchips ist es schwierig, Algorithmen wie den stochastischen Gradientenabstieg - die Art von Algorithmen, die den Kern von AI-gestützten Apps bilden - schnell und effizient zu berechnen. Der Hexagon DSP von Qualcomm wurde zum Teil eingeführt, um dieses Problem zu lösen: Er eignet sich hervorragend für die Verarbeitung von Bild- und Sensordaten, insbesondere für die Fotografie.

Der Hexagon DSP kann jedoch weit mehr als nur Selfies aufpeppen. Die enthaltenen HVX-Kontexte (dazu später mehr) bieten den Vorteil sowohl von Universalprozessoren als auch von Kernen mit festen Funktionen. Der Hexagon 685 DSP bietet eine hervorragende Effizienz bei der Berechnung der Rechenleistung für das maschinelle Lernen auf dem Gerät, behält jedoch die Flexibilität besser programmierbarer Prozessoren bei.

KI-Chips wie der Hexagon 685 DSP, die manchmal als "neuronale Verarbeitungseinheiten", "neuronale Engines" oder "maschinelle Lernkerne" bezeichnet werden, sind speziell auf die mathematischen Anforderungen von KI-Algorithmen zugeschnitten. Sie sind im Design viel starrer als herkömmliche CPUs und enthalten spezielle Anweisungen und Anordnungen (im Fall des Hexagon 685 DSP die oben erwähnte HVX-Architektur), mit denen bestimmte Skalar- und Vektoroperationen beschleunigt werden, die sich in umfangreichen Implementierungen bemerkbar machen.

Der Hexagon 685 DSP des Snapdragon 845 kann im Vergleich zu den Hunderten von Bits des durchschnittlichen CPU-Kerns pro Zyklus Tausende von Bits an Vektoreinheiten pro Verarbeitungszyklus verarbeiten. Das ist so gewollt. Mit vier parallelen skalaren Threads für VLIW-Operationen (Very Long Instruction Word) und mehreren HVX-Kontexten ist der DSP in der Lage, mehrere Ausführungseinheiten mit einer einzigen Anweisung zu jonglieren und durch Ganzzahl- und Festkomma-Dezimaloperationen zu blitzen.

Das Design des Hexagon 685 ist nicht auf rohe MHz ausgelegt, sondern zielt auf ein hohes Maß an Arbeit pro Zyklus bei reduzierter Taktrate ab. Es enthält Hardware-Multithreading, das für VLIW gut geeignet ist, da durch Multithreading Pipeline-Latenzen ausgeblendet werden, die eine bessere Nutzung von VLIW-Paketen ermöglichen. Das Multithreading des DSP ermöglicht es, mehrere Offload-Sitzungen - dh gleichzeitige Apps für Audio, Kamera, Computer Vision usw. - zu verwalten und verschiedene Aufgaben gleichzeitig zu beschleunigen, sodass Anwendungen nicht um die Ausführungszeit kämpfen müssen.

Quelle: Qualcomm

Aber das sind nicht die einzigen Stärken des Hexagon DSP. Die Befehlssatzarchitektur (ISA) bietet dank des verbesserten Steuercodes eine verbesserte Effizienz gegenüber herkömmlichem VLIW und verwendet clevere Tricks, um die Leistung von inaktiven und blockierten Threads wiederherzustellen. Es implementiert auch das Round-Robin-Thread-Scheduling ohne Latenz, was bedeutet, dass die DSP-Threads neue Anweisungen sofort nach Fertigstellung des vorherigen Datenpakets verarbeiten.

Quelle: Qualcomm

Nichts davon ist neu, um es klar zu sagen. Qualcomm führte 2015 neben dem Snapdragon 820 den Hexagon DSP der ersten Generation (oder den richtigen) - den Hexagon 680 oder den QDSP6 v6 - ein. Auf den Hexagon 680 folgte der noch etwas verbesserte Hexagon 682 Die Generation ist die bisher ausgereifteste und bietet die dreifache Gesamtleistung des DSP des Snapdragon 835.

Dies ist zum großen Teil der HVX zu verdanken, die sich sehr gut für die Bildverarbeitung eignet (Think Augmented Reality, Computer Vision, Video und Bilder). Die HVX-Register des DSP können von zwei beliebigen Skalarregistern gesteuert werden, und die HVX-Einheiten und Skalareinheiten können gleichzeitig verwendet werden, was zu erheblichen Leistungssteigerungen und Parallelität führt.

Hier ist die Erklärung von Qualcomm:

„Angenommen, Sie bearbeiten die mobile CPU im Steuercodemodus und wechseln auf dem Coprozessor in den Rechenmodus. Wenn Sie einen Steuercode benötigen, müssen Sie anhalten und vom Coprozessor zur Haupt-CPU zurückkehren. Mit Hexagon können sowohl der Steuercode-Prozessor im DSP als auch der Rechencode-Prozessor in HVX gleichzeitig ausgeführt werden, um eine enge Kopplung von Steuer- und Rechencode zu gewährleisten. Auf diese Weise kann der DSP das Ergebnis einer HVX-Berechnung im nächsten Taktzyklus für eine Steuercodeentscheidung verwenden. “

Die HVX bietet einen weiteren großen Vorteil bei der Verarbeitung von Bildsensoren. Snapdragon-Geräte mit dem Hexagon 685-DSP können Daten direkt vom Bildgebungssensor an den lokalen Speicher des DSP (L2-Cache) übertragen, wobei der DDR-Speichercontroller des Geräts umgangen wird. Das reduziert natürlich die Latenz, verbessert aber auch die Akkulaufzeit.

Es ist speziell für 16-Bit-Fließkommanetzwerke optimiert und wird von der maschinellen Lernsoftware von Qualcomm gesteuert: Snapdragon Neural Processing Engine.

"Wir haben es sehr ernst genommen", sagte ein Sprecher von Qualcomm. „Wir haben in den letzten drei Jahren mit Partnern zusammengearbeitet, um sie dazu zu bringen, […] unser Silizium für KI und Bildgebung zu verwenden.“

Zu diesen Partnern gehört Google, das den Bildverarbeitungsteil des Hexagon DSP beispielsweise für den HDR + -Algorithmus von Pixel und Pixel 2 verwendete. Auch wenn Google einen eigenen Pixel Core eingeführt hat, ist zu erwähnen, dass Geräte mit Hexagon 685-DSP die besten Ergebnisse mit dem berühmten Google Camera-Port erzielen, was auch (wie wir bestätigt haben) auf die HVX-Auslastung zurückzuführen ist. Facebook, ein weiterer Partner, arbeitete eng mit Qualcomm zusammen, um die Echtzeitkamerafilter und -effekte von Messenger zu beschleunigen.

Oppo hat seine Face-Unlock-Technologie für den Hexagon 685 DSP optimiert und Lenovo hat seine Landmark Detection-Funktion entwickelt.

Ein Grund für die Unterstützung der Plattform ist ihre Einfachheit. Das umfangreiche Hexagon SDK von Qualcomm unterstützt die Halide-Sprache für eine leistungsstarke Bildverarbeitung, und Sie müssen sich keine Gedanken über maschinelles Lernen machen. Die Implementierung eines Modells ist in den meisten Fällen so einfach wie das Ausführen eines API-Aufrufs.

„Wir konkurrieren nicht […] mit IBM und Nvidia [in AI], aber wir haben Bereiche, die Entwickler erschließen können - und das bereits“, sagte Qualcomm gegenüber Entwicklern.

Hexagon gegen die Konkurrenz

Der Hexagon 685 DSP des Snapdragon 845 wird von einer zunehmenden Anzahl von Originalausrüstungsherstellern (OEMs) verwendet, die eigene AI-Lösungen für Mobilgeräte und Geräte entwickeln. Das Huawei Kirin 970 - das System-on-Chip im Mate 10 und Mate 10 Pro - verfügt über eine „neuronale Prozessoreinheit“ (NPU), die Berichten zufolge mehr als 2.000 Bilder pro Sekunde bei nur einem Fünftel des durchschnittlichen Stromverbrauchs erkennen kann Smartphone-CPU. Das Apple A11 Bionic System-on-Chip im iPhone 8, iPhone 8 Plus und iPhone X verfügt über eine „Neural Engine“, die Gesichtsmodelle in Echtzeit und bis zu 600 Milliarden Operationen pro Sekunde ausführt.

Aber Qualcomm sagt, dass die Plattformunabhängigkeit des Hexagons ihm einen Vorteil verschafft. Im Gegensatz zu Apple und Huawei, die Entwickler zum größten Teil dazu zwingen, proprietäre APIs zu verwenden, war Qualcomm bestrebt, einige der beliebtesten Open-Source-Frameworks von Anfang an zu unterstützen. In Zusammenarbeit mit Google wurde beispielsweise TensorFlow, Googles Plattform für maschinelles Lernen, für den Hexagon 685 DSP optimiert. Qualcomm gibt an, dass er bis zu achtmal schneller und 25mal energieeffizienter als auf Nicht-Hexagon-Geräten ist.

Quelle: Qualcomm

In Bezug auf die DSP-Architektur von Qualcomm zeigte GoogLeNet Inception Deep Neural Network, ein Algorithmus zum maschinellen Lernen, mit dem die Qualität von Objekterkennungs- und -klassifizierungssystemen bewertet werden soll, Vorteile in einer Demo, in der eine mit TensorFlow betriebene Bilderkennungs-App auf zwei Smartphones gezeigt wurde: Eine App, auf der die App ausgeführt wird auf der CPU und auf der anderen, die es auf dem Hexagon DSP von Qualcomm ausführt. Die DSP-beschleunigte Smartphone-App zeichnete mehr Bilder pro Sekunde auf, identifizierte Objekte schneller und konnte mit größerer Sicherheit feststellen, um welches Objekt es sich handelt als die reine CPU-App.

Google beschleunigt mit dem DSP Hexagon 685 Project Tango, die Augmented-Reality-Plattform für Smartphones. Das Phab 2 Pro von Lenovo, das ZenFone AR von Asus und andere Geräte mit dem Tiefenerkennungs-IR-Modul und Bildverfolgungskameras von Tango nutzen die heterogene Verarbeitungsarchitektur von Qualcomm, die die Verarbeitungsaufgaben auf den Hexagon 685 DSP, den Sensor-Hub und das Bild des Snapdragon-Chipsatzes überträgt Signalprozessor (ISP). Das Ergebnis ist laut Qualcomm ein Overhead von „weniger als 10 Prozent“ für die System-on-Chip-CPU.

"Soweit wir wissen, sind wir die einzigen mobilen Mitarbeiter, die hinsichtlich Leistung und Energieeffizienz optimiert sind", sagte ein Qualcomm-Sprecher.

Natürlich arbeiten die Wettbewerber auch daran, ihren Einflussbereich zu erweitern und die Entwicklerunterstützung auf ihren Plattformen zu fördern. Der neuronale Chip des Kirin 970 wurde mit Unterstützung für TensorFlow und Caffe (Facebooks offenes API-Framework) zusätzlich zu den Kirin-APIs von Huawei eingeführt. Die Integration von TensorFlow Lite und Caffe2 ist noch in diesem Jahr geplant. Und Huawei arbeitete mit Microsoft zusammen, um seinen AI-betriebenen Übersetzer für den Mate 10 zu optimieren.

Qualcomm hat aber noch einen weiteren Vorteil: Reichweite. Der Chiphersteller hatte im ersten Halbjahr 2017 einen Marktanteil von 42 Prozent am Smartphone-Chip-Markt, gefolgt von Apple und MediaTek mit jeweils 18 Prozent, so Strategy Analytics. Es genügt zu sagen, es zittert noch nicht in seinen Stiefeln.

Und Qualcomm sagt voraus, dass es nur wachsen wird. Der Chiphersteller prognostiziert bis 2025 einen Umsatz von 160 Milliarden US-Dollar mit AI-Softwaretechnologien wie Computer Vision und sieht den Smartphone-Markt - der bis 2021 voraussichtlich 8, 6 Milliarden Einheiten erreichen wird - als die größte Plattform.

Mit dem Hexagon 685 DSP und anderen „tertiären“ Verbesserungen, die sich kontinuierlich auf die Hardware der Mittelklasse auswirken, ist es für Qualcomm-Chips auch in naher Zukunft einfacher, maschinelles Lernen auf allen Arten von Geräten zu ermöglichen. Sie bieten Entwicklern auch ein praktisches SDK (ohne sich mit der DSP-Assemblersprache herumschlagen zu müssen), um die Vorteile von Hexagon 685 DSP und HVX für ihre Anwendungen und Dienste zu nutzen.

„Diese dedizierten Verarbeitungseinheiten werden für die neuronale Verarbeitung benötigt, aber Sie müssen sie auch erweitern, damit Sie [Open Source] -Frameworks unterstützen können“, sagte ein Qualcomm-Sprecher. „Wenn Sie dieses Ökosystem nicht erstellen, können […] Entwickler es nicht erstellen.“