Suchen

GPUs, DSPs, FPGAs oder eigene CPUs

Welche Hardware eignet sich besser zur KI-Beschleunigung?

| Autor: Sebastian Gerstl

Moderne Hardwarebeschleuniger haben den praktikablen Einsatz von Künstlicher Intelligenz in IT und Industrie in greifbare Nähe gerückt. Doch welche Technologie eignet sich hierfür besser: GPUs, DSPs, programmierbare FPGAs oder eigene, dedizierte Prozessoren?

Firmen zum Thema

Welche Ansprüche stellt Künstliche Intelligenz (KI) an Hardware und welche Technologien werden diesen am besten gerecht?
Welche Ansprüche stellt Künstliche Intelligenz (KI) an Hardware und welche Technologien werden diesen am besten gerecht?
(Bild: Pixabay / CC0)

Künstliche Intelligenz und maschinelles Lernen – diese Themen existieren nicht erst seit heute. An Hochschulen wird das Thema bereits seit den 1950er Jahren behandelt. Doch erst in den vergangenen Jahren haben Demonstrationen wie der selbstlernende AlphaGo-Computer oder ausgiebige Tests zum Autonomen Fahren dafür gesorgt, dass KI inzwischen ein greifbares Thema ist, das auch bereits praktische Anwendung im Alltag findet. Vor allem die Geschwindigkeit und das Ausmaß, mit dem sogenannte neuronale Netzwerke trainiert werden können, haben in den vergangenen Jahren rapide zugenommen.

Moderne, dediziert auf KIs ausgerichtete Hardware-Beschleuniger, haben eine praktische Anwendbarkeit künstlicher Intelligenz in Echtzeit heute möglich gemacht. Dabei sind die technologischen Ansätze für eine solche dedizierte KI-Beschleunigung extrem unterschiedlich. So hat beispielsweise Prozessorhersteller Intel KI zu einem wichtigen Trendthema ausgerufen, das auf verschiedenen technologischen Wegen verfolgt wird: Einerseits wird maschinelles Lernen auf Basis von FPGAs vorangetrieben, andererseits offeriert das Unternehmen mit Nervana eigene dedizierte, auf neuronale Netzwerke ausgelegte Prozessoren. Speziell im letzteren Umfeld konkurriert der Chip-Gigant mit, fördert aber auch zahlreiche Startup-Unternehmen, die eigene Chip-Lösungen zur KI-Beschleunigung bieten.

Bildergalerie

Bildergalerie mit 6 Bildern

Der ideale "neurale" Prozessor: CPU, GPU oder FPGA? Oder doch ein dedizierter ASIC?

„Grundsätzlich ist es falsch zu fragen: Was ist besser für Künstliche Intelligenz –GPU, ASIC oder FPGA?“, sagt Doug Burger, Distinguished Engineer, MSR NExT und Mitglied von Microsofts "Project Brainwave"-Team. „Denn diese Technologien sind alle nur Mittel zum Zweck, um eine geeignete Architektur für ein neuronales Netzwerk umzusetzen. Die Frage, die noch nicht beantwortet ist, lautet: Was ist die am besten geeignete Architektur? Hierüber ist man sich noch uneins.“

Grafikkarten von NVIDIA hatten in den vergangenen Jahren vor allem in akademischen Kreisen zunehmend Anwendung zum Trainieren von selbstlernenden Algorithmen gefunden. Denn die massiv parallelen Architekturen von GPUs und ihre explizite Eigenschaft für hohe Datendurchsätze eigenen sich nicht nur zur Grafikberechnung, sondern auch zur KI-Beschleunigung. Daher bietet der GPU-Hersteller inzwischen eigene, dedizierte auf die Anwendung von KI ausgelegte Plattformen wie Jetson, deren Herzstück die Graphics Processing Unit liefern.

Aber nicht nur GPUs verfügen über gute Eigenschaften für hohes, paralleles Data Streaming. Es ist genau diese Eigenschaft, die auch FPGAs für den Einsatz in der Telekommunikation oder als Co-Prozessoren in Datenzentren attraktiv macht. Auch DSPs, Digitale Signal-Prozessoren, kommen aus ganz ähnlichen Gründen für die zusätzliche Hardware-Beschleunigung in Betracht, um KI in Echtzeit anwendbar zu machen. Und Google, das erst kürzlich seine Tensor Processing Unit (TPU) 3.0 vorgestellt hat, setzt in seinem Chip auf eine Reihe anwendungsspezifischer integrierter Schaltkreise (ASIC), die die nötige Beschleunigung zum KI-Training liefern.

Bei all diesen unterschiedlichen Ansätzen wird es allerdings schwierig, den Überblick zu behalten und die bereits vorhandenen technologischen Ansätze effizient zu vergleichen. Worauf kommt es bei der Hardware-Beschleunigung für künstliche Intelligenz konkret an? Was sind die individuellen Stärken der jeweiligen technologischen Ansätze, wenn es um dieses Anwendungsfeld geht? In welchen Bereichen können diese Vorzüge am besten ausgespielt werden? Zu diesem Zweck haben wir diverse Entwickler und Lösungsanbieter zu diesem Thema befragt. Geantwortet haben unter anderen Cadence, Intel, Lattice, Microsoft, NVIDIA und einige andere Firmen. Hier geht es zu den ausführlicheren Statements von Cadence, Lattice und NVIDIA.

Hyperskalige Rechenzentren ermöglichen KI für Jedermann

Enorme Rechenleistung ist ohnehin einer der Hauptgründe, warum KI aktuell einen Boom durchläuft und die Anwendbarkeit praktikabel macht. Cloud-Computing, schnelle Internet-Verbindungen und der aus diesen Aspekten resultierende, leichte Zugang zu leistungsstarken Rechenzentren machen Supercomputer bzw. HPCs (High Performance Computing) nun gewissermaßen für Jedermann zugänglich. Es ist in erster Linie an dieser Stelle, wo ein Großteil der modernen, für KI angelegten Hardware ansetzt.

Ein großer Durchbruch für die moderne Wahrnehmung von Künstlicher Intelligenz in praktischen Anwendungen kam im Juni 2012 im Rahmen des Google-Brain-Projekts: KI-Forscher von Google und Professor Andre Ng von der Stanford University hatten einen KI-Cluster trainiert, der in der Lage war, selbsttätig Katzen in YouTube-Videos zu erkennen und von Menschen zu unterscheiden. Für das Training der Künstlichen Intelligenz war dazu noch ein Cluster aus 2000 CPUs notwendig, die in einem Rechenzentrum von Google arbeiteten. Kurze Zeit später tat sich NVIDIA mit Ng zusammen, um das Experiment auf Basis von GPUs zu wiederholen. Das Ergebnis: 12 GPUs reichten für das KI-Training aus, um dasselbe Ergebnis zu erzielen, für das zuvor 2000 CPUs notwendig waren.

„Deep Learning ist eine KI-Technik, die maschinelles Lernen durch Training neuronaler Netze mit großen Datenmengen zur Problemlösung ermöglicht“, sagt Deep Learning Solution Architect Axel Köhler von NVIDIA. „Wie die 3D-Grafik ist auch das Tiefenlernen ein paralleles Rechenproblem, d.h. es müssen große Datenmengen gleichzeitig verarbeitet werden. Die Vielkern-Architektur des Grafikprozessors passt ideal für diese Art von Aufgaben.“

GPUs (Graphics Processing Units) wurden ursprünglich dazu konzipiert, um die Art und Weise, wie verschiedene 3D-Grafik-Engines ihren Code ausführen, gut abzubilden – Dinge wie Geometrie-Setup und -Ausführung, Textur-Mapping, Speicherzugriff und Shader. Um dies möglichst effizient zu bewerkstelligen – und vor allem um die zentrale CPU eines Rechners zu entlasten – sind GPUs mit zahlreichen speziellen Prozessorkernen ausgestattet, um diese Aufgaben mit hoher Parallelität möglichst schnell durchführen zu können. NVIDIA bezeichnet einzelne Recheneinheiten innerhalb der GPU entsprechend als "Streaming Multiprocessor" oder SM - je mehr SMs eine GPU hat, umso mehr parallele Aufgaben im Datendurchsatz kann der Baustein bewältigen. Dieser Aufbau, und speziell diese enorme Parallelität – kommt auch beim Training von KI-Algorithmen zu Gute.

Hohe Parallelität, großen Datendurchsatz und geringe Latenz versprechen auch FPGA-Bausteine. Die Logikbausteine werden häufig in Rechenzentren zur Unterstützung der CPUs eingesetzt, wo sie sich für schnelle Datenschnittstellen oder zur Datenvorverarbeitung sehr gut eignen, um die eingesetzten CPUs zu entlasten. „Bei einem breiten Feld von KI-Anwendungen im Rechenzentrum (darunter Reasoning Systeme, Machine Learning, Training und Inferenzen beim Deep Learning) werden Rechensysteme mit Intel Xeon Prozessoren verwendet,“ sagt Stephan Gillich, Director of Artificial Intelligence and Computing bei Intel Deutschland. „Vorteil ist, dass damit auch die klassische Datenanalyse auf diesen Systemen stattfindet. Bei Bedarf können die Xeon-basierten Plattformen mit Intels FPGAs (Field-Programmable-Gate-Arrays) beschleunigt werden, etwa für Echtzeitanalysen.“

FPGAs können, was die Unterstützung maschinellen Lernens im Rechenzentrum betrifft, allerdings auch mehr als das. Da ist zuerst einmal die Flexibilität, die FPGAs zu einfach rekonfigurierbarer Hardware macht. Die Algorithmen können sich also ändern. Eine FPGA-Implementierung lässt sich programmieren, um größte systemische Leistung zu erzielen – und stellt diese in einer sehr deterministischen Weise zur Verfügung – im Gegensatz zu einem CPU-basierten Ansatz, der Interrupts unterliegt. Dies erlaubt einen flexiblen Einsatz, der viele maschinelle Lernalgorithmen möglich macht – mit hochverteilten Logikressourcen, umfangreichen Interconnect-Schemata und umfangreichem verteilten lokalen Speicher.

Kernaspekte eines hyperskaligen Hochleistungsrechners

Eignen sich FPGAs durch ihre Flexibilität damit automatisch besser? NVIDIAs Axel Köhler hält dagegen: „Um die Herausforderung zu meistern, Deep Learning auf breiter Ebene umzusetzen, muss die Technologie insgesamt sieben Herausforderungen bewältigen: Programmierbarkeit, Latenz, Genauigkeit, Größe, (Daten-)Durchsatz, Energieeffizienz und Lernrate. Um diese Herausforderungen zu meistern, ist mehr als nur das Hinzufügen eines ASICs oder eines FPGAs zu einem Rechenzentrum erforderlich. Hyperscale-Rechenzentren sind die kompliziertesten Computer, die je gebaut wurden.“

Zudem gelten FPGAs – insbesondere High-End-FPGAs, wie sie im Datenzentrum angewendet werden, als wenig zugänglich für Entwickler, als kompliziert und schwierig zu programmieren. Köhler verweist hingegen auf die zahlreichen positiven Erfahrungen, die vor allem Hochschulen in der KI-Forschung auf Basis von GPUs erreicht haben – und die Verfügbarkeit von zahlreichen daraus resultierenden Frameworks, die die Entwicklung und das Training von KI-Algorithmen mit Hilfe von GPUs einfacher machen – in der Theorie jedenfalls.

Ein anderer Weg ist, auf dedizierte Prozessoren zu setzen, die ganz speziell auf die Anforderungen von neuronalen Netzwerken zugeschnitten sind. Intel hat hierfür beispielsweise den Neural Network Prozessor (NNP) Nervana im Sortiment – eine Technologie, die zusammen mit dem gleichnamigen Tech-Startup 2016 aufgekauft und ins Portfolio einverleibt wurde. „KI-Lösungen müssen zunehmend skalierbar und schnell sein, dabei immer größere Datenmodelle beherbergen“, sagt Stephan Gillich. „Die Architektur des Intel NNP wurde speziell für Deep Learning Training entwickelt und zeichnet sich durch hohe Flexibilität und Skalierbarkeit sowie einen schnellen und leistungsfähigen Speicher aus. Große Datenmengen können direkt auf dem Chip gespeichert und in kürzester Zeit abgerufen werden.“

Einen echten Leistungsvergleich der bestehenden unterschiedlichen Plattformen gibt es zwar aktuell noch nicht. Im August möchten Google, Baidu und die Universitäten Harvard und Stanford allerdings zu diesem Zweck die Machine-Learning-Benchmark MLPerf veröffentlichen.

Bildergalerie

Bildergalerie mit 6 Bildern

Kernmerkmale von KI-Hardware im Massenmarkt

Bislang war immer nur von der Cloud oder dem Rechenzentrum die Rede. Doch KI wird auch auf Edge-Geräten oder auf dem Massenmarkt für Endverbraucher eine wichtige Rolle spielen, wie alle der Befragten bekräftigten. „In zunehmendem Maß werden KI-Anwendungen in den Bereichen Mobile, AR/VR-Headset, Überwachung und Automotive für On-Device-KI-Anwendungen entstehen“, sagt etwa Pulin Desai, Product Marketing Director, Tensilica Vision DSP Product Line. „Aber gleichzeitig erfordern diese Märkte eine Mischung aus Embedded Vision und KI [auf den Endgeräten selbst], um eine breite Palette an erweiterten Funktionen zu bieten“.

Auch für den Einsatz von Machine Learning auf den Edge-bzw Endgeräten – die sogenannte Inferenz – existieren derzeit noch keine echten Vergleichswerte. Um in diesem Bereich für mehr Übersichtlichkeit zu sorgen, erarbeitet daher auch speziell für diesen Bereich die Industrieallianz für Embedded Systeme EEMBC eine entsprechende Benchmark-Suite.

Warum eine eigene Benchmark? Consumer-Endgeräte oder Produkte, die an der Edge zur Cloud arbeiten, haben andere Ansprüche als Supercomputer oder Hochleistungsrechner im Rechenzentrum. Eine KI-Lösung am Endmarkt muss zum einen Embedded arbeiten, wie Pulin Desai ausführt. „Für alle Märkte, vom Handy bis zum Automobil, muss eine große Menge an Daten 'on the fly' verarbeitet werden. Während das Training eines neuronalen Netzes meist offline stattfinden kann, müssen die Anwendungen, die [diese neuronalen Netze] nutzen, in ihr eigenes System eingebettet sein, unabhängig vom Markt.“ Und auch Energieeffizienz spielt eine weitaus wichtigere Rolle: „So wie wir keine Rechenzentren in unserem Auto oder auf unserem Gerät mit uns herumtragen, können wir auch keine [für KI] dedizierten Stromquellen mit uns herumtragen, wohin wir auch gehen.“

Peter Torelli, Präsident des EEMBC, relativiert dies etwas: „Eine einfache Kamera zur Gesichtserkennung oder ein Gerät, das Sprache in Text umwandelt, kann es sich nicht erlauben, auf eine 300W-GPU zurückgreifen zu müssen. In einem ADAS ist das aber durchaus machbar - für Level-5-Systeme sogar ein Muss“.

Auch Zukunftssicherheit spielt eine wichtige Rolle. „Da die Entwicklung der neuronalen Netzverarbeitung zunimmt, müssen die Produkte, die neuronale Netze in der Entwicklung verwenden, bis zur Auslieferung möglicherweise umprogrammiert werden. Die Plattform muss mit der Industrie wachsen können“, erläutert Desai weiter. Auch Deepak Boppana, Senior Director, Product und Segment Marketing bei Lattice Semiconductor, teilt diese Ansicht: „Letztendlich läuft es auf eine Kombination aus Flexibilität und Programmierbarkeit hinaus“, sagt er im Interview. Ihm zufolge muss ein Baustein zur KI-Beschleunigung an der Edge vor allem vier Aspekte erfüllen können, die im Rechenzentrum eine geringere Rolle spielen: Energieeffizienz, Chipgröße, Quantisierung (engl. ‚Quantization‘) und – in Kombination daraus – Kosten.

KI für den Edge-Einsatz– die Vorverarbeitung vor der Cloud

Zwar betont NVIDIA auch, seine GPU-Lösungen End-to-End anbieten zu können – nicht nur fürs Rechenzentrum, auch fürs Endgerät seien die Lösungen veritabel. Deepak Boppana von Lattice hält dem entgegen, dass CPU- und GPU-Lösungen für den Einsatz auf dem Endgerät teilweise zu leistungsstark seien – und demgemäß auch leistungshungriger. „Beim maschinellen Lernen gibt es die Frage der Quantisierung, insbesondere die Größe der Bitrate, mit der Ihr KI-Modell läuft“, sagt Boppana. „Je mehr Bits Sie haben - wie z.B. 16 Bits - desto besser ist die Genauigkeit Ihrer endgültigen Lösung. Aber Sie werden auch mehr Leistung ziehen".

Eine skalierbare Lösung, wie beispielsweise ein Low-End-FPGA, sei hier deutlich praktikabler. „In Anwendungen, in denen Sie nicht wirklich eine hohe Genauigkeit benötigen, können Sie eine geringere Quantisierung verwenden – wie z.B. 8-Bit oder bis hinunter zu 1-Bit“, sagt Boppana. „Das ermöglicht dem Kunden viel mehr Flexibilität in Bezug auf seine Designspezifikation. GPUs und CPUs bieten in der Regel nur 16 Bit, unabhängig davon, ob Sie so viel Genauigkeit benötigen oder nicht - was in der Regel viel mehr Strom verbraucht“. Ein Smart Speaker, eine simple Smart-Home-Anwendung oder ein KI-Assistent auf dem Smartphone kämen hierfür etwa in Betracht. Anzumerken ist, dass hier von Low-End-FPGAs mit einer relativ geringen Zahl an programmierbaren Logikelementen die Rede ist – nicht von High-End-Bausteinen mit über vier Millionen programmierbaren Logikeinheiten, wie sie im Rechenzentrum zum Einsatz kommen.

Wenn es vor allem um KI im Zusammenhang mit Embedded Vision geht, hält Pulin Deesai von Cadence entgegen, würden sich DSPs zunehmend als eine beliebte Lösung erweisen. Diese können ebenfalls ohne Taktfrequenzen zur Signalverarbeitung, hohe Parallelität dank in die Architektur integrierte Prozessor-Pipelines und – durch die Integrierbarkeit als IP in ein SoC oder ASIC - geringe Fläche und Strombedarf auszeichnen.

Hier stellt sich wie so häufig die Vor- und Nachteilsfrage von ASICs vs FPGAs: ASICs erfordern in der Regel eine langwierige erste Entwicklungsphase, sind aber im Anschluss in der Massenfertigung günstiger, gelten als schneller und effizienter als FPGAs und sind durch ihre Entwicklung hin auf ein spezielles Anwendungsfeld einfacher in der Handhabung. FPGAs gelten hingegen kompliziert im Umgang, haben aber durch ihre Wiederprogrammierbarkeit einen großen Vorteil, was Zukunftssicherheit, geringe wiederkehrende Kosten und Time-to-Market betrifft.

Bei KI-Hardware kommt es immer auf die Anwendung an

Welche Hardware ist nun für Künstliche Intelligenz am besten geeignet? „Jeder Anwendungsfall stellt bestimmte Anforderungen an die verwendete Technologie“, sagt Stephan Gillich von Intel. Daher bietet das Unternehmen neben den bereits erwähnten FPGA- und NNP-basierten Ansätzen auch weitere, auf spezielle Bedürfnisse zugeschnittene Lösungen an, etwa für Computervision Movidius), intelligente Sprache und Audio (GNA), Cognitive Computing Software (Saffron) oder das Autonome Fahren (der Mobileye eyeQ-SoC, den Intel in der Vergangenheit mit der GPU-gestützten Plattform NVIDIA Xavier verglichen hat).

Wie sieht es von Seiten von Firmen aus, die nicht die Hardware für KI-Einsatz produzieren, diese aber für ihre Lösungen nutzen möchten? „Was das Training neuronaler Netzwerke betrifft, haben in den letzten Jahren schnellere Internetverbindungen und umfangreichere Cloud-Angebote neue Möglichkeiten geschaffen“, sagt Sandro Cerato, Chief Technology Officer der Division Power Management & Multimarket bei der Infineon Technologies AG. Anbieter wie Amazon Web Services (AWS), Microsofts Azure Cloud oder die Webdienste des chinesischen Betreibers Alibaba ermöglichen nun gewissermaßen jedem den Zugang zu Hochleistungsrechenzentren bzw. HPCs (High Performance Computing). Microsoft setzt in seinen Rechenzentren und im KI-Unterfangen "Project Brainwave" beispielsweise auf eine Kombination aus Intel Xeon-Prozessoren und Stratix-10-FPGAs.

Künstliche Intelligenz für Jedermann erfordert Umdenken

„Nutzt man Clouddienste für das Training von neuronalen Netzwerken scheint es erst einmal unerheblich, welche Hardware hierfür zu Grunde liegt. Mit Tools, Frameworks und Bibliotheken unter Open-Source-Lizenz, wie Tensorflow oder Caffe und entsprechenden Datensätzen, mit denen die künftige KI trainiert werden soll, lässt sich Maschinelles Lernen relativ einfach bewerkstelligen“, führt Sandro Cerato aus eigener Erfahrung weiter aus. „Zudem ist nur ein Minimum an eigenem Softwarecode nötig – egal ob auf GPUs, CPUs, NPPs oder FPGAs. Möchte man eine KI auf eigener Hardware trainieren, sind allerdings Abwägungen zu treffen – vor allem wenn die Frage vorherrscht, wie schnell es gehen soll.“

Damit der Übergang von Training zu Inferenz möglichst nahtlos vonstatten gehen kann, macht sich hier NVIDIA besonders für seinen End-to-End-Ansatz stark: „Unser Hardware- und Software-Stack umfasst das gesamte KI-Ökosystem, sowohl in der Trainings- als auch in der Inferenzierungsphase“, sagt Axel Köhler von NVIDIA. „Von der Cloud über das lokale KI-Rechenzentrum bis hin zu intelligenten IoT-Geräten und einzelnen Workstations ist es das Ziel von NVIDIA, die KI zu demokratisieren, indem die wesentlichen Tools mit den Fähigkeiten, Formfaktoren und Skalierbarkeiten, die Entwickler, Wissenschaftler und IT-Manager benötigen, breit verfügbar gemacht werden.“

Deepak Boppana von Lattice sieht das kritischer: Um mit einem solchen Ansatz seine Geräte mit KI auszustatten, müssten bestehende Designs von Grund auf umgekrempelt und neu konzipiert werden. Dabei bestehe bei einem FPGA-basierten Ansatz für Entwickler keine große Notwendigkeit, sich mit neuer Hardware auseinanderzusetzen. „Es ist nicht einfach, eine handelsübliche Chip-Lösung einzubauen, die sich nahtlos in ein bestehendes Design integrieren lässt. FPGAs können die Technologie besser in diese bestehenden Designs integrieren“, sagt Boppana.

„Man kann diesem Problem nicht ausweichen“ sagt Peter Tovelli vom EEMBC. „Entwickler werden sich hinsichtlich der [KI-]Modelle, die sie implementieren möchten weiterbilden müssen, ehe sie die nötige Hardwareauswahl treffen. Das ist kein Feature, dass sich einfach per Knopfdruck hinzufügen lässt, wie es mit zusätzlichen Schnittstellen der Fall ist. Hier gibt es schon eine gewisse Lernkurve zu meistern“.

Dieser Beitrag ist ursprünglich auf unserem Partnerportal Elektronikpraxis erschienen.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 45343997)