Hardware für Machine Learning: die 5 besten Hardware-Optionen im Vergleich
Lesezeit: 5 Min
Damit künstliche Intelligenzen, die Machine Learning als Lernmechanismen einsetzen, optimal und effizient lernen können, ist die Wahl der richtigen Hardware von entscheidender Bedeutung. Warum, welche Vor- und Nachteile jede der Optionen mit sich bringt und welche Hardware sich am besten für künstliche Intelligenzen eignet, erklärt unser AI Engineer Melvin Klein in seinem Gastbeitrag.
Diese 5 Hardware-Arten eignen sich für Machine Learning
Machine Learning (ML) Aufgaben sind divers, das gilt auch für die Hardware, auf der sie berechnet werden können. Um besser verstehen zu können, wie man die Berechnungen beschleunigen kann, ist es wichtig zu wissen, welche Art von Berechnungen ausgeführt werden. Bei Berechnungen, die von ML-Algorithmen verwendet werden, handelt es sich zum Großteil um Vektor- und Matrixberechnungen. Aus diesem Grund muss ein geeigneter Rechenbeschleuniger für ML-Anwendungen in der Lage sein diese Berechnungen auszuführen.
Central Processing Unit (CPU)
Die konventionelle CPU ist das Herzstück eines jeden Desktop Computers. Da die meisten Computerprogramme nur wenige Kerne nutzen können, ist die Kernanzahl der CPU ebenfalls gering. Zwar ist die Anzahl in den letzten Jahren stark gestiegen, im Vergleich zu anderen Optionen sind jedoch selbst die maximal 96 Kerne einer AMD EPYC gering. CPUs müssen eine Vielzahl von Aufgaben bewältigen und verfügen daher über zusätzliche Befehlssatzerweiterungen, die bestimmte Arten von Berechnungen beschleunigen können. Alle modernen x86/amd64 CPUs sind mit der AVX (Advanced Vector Extensions) Erweiterung des x86 Befehlssatzes ausgestattet. Wie der Name schon verrät, können Vektorberechnungen mit dieser Erweiterung beschleunigt werden. Die vierte Generation der Intel Scalable-Processors (Sapphire Rapids) kann zusätzlich Intel AMX (Advanced Matrix Extensions) nutzen, um Matrixberechnungen weiter zu beschleunigen.
CPUs werden trotz zahlreicher Alternativen auch in Zukunft eine sehr große Rolle spielen, wenn es um die Berechnung von ML-Algorithmen geht. Das liegt nicht nur daran, dass diese bereits heute nahezu jedem zur Verfügung stehen (ohne dass eine teure Anschaffung neuer Hardware notwendig ist), sondern auch an den zahlreichen Neuentwicklungen, die für eine stetige Verbesserung der Leistung und Verringerung des Stromverbrauchs sorgen. Die beiden großen Hersteller, Intel und AMD, setzten im Serverbereich auf Chiplet-basierte CPUs. AMD tut dies auch im Desktop Bereich. Hierbei wird eine CPU aus mehreren separaten Chips zusammengebaut. Damit wird in Zukunft auch der Austausch einzelner Chips durch spezialisierte Hardware möglich sein. Dabei ist zu erwarten, dass spezialisierte ML-Chips standardmäßig in Server CPUs angeboten werden. Insbesondere deshalb, da laut Intel 70% aller KI-Inferenzen auf Intel Xeon Serverprozessoren stattfindet.
Nachteile von CPUs
Ein Nachteil von CPUs ist die geringe Compute-Dichte. Im Vergleich zu anderen Optionen benötigen CPUs deutlich mehr Platz für dieselbe Rechenleistung. Dies kann ein Nachteil sein, muss es aber auch nicht. Hierbei spielt nicht nur der Ort, an dem die Anwendung ausgeführt werden soll, sondern auch die tatsächlich benötigte Rechenkapazität eine Rolle. So ist die Compute-Dichte in einem Rechenzentrum deutlich wichtiger, als bei einem Ausführen auf bereits vorhandenen Desktop Computern. Ein weiterer wichtiger Faktor ist der Stromverbrauch einer CPU unter Volllast. Doch nicht nur die direkten Stromkosten müssen beachtet werden, sondern auch die Kosten für die Kühlung. Zudem müssen moderne Höchstleistungsserver-CPUs flüssiggekühlt werden. Das kann zusätzliche Kosten verursachen, insbesondere wenn die benötigte Infrastruktur noch nicht vorhanden ist.
Graphics Processing Unit (GPU)
Eine weitere Hardware-Option ist die Berechnung auf einer GPU. GPUs wurden ursprünglich als Rechenbeschleuniger für graphische Berechnungen entwickelt (Grafikprozessoren). Da diese zum Großteil aus Vektorberechnungen bestehen, eignen sich Grafikkarten auch sehr gut für ML-Berechnungen.
Intel und Nvidia, zwei der drei großen Grafikchips-Hersteller, nutzen für ihre Desktop und Server GPUs die gleiche Architektur und verwenden zudem in ihren Designs spezielle Schaltungen, um die Berechnung von ML-Aufgaben zu beschleunigen. Nur bei AMD werden zwei verschiedene Architekturen für Compute- und Grafikberechnungen genutzt, nämlich CDNA und RDNA. Ihre speziellen ML-Beschleuniger werden ausschließlich in den auf CDNA basierten Server GPUs angeboten. Aber auch ohne diese speziellen Beschleuniger sind GPUs den CPUs in den meisten Anwendungen von ML stark überlegen.
Nachteile von GPUs
Im Vergleich zu CPUs vebraucht diese hohe Compute-Dichte deutlich mehr Strom. Das ist ein großer Nachteil von GPUs. Die Anforderungen an Stromversorgung und Kühlung für GPU-Server sind deutlich höher im Gegensatz zu Servern ohne GPU. Diese erhöhten Anforderungen, insbesondere an die Kühlung, sorgt für deutlich höhere Preise für GPU-Server in Rechenzentren.
Field-Programmable-Gate-Arrays (FPGA)
FPGAs sind programmierbare Schaltungen. Im Vergleich zu CPUs oder GPUs, die beide feste Schaltungen besitzen, ist es Möglich die Schaltung bei FPGAs frei zu programmieren. Damit stellen sie die flexibelste Art von Rechenbeschleuniger dar – gleichzeitig ist sie aber auch die am schwersten zu implementierende. Die meisten FPGAs werden als Chips verkauft. Die komplette Schaltung, um diese tatsächlich nutzen zu können, muss jedoch selbst erstellt werden. Daher ist es wichtig, FPGAs bereits beim Produktdesign zu beachten und in die Schaltung des Produkts zu integrieren. Das bedeutet: FPGAs eignen sich nur, falls der ML-Algorithmus in ein neues Produkt mit eigener Hardware integriert werden soll. Ein weiterer Nachteil ist die geringe Anzahl an verfügbaren ML-Bibliotheken, die mit FPGAs kompatibel sind. Dies schränkt die Nutzbarkeit von FPGAs stark ein, allerdings haben FPGAs auch große Vorteile: da die Schaltung veränderbar ist, kann diese für den Einsatzzweck optimiert und später auch wieder angepasst sowie geupdatet werden. Das erlaubt nicht nur große Flexibilität, sondern auch gute Stromeffizienz bei hoher Compute-Dichte. Durch die Optimierung auf den Einsatzzweck können Highend FPGAs auch mit GPUs mithalten, wenn es um Rechenleistung geht.
TinyML
TinyML beschreibt nicht direkt die Hardware. Vielmehr ist es das Konzept, ML-Aufgaben so zu optimieren und anzupassen, dass diese auch auf µControllern, deren Stromverbrauch oftmals im mW Bereich liegt und die nur über begrenzte Speicher- und Rechenkapazitäten verfügen, lauffähig sind. Oftmals führen diese Optimierungen dazu, dass die ML-Modelle drastischen verkleinert werden und dabei sehr geringen Leistungseinbußen aufweisen. Die Modelle können dann von handelsüblichen µControllern ausgeführt werden. Auch Smartphones mit begrenzter Akku- und Rechenleistung stellen ein gutes Ziel für TinyML dar.
Custom Hardware
Eine bekannte Art von Spezialhardware sind Googles TPUs (Tensor Processing Unit). Diese Rechenbeschleuniger wurden von Google speziell für Berechnungen mit der ML-Bibliothek TensorFlow gebaut und sind vergleichbar mit Grafikkarten, die nur aus Matrix-Berechnungseinheiten bestehen. TPUs sind lediglich bei der Verwendung von Googles Cloud Computing Service verfügbar.
Es ist schwer über Custom-ML-Hardware eine gernelle Aussage zu treffen, da die Spanne und der gedachte Einsatzzweck der verfügbaren Hardware zu groß ist. Das beginnt bei kleinen µControllern, wie der MAX78000 und geht bis hin zu ganzen Clustern aus ML spezialisierter Hardware mit Millionen von Kernen wie z.B. Cerebras Andromeda Supercomputer.
Fazit
CPUs und GPUs sind bei weitem die bekanntesten und verbreitesten Möglichkeiten der ML-Berechnung aber sie sind nicht die einzigen. Die großen Vorteile von CPUs und GPUs liegen in der Verfügbarkeit und Vielseitigkeit. Sie sind nicht nur für ML-Anwendungen verwendbar und können auch für andere Zwecke verwendet werden. Zudem sind nahezu alle ML-Bibliotheken mit dem Schwerpunkt auf CPU und GPU Berechnungen gebaut worden. Daher sind hier sowohl die meisten Features als auch die größte Zuverlässigkeit zu finden.
Für Anwendungen, die bei Kund:innen auf Desktop Computern ausgeführt werden sollen, sind insbesondere Berechnungen auf GPUs interessant. Diese besitzen oftmals spezielle ML-Schaltungen, die von den meisten graphischen Anwendungen nicht verwendet werden. Dadurch kann man die Auslastung und den Nutzen der Hardware ohne großen Aufwand erhöhen. FPGAs sowie µController sind nur für sehr spezielle Einsatzgebiete geeignet, in denen eigene Hardware designt wird und diese somit von Anfang an komplett in das Design integriert werden können. Die zusätzlichen Aufwände für Design, Tests und Bau der Hardware sowie der Zusatzaufwand und Support für Custom Hardware sind andernfalls zu groß.
Sie möchten mehr über KI und Machine Learning erfahren?