Künstliche Intelligenz

Durch die voranschreitende Integration von künstlicher Intelligenz in industriellen Anwendungen steigt der Bedarf nach Computing-Lösungen, die der zunehmenden Komplexität der gestellten Aufgaben gewachsen ist. Neben der zentralen Recheneinheit eines Computers (CPU) gewinnen in diesen Applikationen auch auf KI Algorithmen und große Datenmengen spezialisierte Prozessoren einen wachsenden Stellenwert.

InoNet ist der passende Partner für Hardware-Lösungen im Bereich der künstlichen Intelligenz. Durch unterschiedliche Computing-Ressourcen kann je nach Anwendung optimale Performance an genau der Stelle gewährleistet werden, an der sie gebraucht wird. Aufgrund von mathematischen Besonderheiten, die zu einer IT‑technischen Umsetzung von neuronalen Netzwerkstrukturen notwendig sind, gibt es verschiedene hardwaretechnische Ansätze, um diese Operationen schnell und effizient auszuführen. Nachfolgend werden die unterschiedlichen Computing-Ressourcen genauer erläutert. Sie benötigen ein leistungsstarkes Inferenz-System oder haben Fragen? Wir beraten Sie gerne!

CPU Icon

Central Processing Unit (CPU)

Aufgrund der oben beschriebenen mathematischen Besonderheiten, die zu einer IT‑technischen Umsetzung von neuronalen Netzwerkstrukturen notwendig sind, gibt es verschiedene hardwaretechnische Ansätze, die aufgrund ihrer Architektur besonders geeignet sind, um diese Operationen schnell und effizient auszuführen.
Die CPU (englisch central processing unit) ist das Herzstück eines jeden Computers und zeichnet sich durch eine komplexe Hardware-Architektur und einen universellen Befehlssatz aus. Das prädestiniert die CPU, sehr flexibel unterschiedlichste Algorithmen mit unterschiedlichen Zielsetzungen abzuarbeiten. Die Universalität wird dabei aber mit nicht optimaler Performance für dezidierte Aufgaben erkauft, sodass hier auch von einer eingeschränkten Eignung für den KI Einsatz gesprochen werden muss. Dies ist natürlich auch von der jeweiligen CPU (Typ / Hersteller) abhängig, denn moderne hochleistungs-Server-CPUs mit vielen Cores und Multithreading erzielen auch bei KI Aufgaben sehr gute Leistungen und werden in Rechenzentren durchaus auch für die Modellgenerierung verwendet. Für ein Inferenz Szenario, also der Anwendung eines bereits trainierten Modells mit geringem bis mittlerem Leistungsbedarf können auch weniger performante CPUs problemlos eingesetzt werden.

GPU Icon

Graphic Processing Unit (GPU)

Dennoch gibt es besser geeignete Hardware für Deep Learning-Szenarien, wie zum Beispiel Grafikprozessoren oder kurz GPUs (englisch graphic processing unit). Die GPU kann dabei Bestandteil der CPU sein, sich als eigener Chip auf dem Mainboard befinden oder in Form einer Steckkarte, meist über PCIe, mit dem Mainboard verbunden werden. Die Rechenleistung wird hier durch Parallelisierung von Rechenaufgaben über eine Vielzahl von zur Verfügung stehenden Recheneinheiten, im Vergleich zu einer CPU, immens gesteigert. Dafür lassen sich sowohl Consumer-Grafikkarten als auch professionelle Grafikkarten einsetzen, wobei erstere in der initialen Anschaffung günstiger sind, während zweitere über eine deutlich höhere Lebensdauer verfügen.

VPU Icon

Vision Processing Unit (VPU)

VPUs (englisch vision processing units) sind im Inferenz-Umfeld in jüngster Vergangenheit immer beliebter geworden, wenn es um Deep Learning-Szenarien auf Basis von Bild- und Bewegtbilddaten geht. Diese für den industriellen Einsatz ausgelegte Inferenz-Hardware ist langlebiger und hält erweiterten Umgebungstemperaturen stand. Hersteller von VPU-Modulen sind unter anderem Nvidia, bspw. mit dem Jetson TX2 Modul und Intel bzw. Movidius mit dem Myriad X. Die VPU-Module ermöglichen, durch einfache Ergänzung zu industrieller Hardware, mittlere bis hohe Performance für Inferenz-Maschinen bei verhältnismäßig geringer Leistungsaufnahme. Meistens werden VPUs auf Steckmodulen angeboten, deren Leistung mit der Anzahl von einer bis aktuell 8 VPUs skaliert und welche über Standard-Schnittstellen wie PCIe, mPCIe, m.2 oder USB verfügen. Aufgrund ihrer Kompaktheit können die VPU-Module spielend in Industrie-PCs integriert werden und so im Edge Computing ihren Dienst verrichten.

FPGA Icon

Field Programmable Gate Arrays (FPGA)

FPGAs (Field Programmable Gate Arrays) sind programmierbare digitale Bausteine, bei welchen auch die Hardwarestruktur (logische Schaltungen) programmiert werden kann. Dabei handelt es sich um Zusatzmodule, welche die Flexibilität und Programmierbarkeit von Software, die auf einem Allzweck-Prozessor (CPU) ausgeführt wird, mit der Geschwindigkeit und Energieeffizienz einer anwendungsspezifischen integrierten Schaltung vereinen. Die Konfiguration von FPGAs, und damit ihre Funktionalität oder ihr Anwendungszweck, kann auch mehrfach im Nachhinein angepasst werden. Während die Konfiguration einer CPU hauptsächlich mittels Software erfolgt, wird ein FPGA auf Hardware-Ebene konfiguriert. Obgleich FPGAs bereits seit den 80er-Jahren eingesetzt werden, erfährt der FPGA-Markt vor allem seit den letzten Jahren eine stark nachwachsende Nachfrage, die in den kommenden Jahren noch weiter steigen soll. FPGA-Karten weisen eine geringe bis mittlere Leistungsaufnahme auf, liefern aber durch die individuellen Konfigurationsmöglichkeiten maximale Effizienz und Performance für die jeweilige (KI-) Anwendung, da sie sich bezüglich der Hardware direkt auf den Anwendungsfall abstimmen lassen. Durch Implementierung parallel arbeitender Hardwarestrukturen lässt sich die Leistung noch weiter ausreizen. Dem gegenüber steht jedoch ein hoher individueller Entwicklungsaufwand, der sich in der Regel erst bei Anwendungen mit größeren Stückzahlen rechnet.