Was ist Modelloptimierung? Eine kurze Einführung
Erfahre, wie Modelloptimierungstechniken wie Hyperparameterabstimmung, Modellbeschneidung und Modellquantisierung dazu beitragen können, dass Modelle für computergestützte Bildverarbeitung effizienter ausgeführt werden.

Modelloptimierung ist ein Prozess, der darauf abzielt, die Effizienz und Leistung von Modellen des maschinellen Lernens zu verbessern. Durch die Optimierung der Struktur und Funktionsweise eines Modells können Modelle mit minimalen Rechenressourcen und kürzerer Trainingszeit sowie Evaluierungszeit bessere Ergebnisse liefern.
Dieser Prozess ist besonders in Bereichen wie der Computer Vision wichtig, in denen Modelle häufig erhebliche Ressourcen benötigen, um komplexe Bilder zu analysieren. In ressourcenbeschränkten Umgebungen wie mobilen Geräten oder Edge-Systemen können optimierte Modelle trotz begrenzter Ressourcen gute Ergebnisse liefern und zugleich präzise bleiben.
Zur Modelloptimierung werden häufig verschiedene Techniken eingesetzt, darunter Hyperparameteroptimierung, Modellpruning, Modellquantisierung und gemischte Präzision. In diesem Artikel stellen wir diese Techniken und ihre Vorteile für Computer-Vision-Anwendungen vor. Legen wir los!
Modelloptimierung verstehen#
Computer-Vision-Modelle verfügen meist über tiefe Schichten und komplexe Strukturen, die sich hervorragend zum Erkennen komplizierter Muster in Bildern eignen, aber auch erhebliche Rechenleistung erfordern können. Wenn diese Modelle auf Geräten mit begrenzter Hardware, etwa Mobiltelefonen oder Edge-Geräten, bereitgestellt werden, können bestimmte Herausforderungen oder Einschränkungen auftreten.
Die begrenzte Rechenleistung, der begrenzte Speicher und die begrenzte Energie dieser Geräte können zu spürbaren Leistungseinbußen führen, da die Modelle nur schwer Schritt halten. Techniken zur Modelloptimierung sind entscheidend, um diese Probleme zu bewältigen. Sie verschlanken das Modell, reduzieren seinen Rechenbedarf und stellen sicher, dass es auch bei begrenzten Ressourcen effektiv arbeitet. Modelloptimierung kann durch die Vereinfachung der Modellarchitektur, die Verringerung der Präzision von Berechnungen oder das Entfernen unnötiger Komponenten erfolgen, damit das Modell kompakter und schneller wird.

Abb. 1: Gründe für die Optimierung deiner Modelle. Bild: Autor.
Hier sind einige der häufigsten Optimierungstechniken für Modelle, die wir in den folgenden Abschnitten näher betrachten:
- Hyperparameteroptimierung: Dabei werden Hyperparameter wie Lernrate und Batchgröße systematisch angepasst, um die Modellleistung zu verbessern.
- Modellpruning: Bei dieser Technik werden unnötige Gewichte und Verbindungen aus dem neuronalen Netz entfernt, wodurch dessen Komplexität und Rechenaufwand sinken.
- Modellquantisierung: Bei der Quantisierung wird die Präzision der Gewichte und Aktivierungen des Modells üblicherweise von 32 Bit auf 16 oder 8 Bit reduziert, wodurch Speicherbedarf und Rechenanforderungen deutlich sinken.
- Anpassung der Präzision: Diese auch als Training mit gemischter Präzision bekannte Technik verwendet für verschiedene Teile des Modells unterschiedliche Präzisionsformate und optimiert so die Ressourcennutzung, ohne die Genauigkeit zu beeinträchtigen.
Erklärt: Hyperparameter in Modellen des maschinellen Lernens#
Du kannst einem Modell helfen, besser zu lernen und bessere Ergebnisse zu erzielen, indem du seine Hyperparameter optimierst – Einstellungen, die bestimmen, wie das Modell aus Daten lernt. Die Hyperparameteroptimierung ist eine Technik zur Optimierung dieser Einstellungen, die die Effizienz und Genauigkeit des Modells verbessert. Im Gegensatz zu Parametern, die das Modell während des Trainings lernt, sind Hyperparameter vorab festgelegte Werte, die den Trainingsprozess steuern.
Sehen wir uns einige Beispiele für Hyperparameter an, die angepasst werden können:
- Lernrate: Dieser Parameter steuert die Schrittweite, mit der das Modell seine internen Gewichte anpasst. Eine höhere Lernrate kann das Lernen beschleunigen, birgt aber das Risiko, die optimale Lösung zu verfehlen, während eine niedrigere Rate genauer, aber langsamer sein kann.
- Batchgröße: Sie legt fest, wie viele Datenbeispiele in jedem Trainingsschritt verarbeitet werden. Größere Batches ermöglichen ein stabileres Lernen, benötigen aber mehr Speicher. Kleinere Batches werden schneller trainiert, können jedoch weniger stabil sein.
- Epochen: Mit diesem Parameter legst du fest, wie oft das Modell den vollständigen Datensatz verarbeitet. Mehr Epochen können die Genauigkeit verbessern, bergen aber das Risiko einer Überanpassung.
- Kernelgröße: Sie legt die Filtergröße in Faltungsneuronalen Netzen (CNNs) fest. Größere Kernel erfassen umfassendere Muster, benötigen aber mehr Rechenleistung; kleinere Kernel konzentrieren sich auf feinere Details.
So funktioniert die Hyperparameteroptimierung#
Die Hyperparameteroptimierung beginnt in der Regel damit, für jeden Hyperparameter einen Bereich möglicher Werte festzulegen. Anschließend untersucht ein Suchalgorithmus verschiedene Kombinationen innerhalb dieser Bereiche, um die Einstellungen zu ermitteln, die die beste Leistung liefern.
Zu den gängigen Optimierungsmethoden gehören Gittersuche, Zufallssuche und Bayes'sche Optimierung. Bei der Gittersuche wird jede mögliche Wertekombination innerhalb der festgelegten Bereiche getestet. Bei der Zufallssuche werden Kombinationen zufällig ausgewählt, wodurch häufig schneller wirksame Einstellungen gefunden werden. Die Bayes'sche Optimierung verwendet ein probabilistisches Modell, um auf Grundlage vorheriger Ergebnisse vielversprechende Hyperparameterwerte vorherzusagen. Dieser Ansatz reduziert in der Regel die erforderliche Anzahl an Durchläufen.
Letztendlich wird die Modellleistung für jede Hyperparameterkombination evaluiert. Der Prozess wird wiederholt, bis die gewünschten Ergebnisse erreicht sind.
Hyperparameter im Vergleich zu Modellparametern#
Bei der Arbeit an der Hyperparameteroptimierung fragst du dich vielleicht, worin der Unterschied zwischen Hyperparametern und Modellparametern besteht.
Hyperparameter sind vor dem Training festgelegte Werte, die steuern, wie das Modell lernt, etwa die Lernrate oder die Batchgröße. Diese Einstellungen bleiben während des Trainings unverändert und beeinflussen den Lernprozess direkt. Modellparameter hingegen werden während des Trainings vom Modell selbst gelernt. Dazu gehören Gewichte und Bias-Werte, die sich während des Trainings anpassen und letztlich die Vorhersagen des Modells bestimmen. Im Wesentlichen prägen Hyperparameter den Lernprozess, während Modellparameter das Ergebnis dieses Lernprozesses sind.

Abb. 2. Vergleich von Parametern und Hyperparametern.
Warum Modellpruning beim Deep Learning wichtig ist#
Modellpruning ist eine Technik zur Größenreduzierung, bei der unnötige Gewichte und Parameter aus einem Modell entfernt werden, um es effizienter zu machen. Bei der Computer Vision, insbesondere bei tiefen neuronalen Netzen, kann eine große Anzahl von Parametern wie Gewichten und Aktivierungen (Zwischenergebnisse, die zur Berechnung der endgültigen Ausgabe beitragen) sowohl die Komplexität als auch den Rechenaufwand erhöhen. Pruning verschlankt das Modell, indem Parameter ermittelt und entfernt werden, die nur minimal zur Leistung beitragen, sodass ein kompakteres und effizienteres Modell entsteht.

Abb. 3. Vor und nach dem Modellpruning.
Nach dem Training des Modells können Techniken wie Pruning auf Grundlage der Betragshöhe oder Sensitivitätsanalysen die Bedeutung jedes Parameters bewerten. Anschließend werden Parameter mit geringer Bedeutung mithilfe einer von drei Haupttechniken entfernt: Gewichtspruning, Neuronenpruning oder strukturiertes Pruning.
Beim Gewichtspruning werden einzelne Verbindungen entfernt, die nur minimale Auswirkungen auf die Ausgabe haben. Beim Neuronenpruning werden ganze Neuronen entfernt, deren Ausgaben nur wenig zur Funktion des Modells beitragen. Strukturiertes Pruning entfernt größere Abschnitte wie Faltungsfilter oder Neuronen in vollständig verbundenen Schichten und optimiert dadurch die Effizienz des Modells. Nach Abschluss des Prunings wird das Modell erneut trainiert, um die verbleibenden Parameter feinzujustieren und sicherzustellen, dass es in kompakterer Form eine hohe Genauigkeit beibehält.
Latenz in KI-Modellen durch Quantisierung reduzieren#
Modellquantisierung reduziert die Anzahl der Bits, mit denen die Gewichte und Aktivierungen eines Modells dargestellt werden. Dabei werden Gleitkommawerte mit hoher Präzision, typischerweise mit 32 Bit, in Werte mit geringerer Präzision umgewandelt, etwa in 16- oder 8-Bit-Ganzzahlen. Durch die Verringerung der Bitpräzision senkt die Quantisierung die Modellgröße, den Speicherbedarf und den Rechenaufwand deutlich.
In der Computer Vision sind 32-Bit-Gleitkommazahlen Standard, doch die Umwandlung in 16 oder 8 Bit kann die Effizienz verbessern. Es gibt zwei Hauptarten der Quantisierung: Gewichtsquantisierung und Aktivierungsquantisierung. Die Gewichtsquantisierung verringert die Präzision der Modellgewichte und schafft ein Gleichgewicht zwischen Größenreduzierung und Genauigkeit. Die Aktivierungsquantisierung reduziert die Präzision der Aktivierungen und senkt dadurch den Speicher- und Rechenbedarf weiter.

Abb. 4. Ein Beispiel für die Quantisierung von 32-Bit-Gleitkommazahlen in 8-Bit-Ganzzahlen.
So beschleunigt gemischte Präzision KI-Inferenz#
Gemischte Präzision ist eine Technik, bei der für verschiedene Teile eines neuronalen Netzes unterschiedliche numerische Präzisionen verwendet werden. Durch die Kombination höherer Präzision, etwa bei 32-Bit-Gleitkommazahlen, mit geringerer Präzision, etwa bei 16- oder 8-Bit-Gleitkommazahlen, ermöglicht gemischte Präzision Computer-Vision-Modellen, das Training zu beschleunigen und den Speicherverbrauch zu reduzieren, ohne die Genauigkeit zu beeinträchtigen.
Während des Trainings wird gemischte Präzision erreicht, indem in bestimmten Schichten eine geringere Präzision verwendet wird, während im restlichen Netz dort eine höhere Präzision beibehalten wird, wo sie erforderlich ist. Dies geschieht durch Typumwandlung und Verlustskalierung. Die Typumwandlung konvertiert Datentypen nach Bedarf zwischen verschiedenen Präzisionsstufen. Die Verlustskalierung passt die reduzierte Präzision an, um numerischen Unterlauf zu verhindern und ein stabiles Training sicherzustellen. Gemischte Präzision ist besonders für große Modelle und große Batchgrößen nützlich.

Abb. 5. Beim Training mit gemischter Präzision werden sowohl 16-Bit- (FP16) als auch 32-Bit-Gleitkommatypen (FP32) verwendet.
Gleichgewicht zwischen Modellgenauigkeit und Effizienz#
Nachdem wir mehrere Techniken zur Modelloptimierung behandelt haben, wollen wir besprechen, wie du anhand deiner spezifischen Anforderungen die passende auswählst. Die Wahl hängt von Faktoren wie der verfügbaren Hardware, den Einschränkungen hinsichtlich Rechenleistung und Speicher in der Bereitstellungsumgebung sowie dem erforderlichen Genauigkeitsniveau ab.
Beispielsweise eignen sich kleinere, schnellere Modelle besser für mobile Geräte mit begrenzten Ressourcen, während größere und genauere Modelle auf Hochleistungssystemen eingesetzt werden können. So passt jede Technik zu unterschiedlichen Zielen:
- Pruning: Es eignet sich ideal, um die Modellgröße zu reduzieren, ohne die Genauigkeit wesentlich zu beeinträchtigen, und ist daher perfekt für ressourcenbeschränkte Geräte wie Mobiltelefone oder Geräte des Internets der Dinge (IoT).
- Quantisierung: Eine hervorragende Option, um die Modellgröße zu verringern und die Inferenz zu beschleunigen, insbesondere auf mobilen Geräten und in eingebetteten Systemen mit begrenztem Speicher und begrenzter Rechenleistung. Sie eignet sich gut für Anwendungen, bei denen geringfügige Genauigkeitseinbußen akzeptabel sind.
- Gemischte Präzision: Diese Technik ist für groß angelegte Modelle konzipiert und reduziert den Speicherverbrauch sowie die Trainingszeit auf Hardware wie GPUs und TPUs, die Operationen mit gemischter Präzision unterstützen. Sie wird häufig bei Hochleistungsaufgaben eingesetzt, bei denen Effizienz entscheidend ist.
- Hyperparameteroptimierung: Obwohl sie rechenintensiv ist, ist sie für Anwendungen mit hohen Genauigkeitsanforderungen wie medizinischer Bildgebung oder autonomem Fahren unerlässlich.
Wichtige Erkenntnisse#
Modelloptimierung ist ein wesentlicher Bestandteil des maschinellen Lernens, insbesondere für den Einsatz von KI in realen Anwendungen. Techniken wie Hyperparameteroptimierung, Modellpruning, Quantisierung und gemischte Präzision verbessern die Leistung, Effizienz und Ressourcennutzung von Computer-Vision-Modellen. Diese Optimierungen machen Modelle schneller und weniger ressourcenintensiv – ideal für Geräte mit begrenztem Speicher und begrenzter Rechenleistung. Optimierte Modelle lassen sich außerdem einfacher skalieren und auf verschiedenen Plattformen bereitstellen, wodurch KI-Lösungen ermöglicht werden, die sowohl effektiv als auch für vielfältige Einsatzbereiche anpassbar sind.
Besuche das GitHub-Repository von Ultralytics und werde Teil unserer Community, um mehr über KI-Anwendungen in der Fertigung und Landwirtschaft zu erfahren.









