Die „intelligente“ Edge ist gar nicht so schlau. Sie lässt sich Zeit, frisst Strom, heizt auf. Kann man die Inferenz nicht irgendwie beschleunigen?
Heute laufen Inferenz-Anwendungen mit Verzögerungen und gerenerll zu langsam; Im Modelltraining helfen zumeist GPUs und andere, mehr auf KI gemünzte Beschleuniger. Taugen die auch für das Inferecing?
Die Anzahl der Parameter in KI-Modellen wächst um den Faktor 10x pro Jahr, schon seit einer halben Dekade. Die größeren Machine-Learning-Modelle von heute hantieren bereits mit Hunderten von Milliarden bis hin zu Billionen von Parametern.
Inferenz ist der Prozess, bei dem ein KI-Modell Eingabedaten auswertet und darüber orakelt. Es ist der Schritt nach der Lern- und Evaluierungsphase, bei dem das Modell seine gelernten Muster auf neue, unbekannte Daten anwenden darf, um Vorhersagen zu treffen oder sonstige Erkenntnisse zu liefern – mit einer Präzision, die im Vorfeld bekannt ist; denn dafür war die Evaluierung da.
Die Inferenz ist einfacher als Training, aber auch sie verschlingt erhebliche Ressourcen – es sei denn, man reduziert das bereits trainierte Modell auf eine handliche Größe mit Methoden zur Modellkomprimierung wie Pruning und Quantisierung (mehr dazu weiter unten). Unternehmen wie Facebook sind sich dafür nicht zu schade; unterm Strich spart es ihnen bares Geld – und „die Welt geht deswegen nicht unter“. Doch genau das darf man nicht verallgemeinern.
*Das Autorenduo
Das Autorenduo besteht aus Anna Kobylinska und Filipe Pereia Martins. Die beiden arbeiten für McKinley Denali, Inc., USA.
Ihr Fazit lautet: Algorithmische Verbesserungen, dedizierte Hardware, inferenzoptimierte Frameworks, ausgefuchste Compiler: Wer die Machine-Learning-Nutzung beschleunigen will, muss sich nicht auf einen Ansatz beschränken. Stattdessen gilt, vielleicht etwas kontraintuitiv: Ruhig mal ein größeres Netz auswerfen!
Was ist gewollt?
In kritischen Szenarien würde der Ansatz mit dem „roten Stift“ ganz schön nach hinten losgehen. Die Anforderungen an die Rechenleistung der Inferenz sind nämlich nicht nur eine Funktion der Komplexität des Modells, sondern sie unterliegen auch den Anforderungen des betreffenden Anwendungsfalls. Welche Latenz ist akzeptabel? Darf das Ergebnis ungenau sein? Ja oder nein, oder vielleicht etwas dazwischen?
Viele der begehrtesten Nutzungsszenarien für KI/ML brauchen garantierte Blitzresultate – zeitnahe Reaktionen mit einer kompromisslosen Trefferquote. In diese Kategorie von Echtzeitanwendungen fallen autonomes Fahren und Fliegen, aber auch etwa Sprach- und Betrugserkennung in FinTech-Unternehmen. „Ungefähr richtig“ ist nicht gut genug, auch wenn es schnell genug war.
Die Notwendigkeit, KI/ML-Modelle auf Edge-Geräten mit begrenzten Ressourcen auszuführen, bringt zusätzliche Einschränkungen mit sich. Es fängt schon damit an, dass Inferenzleistung eines ML-Modells über unterschiedliche Chipsätze hinweg inkonsistent ist.
Warum plötzlich so langsam? Die Inferenzleistung eines ML-Modells über unterschiedliche Chipsätze hinweg ist nicht konsistent.
(Bild: Chaojian Li et al., ICLR’21)
Die „Latenz der Inferenz“ schmälert die Benutzererfahrung in Anwendungen wie Chatbots, Empfehlungssystemen und virtuellen Assistenten – na und? Es ist nicht das Ende der Welt; die Benutze sind eh mit noch was anderem beschäftigt. Aber wenn ein autonomes Fahrzeug bei der roten Ampel „nachdenkt“, können andere nicht schnell genug auf die Bremsen drücken.
Fix und fertig: dedizierte Inferenz-Beschleuniger
Wie beschleunigt man Inferenzen? Es kommt darauf an.
Dedicated Accelerators (dedizierte Beschleuniger) sind Hardwarekomponenten oder auch Geräte, die spezifische, eng umrissene Aufgaben extrem schnell ausführen, schneller nämlich als Allzweckprozessoren. Ein solcher günstiger Inferenzbeschleuniger für Edge-Computing ist „Nvidia Jetson Nano“, ein kleines, erschwingliches und Energie-effizientes Entwicklungskit mit dem Prozessor „Nvidia Tegra X1“.
Die „Jetson“-Familie dedizierter Inferenzbeschleuniger von Nvidia.
(Bild: Nvidia)
Tegra X1 enthält eine dedizierte Bildverarbeitungseinheit - IPU für Image Processing Unit. Diese übernimmt Aufgaben wie Dekodierung, Größenänderung und Filterung. Die IPU kann H.264- und H.265-Videos in bis zu 4K-Auflösung dekodieren, bis zu 120 Bilder pro Sekunde skalieren und eine Vielzahl von Filtern wie Gaußsche Unschärfe, Median-Unschärfe und Kantenerkennung anwenden. NVIDIAs Inferenz-Beschleuniger kommt in Geräten wie Drohnen, Robotern und in industriellen Maschinen zum Einsatz.
Googles Edge-TPUs für die Massen
Google hat mit der TPU - Tensor Processing Unit - einen spezialisierten Universalbeschleuniger für Maschinelles Lernen (ML) entwickelt. TPUs bieten erhebliche Leistungssteigerungen im Vergleich zu herkömmlichen GPUs und CPUs – je komplexer das Modell, desto besser – aber sie sind Teil der Cloud-Infrastruktur von Google. Mit „Google Anthos“ können Unternehmen einen Teil ihrer Arbeitslasten in die Google Cloud verschieben und gegebenenfalls auf TPU-Beschleunigern ausführen.
In diesem USB-Dongle, dem „Coral Accelerator“ von Google, steckt eine Edge-TPU, Googles Hardwarebeschleuniger für ML-Inferenz. Das Gerät funktioniert mit Linux, MacOS und Windows.
(Bild: Google LLC via Coral.ai)
Mit der Edge-TPU hat Google einen Inferenzbeschleuniger speziell für Edge-Computing entwickelt. Edge-TPUs lassen sich direkt in IoT-Geräten oder sonstigen Edge-Endpunkten integrieren, um maschinelles Lernen direkt vor Ort zu beschleunigen. Ein Beispiel einer Implementierung ist der Coral Accelerator von Google. Das Gerät beinhaltet eine Edge-TPU und kann dank beschleunigter Inferenz ML-Anwendungen wie Bild- und Sprachverarbeitung in Echtzeit ausführen.
Inferenz mit Laufzeit-Effizienz
Wie beschleunigt man sonst noch die Inferenz, wenn man an der Hardware nichts ändern kann? Das hängt davon ab, wen man jetzt fragt.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
„Gemischte Präzision ist der einfachste Weg, um sowohl das Training als auch die Inferenz zu beschleunigen“, sagt Mike Davies, Direktor des Neuromorphic Computing Lab von Intel Labs.
(Bild: Intel Corporation)
„Gemischte Präzision ist der einfachste Weg, um sowohl das Training als auch die Inferenz zu beschleunigen“, erläutert etwa Mike Davies, Direktor des Neuromorphic Computing Lab von Intel Labs.
Ein Google-Ingenieur würde jetzt vielleicht erwidern: „Bfloat16!“ Klingt wie eine Invektive, ist aber Fachsprache: So nennt sich Googles neues Gleitkommaformat mit erweitertem Dynamikumfang.
Natürlich lässt sich die Inferenz auch dadurch verkürzen, dass man einfach bessere Algorithmen einsetzt, zum Beispiel separierbare Faltungen (Englisch: “separable convolutions”) statt Standard-Faltungen (Engl. “standard convolutions). Separierbare Faltungen zerlegen eine konventionelle Faltung in zwei einfachere Operationen und schon läuft das Modell schneller.
Wie dem auch sei: Beliebte ML-Frameworks wie „Pytorch“ und „Tensorflow“ tun sich prinzipiell schwer mit der Inferenz. Diese Frameworks sind für das Training und die anschließende Evaluierung von ML-Modellen konzipiert. Die Leistung der Inferenz zog den Kürzeren.
Abhilfe schaffen Laufzeit-Frameworks wie „TensorRT“, „Openvino“, „Tflite“, „TFJS“, „SNPE“ und „CoreML“, mit hardwarespezifischen Optimierungsfähigkeiten. Um diese Vorteile zu nutzen, muss man das ML-Modell für eines dieser Laufzeit-Frameworks konvertieren.
Gemischte Präzision, gemischte Gefühle
Bei der gemischten Präzision rechnet das System mit Datentypen mit reduzierter Präzision, aber nur dort, wo sie die Gesamtgenauigkeit des Modells nicht beeinträchtigt. Der Ansatz kann die Geschwindigkeit von Training und Inferenz bei großen Sprachmodellen (LLMs) um bis zu das Dreifache erhöhen, ohne die Modellgenauigkeit zu beeinträchtigen.
Ein Modul wie „torch.amp“ (kurz für “Automated Mixed Precision”) macht es einfach, die Geschwindigkeits- und Speichernutzungsvorteile von Datentypen mit niedrigerer Präzision unter Beibehaltung des Konvergenzverhaltens zu nutzen. Die „Keras Mixed Precision API“ kann die Leistung auf modernen GPUs um mehr als das Dreifache, auf TPUs um 60 Prozent und auf den neuesten Intel CPUs um mehr als das Zweifache verbessern.
In vielen Deep-Learning-Anwendungen ist der Einfluss reduzierter Präzision auf die resultierende Genauigkeit der Inferenz aus dem Modell nur minimal und ein akzeptabler Kompromiss für die Vorteile einer reduzierten Speichernutzung und schnelleren Berechnung.
Brain Floating Point (bfloat16)
Ein neues Gleitkommaformat namens „Brain Floating Point“ (bfloat16) von Google und verringert die Präzision und erweitert gleichzeitig den Dynamikbereich im Vergleich zum herkömmlichen float16-Format, um die Inferenz zu beschleunigen. Google hat dieses Format für Anwendungen im Bereich des maschinellen Lernens und des Tiefen Lernens - Deep Learning - entwickelt.
Leistungsmerkmale eines LLM beim Training mit gemischter Präzision auf einer einzelnen „Nvidia A100- GPU.
(Bild: Sebastian Raschka auf Github)
Der erweiterte Dynamikbereich kann sehr große und sehr kleine Zahlen abbilden, die in Deep-Learning-Anwendungen vorkommen. In den meisten Deep-Learning-Anwendungen hat die geringere nummerische Präzision minimale Auswirkungen auf die Modellleistung, sie kann jedoch die Genauigkeit bestimmter Berechnungen beeinflussen oder in einigen Fällen zu Rundungsfehlern führen – es kommt halt darauf an, was man da genau rechnet.
Das gemischte Fließkomma-Format in 16 Bit ist kaum langsamer als float16, aber beim Training fast doppelt so genau : 92,15 Prozent statt 50,08 Prozent Genauigkeit.
(Bild: Sebastian Raschka auf Github)
Google hat das Format für die eigenen TPUs (Tensor Processing Units) entwickelt. Nvidia unterstützt es in seinen GPUs, beginnend mit den „A100 Tensor Core“-GPUs (mit der „Nvidia Ampere“-Architektur).
Optimierung durch Kompilierung
Dann gibt es die Möglichkeit, durch effiziente Kompilierung zu trumpfen. Für die Vor- und Nachbearbeitung beim Deep Learning sind kompilierte Sprachen wie C++ oft eine bessere Wahl als interpretierte Sprachen wie Python. Die Kompilierung in Maschinencode beschleunigt die Ausführung gegenüber interpretierten Code. Kompilierte Sprachen sind tendenziell speichereffizienter sein als interpretierte Sprachen.
Compiler nutzen eine ganze Reihe von Tricks und haben ein ausgeprägtes Verständnis der Hardware (Stichwort: „hardware aware“). Ein Compiler kann zum Beispiel gerichtete azyklische Graphen tiefer neuronaler Netzwerke mit Techniken wie Operatorfusion, Zwischenspeicherung und Speicherwiederverwendung unter Berücksichtigung der Besonderheiten der avisierten Zielplattform optimieren und dabei ggf. auch einige Berechnungen zusammenführen.
Nicht alle ML-Modelle lassen sich gleich effizient kompilieren. Verfügt ein Modell über eine Aktivierungsfunktion, die sich nicht kompilieren lässt, liegt es nahe, die sie auszutauschen – noch besser, wenn man es im Vorfeld gewusst hat.
Möglichkeiten der „Optimierung durch Kompilierung“ sollte man im Vorfeld überprüfen, sonst kann man womöglich Zeit und sonstige Ressourcen auf das Training eines Modells verschwenden, das sich für schnelle Inferenz grundsätzlich nicht optimieren lässt. Davon einmal abgesehen: Eine schnellere Laufzeitumgebung kann auch nicht schaden. Konkret zum Beispiel: WASM statt Kubernetes (ein Thema für einen nachfolgenden Artikel).
Modell-Pruning
Facebook setzt auf Modelloptimierungstechniken wie Quantisierung und Pruning, um die Effizienz der Inferenz zu steigern.
Pruning entfernt unnötige Gewichte und Verbindungen in einem neuronalen Netzwerk, im Grunde genommen eine gärtnerische Praxis. Das Konzept ist alt: Entfernt man strukturell instabile und unproduktive Äste vom Baum, fließt mehr Energie über die gesunden Gliedmaßen und es kommt mehr bei herum. So ähnlich ist es bei ML-Modellen:
Das Pruning entfernt ganze Knoten aus der Architektur oder setzt die am wenigsten nützlichen Parameter auf Null. Optimierte ML-Modelle laufen effizienter, sie erfordern weniger Rechenleistung und belegen weniger Speicher. Auf Edge-Geräten macht es einen großen Unterschied.
Quantisierung
Quantisierung reduziert die numerische Darstellung (Bit-Breite) von Gewichten und Aktivierungen durch die Umwandlung von einer hochpräzisen Gleitkommazahlen-Repräsentation (32-Bit Gleitkommazahlen) in eine niedrigpräzise Gleitkommazahlen-Repräsentation (FP). Dies reduziert die Modellgröße, verbessert die Speichereffizienz und verkürzt im Allgemeinen die Rechenzeit.
Modellquantisierung gilt als besonders vorteilhaft für die Bereitstellung komplexer Modelle auf Geräten mit begrenzter Kapazität, wie Mobiltelefonen oder IoT-Geräten. Der Ansatz kann jedoch auch eine Reihe von Problemen mit sich bringen, allen voran den Verlust an Genauigkeit oder Inkompatibilität mit bestimmter Hardware.
Nicht alle Modelle lassen sich gleich gut quantisieren. Quantisierungstechniken wie INT8 und sogar INT4 können die Genauigkeit des Modells bis zur Unbrauchbarkeit verschlechtern - um 1 Prozent bis 10 Prozent. Gewichte und Aktivierungen mit geringer Bit-Breite führen zu Informationsverlust, verzerren die Netzwerkdarstellung und umgehen die normale Differenzierung, die für das Training erforderlich ist.
Und was ist QAT?
Ein Ansatz namens QAT (kurz für: Quantisierungs-Aware Training) kann Abhilfe schaffen. Hierbei geht es darum, das Modell im Training darauf vorzubereiten, die Genauigkeitsminderung während der Quantisierung zu überwinden. QAT optimiert den Trainingsverlust für den Quantisierungsverlust. Eine Kalibrierung nach der Quantisierung ist in diesem Fall nicht erforderlich, weil das Modell bereits im Training kalibriert wurde.
Nicht alle Methoden der Quantisierung liefern dieselben Ergebnisse. Die Datenwissenschaftler/innen haben die Qual der Wahl.
Die Standard-Quantisierung - alle Operatoren auf INT8-Präzision, zuerst quantisiert und dann kalibriert - ist zwar einfach zu implementieren, führt aber oft zu einem deutlichen Rückgang der Modellgenauigkeit im Vergleich zum ursprünglichen Fließkommamodell. Dies liegt daran, dass verschiedene Operatoren unterschiedliche Empfindlichkeiten haben und man sie nicht alle „über einen Kamm scheren“ kann.
Die hybride oder selektive Quantisierung führt meist zu besseren Ergebnissen im Hinblick auf die Optimierung der Latenzzeit und der Genauigkeit. Sie reduziert einige Operatoren auf INT8-Präzision und belässt andere im Modus repräsentativer Datentypen wie FP16 oder FP32. Dies setzt allerdings Kenntnisse der Struktur des neuronalen Netzes und erfordert meist eine Sensitivitätsanalyse, will heißen: eine Schicht nach der anderen ausschließen und dann die Änderung der Latenz/Genauigkeit beobachten.
Der selektive Ansatz quantisiert einige Operatoren auf INT8-Präzision, allerdings mit unterschiedlichen Kalibrierungsmethoden und unterschiedlicher Granularität - pro Kanal oder pro Tensor. Die übrigen Operatoren werden auf INT8 quantisiert; empfindliche und nicht-empfindliche Schichten bleiben in FP16-Präzision. Die selektive Quantisierung bietet die fortschrittlichsten Möglichkeiten, um die Genauigkeit und die Latenz gleichzeitig zu optimieren.