FPGA im Vergleich zu GPU

FPGA im Vergleich zu GPU bei Deep-Learning-Anwendungen

FPGAs sind eine ausgezeichnete Wahl bei Deep-Learning-Anwendungen, die geringe Latenz und hohe Flexibilität erfordern.

Vorteile von FPGAs bei Deep-Learning-Anwendungen:

  • FPGAs bieten durch Schaltkreise, die für verschiedene Aufgaben neu programmiert werden können, unglaubliche Flexibilität und Kosteneffizienz.

  • Im Vergleich zu GPUs können FPGAs bei Deep-Learning-Anwendungen, die geringe Latenz erfordern, für überlegene Leistung sorgen.

  • FPGAs können fein abgestimmt werden, um Energieeffizienz und Leistung in ein passendes Gleichgewicht zu bringen.

author-image

Von

Was ist ein FPGA?

Field Programmable Gate Arrays (FPGAs) sind integrierte Schaltungen mit einer programmierbaren Hardwarestruktur. Anders als bei Grafikprozessoren (GPUs) oder ASICs sind Schaltungen in einem FPGA-Chip nicht hart geätzt, sondern können bei Bedarf neu programmiert werden. Das macht FPGAs zu einer ausgezeichneten Alternative zu ASICs, die beim Entwickeln und Fertigen eine lange Entwicklungszeit und erhebliche Investitionen erfordern.

Vor relativ kurzer Zeit hat die Tech-Branche FPGAs für maschinelles Lernen und Deep Learning auf den Markt gebracht. 2010 zeigte Microsoft Research bei seinen Bemühungen um eine Beschleunigung von Web-Suchen einen der ersten Anwendungsfälle von KI auf FPGAs auf.1FPGAs boten eine Kombination aus Geschwindigkeit, Programmierbarkeit und Flexibilität sowie hoher Leistung, und dass ohne die Kosten und Komplexität wie bei der Entwicklung benutzerdefinierter anwendungsspezifischer integrierter Schaltungen (ASICs). Fünf Jahre später verwendete die Bing-Suchmaschine von Microsoft FPGAs in der Produktion, was ihren Nutzen für Deep-Learning-Anwendungen unter Beweis stellte. Durch Einsatz von FPGAs zur Beschleunigung von Such-Rankings konnte Bing den Durchsatz um 50 % steigern.1

Welche Vorteile bieten FPGAs bei Deep-Learning-Anwendungen?

Frühe KI-Workloads wie Bilderkennung stützten sich stark auf Parallelität. Da GPUs speziell für das Rendern von Videos und Grafiken entwickelt wurden, wurden sie auch für ML- und Deep-Learning-Anwendungen populär. GPUs brillieren bei paralleler Verarbeitung, da sie eine sehr große Anzahl von arithmetischen Operationen parallel durchführen können. Mit anderen Worten: Sie können in Fällen, in denen dieselbe Workload viele Male in schneller Folge durchgeführt werden muss, für eine unglaubliche Beschleunigung sorgen.

Das Ausführen von KI auf GPUs hat jedoch seine Grenzen. GPUs bieten nicht so viel Leistung wie ein ASIC, ein Chip, der speziell für eine jeweilige Deep-Learning-Workload entwickelt wurde.

FPGAs erlauben Hardware-Anpassungen mit integrierter KI und können so programmiert werden, dass sie ein Verhalten ähnlich einer GPU oder eines ASIC liefern. Die reprogrammierbare, rekonfigurierbare Natur eines FPGA eignet sich perfekt für eine sich schnell entwickelnde KI-Landschaft. Sie ermöglicht es Designern, Algorithmen schnell zu testen und schnell zu marktfähig zu machen. FPGAs bieten verschiedene Vorteile bei Deep-Learning-Anwendungen und anderen KI-Workloads:

Hervorragende Leistung mit hohem Durchsatz und geringer Latenz: FPGAs können von Natur aus geringe Latenz sowie deterministische Latenz für Echtzeitanwendungen wie Videostreaming, Transkription und Handlungserkennung bieten, da Video direkt in das FPGA eingespeist und eine CPU umgangen wird. Designer können von Grund auf neuronale Netzwerke entwickeln und das FPGA so strukturieren, dass es optimal zum jeweiligen Modell passt.
Hervorragendes Preis-Leistungs-Verhältnis: FPGAs können für verschiedene Funktionen und Datentypen neu programmiert werden, was sie zu einer der kosteneffektivsten Hardware-Optionen überhaupt macht. Darüber hinaus können FPGAs für mehr als nur KI verwendet werden. Durch Integration zusätzlicher Funktionen auf denselben Chip können Designer Kosten und Platz auf dem Board sparen. FPGAs haben lange Produktlebenszyklen, sodass Hardware-Designs, die auf FPGAs basieren, eine lange Produktlebensdauer haben können (gemessen in Jahren oder Jahrzehnten). Diese Eigenschaft macht sie ideal für den Einsatz in industriellen Verteidigungs-, Medizin- und Automobilanwendungen.
Niedriger Energieverbrauch: Mit FPGAs können Designer Hardware genau auf die jeweilige Anwendung abstimmen und so Anforderungen an Energieeffizienz erfüllen. Außerdem können FPGAs verschiedene Aufgaben übernehmen und die Energieeffizienz des Chips erhöhen. Es ist möglich, einen Teil eines FPGA für eine Funktion zu verwenden (und nicht den gesamten Chip), sodass das FPGA verschiedene Funktionen parallel hosten kann. 

KI- und Deep-Learning-Anwendungen auf FPGAs 

FPGAs können Leistungsvorteile gegenüber GPUs bieten, wenn die Anwendung niedrige Latenz und geringe Batch-Größen erfordert, was beispielsweise bei der Spracherkennung und anderen Workloads zur Verarbeitung natürlicher Sprache der Fall ist. Aufgrund ihrer programmierbaren I/O-Schnittstelle und ihres hochflexiblen Fabric sind FPGAs auch für die folgenden Aufgaben gut geeignet:

Überwindung von I/O-Engpässen. FPGAs kommen oft zum Einsatz, wenn Daten viele verschiedene Netzwerke mit geringer Latenz durchlaufen sollen. Sie sind extrem nützlich zur Beseitigung von Speicherpufferung und Überwindung von I/O-Engpässen – einem der einschränkendsten Faktoren bei der KI-Systemleistung. Durch die Beschleunigung der Dateneinspeisung können FPGAs den gesamten KI-Workflow beschleunigen.
Integration von KI in Workloads. Mit FPGAs können Designer KI-Funktionen wie Deep-Packet-Inspection oder Finanzbetrugserkennung vorhandenen Workloads hinzufügen.
Unterstützung von Sensorfusion. FPGAs eignen sich perfekt, wenn Dateneinspeisungen von verschiedenen Sensoren wie Kameras, LIDAR und Audiosensoren verarbeitet werden sollen. Diese Fähigkeit kann bei der Entwicklung von autonomen Fahrzeugen, Robotik und industriellen Geräten äußerst wertvoll sein.
Beschleunigung für HPC-Cluster (High Performance Computing) FPGAs können die Konvergenz von KI und HPC vereinfachen, indem sie als programmierbare Beschleuniger für Inferenz dienen. 2
Zusätzliche Funktionen über KI hinaus. FPGAs ermöglichen es, Sicherheits-, I/O-, Netzwerk- oder Pre-/Postprocessing-Funktionen hinzuzufügen, ohne dass ein zusätzlicher Chip erforderlich ist.

Intel® FPGA-Software und -Hardware

Eine der wenigen Hürden, die bei der Verwendung von FPGAs zu überwinden sind, besteht darin, dass die Hardware in der Regel spezielles Programmierwissen erfordert. Intel reduziert das Wissen, das bei einem softwarebasierten Programmiermodell nötig ist. Mit diesem übergeordneten FPGA-Programmiermodell können Datenwissenschaftler oder Modellentwickler neuronale Netzwerke mit einem gängigen KI-Framework wie TensorFlow oder Caffe einrichten und auf einem FPGA bereitstellen, ohne die Einzelheiten der FPGA Architektur kennen zu müssen. Intel hat verschiedene Tools entwickelt, die die Programmierung von FPGAs deutlich vereinfachen:

Die Intel® Distribution des OpenVINO™ Toolkit bietet Computer-Vision-Entwicklern ein zentrales Tool, mit dem sie Modelle über verschiedene Hardware-Plattformen (einschließlich FPGAs) hinweg beschleunigen können.
Die Intel® FPGA AI Suite bietet Tools und optimierte Architekturen zur Beschleunigung von Inferenz mit Intel® FPGAs. Sie ist mit dem OpenVINO™ Toolkit verbunden und bietet Skalierbarkeit zur Unterstützung benutzerdefinierter Netzwerke.
Open FPGA Stack (OFS) ist eine Open-Source-basierte Software- und -Hardware-Infrastruktur, die ein Framework für die benutzerdefinierte, FPGA-gestützte Plattform- und Workload-Entwicklung bereitstellt. Der gesamte Quellcode ist auf GitHub verfügbar.

Deep-Learning-Technologielösungen mit Intel® FPGA umfassen verschiedene Produktreihen und Softwaretools, die dabei helfen, Entwicklungszeit und -kosten zu reduzieren. Die folgenden Hardware-Produkte sind für Deep-Learning-Anwendungen besonders geeignet:

Intel Agilex® 5 FPGAs und SoCs sind FPGAs der mittleren Leistungsklasse, die über den branchenweit ersten verbesserten DSP-Block mit AI Tensor verfügen, um für hocheffiziente KI-Funktionen sowie DSP-Funktionen (digitale Signalverarbeitung) zu sorgen. Diese Produktreihe bietet im Durchschnitt 50 % höhere Fabric-Leistung und einen bis zu 42 % geringeren Gesamtenergieverbrauch im Vergleich zu Intel® FPGAs der vorherigen Generation.3

Intel Portfolio für KI

Angesichts der zunehmenden Nutzung von KI wird die Palette von Anwendungen und Umgebungen, in denen sie genutzt wird – von Endpunktgeräten über Edge-Server bis hin zu Rechenzentren – immer vielfältiger. Keine Architektur, kein Chip oder kein Format allein kann die Anforderungen aller KI-Anwendungen erfüllen. Infrastrukturarchitekten müssen auf die Architektur ihrer Wahl zugreifen können.

Intel bietet vier Arten von Halbleiterchips, die den Einsatz von KI fördern: FPGAs, GPUs und ASICs für Beschleunigung und CPUs für allgemeines Computing. Jede Architektur erfüllt eigene Anforderungen, sodass Infrastrukturarchitekten genau die Architektur wählen können, die sie zur Unterstützung der jeweiligen KI-Anwendung benötigen. Dank einer Vielzahl von Rechentypen, die für Energieverbrauch und Leistung optimiert sind, gibt es für jede Aufgabe das richtige Tool.