Was ist Modelloptimierung? Eine kurze Anleitung
Erfahre, wie Modelloptimierungstechniken wie die Optimierung von Hyperparametern, das Beschneiden von Modellen und die Quantisierung von Modellen Computer-Vision-Modelle effizienter machen können.
Abirami Vina9 Min. Lesezeit
Modelloptimierung ist ein Prozess, der die Effizienz und Leistung von maschinellen Lernmodellen verbessern soll. Durch die Verfeinerung der Struktur und Funktionsweise eines Modells ermöglicht die Optimierung bessere Ergebnisse bei minimalem Rechenaufwand und kürzerer Trainings- und Auswertungszeit.
Dieser Prozess ist besonders wichtig in Bereichen wie Computer Vision, in denen Modelle oft erhebliche Ressourcen benötigen, um komplexe Bilder zu analysieren. In Umgebungen mit begrenzten Ressourcen, etwa auf Mobilgeräten oder Edge-Systemen, können optimierte Modelle auch mit knappen Ressourcen gute Ergebnisse erzielen und dabei genau bleiben.
Zur Modelloptimierung werden häufig verschiedene Techniken eingesetzt, darunter die Optimierung von Hyperparametern, das Beschneiden von Modellen, die Quantisierung von Modellen und Mixed Precision. In diesem Artikel stellen wir diese Techniken und ihre Vorteile für Computer-Vision-Anwendungen vor.
Modelloptimierung verstehen#
Computer-Vision-Modelle haben in der Regel tiefe Schichten und komplexe Strukturen, die sich hervorragend dazu eignen, komplizierte Muster in Bildern zu erkennen. Gleichzeitig können sie aber auch sehr hohe Rechenleistung erfordern. Werden diese Modelle auf Geräten mit begrenzter Hardware wie Mobiltelefonen oder Edge-Geräten bereitgestellt, können bestimmte Herausforderungen und Einschränkungen auftreten.
Die begrenzte Rechenleistung, der knappe Arbeitsspeicher und die geringe Energieversorgung dieser Geräte können zu spürbaren Leistungseinbußen führen, weil die Modelle nicht Schritt halten können. Techniken zur Modelloptimierung sind entscheidend, um diese Probleme anzugehen. Sie vereinfachen das Modell, verringern den Rechenbedarf und sorgen dafür, dass das Modell auch mit begrenzten Ressourcen effektiv arbeitet. Ein Modell lässt sich optimieren, indem man seine Architektur vereinfacht, die numerische Präzision der Berechnungen verringert oder unnötige Bestandteile entfernt, damit es kleiner und schneller wird.

Abb. 1. Gründe für die Optimierung deiner Modelle. Abbildung vom Autor.
Im Folgenden findest du einige der gängigsten Techniken zur Modelloptimierung, die wir in den nächsten Abschnitten ausführlicher behandeln:
- Abstimmung von Hyperparametern: Dabei werden Hyperparameter wie die Lernrate und die Batchgröße systematisch angepasst, um die Modellleistung zu verbessern.
- Pruning von Modellen: Bei diesem Verfahren werden unnötige Gewichte und Verbindungen im neuronalen Netz entfernt, um dessen Komplexität und Rechenaufwand zu verringern.
- Modellquantisierung: Bei der Quantisierung wird die Präzision der Gewichte und Aktivierungen eines Modells meist von 32 Bit auf 16 oder 8 Bit verringert. Dadurch sinken der Speicherbedarf und der Rechenaufwand erheblich.
- Anpassung der Rechengenauigkeit: Dieses auch als Training mit gemischter Genauigkeit bekannte Verfahren nutzt unterschiedliche Genauigkeitsformate für verschiedene Teile des Modells und optimiert so den Ressourcenverbrauch, ohne die Genauigkeit zu beeinträchtigen.
Erklärt: Hyperparameter in Machine-Learning-Modellen#
Du kannst einem Modell helfen, besser zu lernen und bessere Ergebnisse zu erzielen, indem du seine Hyperparameter optimierst – also Einstellungen, die bestimmen, wie das Modell aus Daten lernt. Hyperparameteroptimierung dient dazu, diese Einstellungen anzupassen und so die Effizienz und Genauigkeit des Modells zu verbessern. Anders als Parameter, die das Modell während des Trainings lernt, sind Hyperparameter vorab festgelegte Werte, die den Trainingsprozess steuern.
Sehen wir uns einige Beispiele für abstimmbare Hyperparameter an:
- Lernrate: Dieser Parameter bestimmt die Schrittgröße, mit der das Modell seine internen Gewichte anpasst. Eine höhere Lernrate kann das Lernen beschleunigen, birgt jedoch das Risiko, die optimale Lösung zu überspringen. Eine niedrigere Lernrate kann genauer, aber langsamer sein.
- Batchgröße: Sie gibt an, wie viele Datenbeispiele in jedem Trainingsschritt verarbeitet werden. Größere Batches ermöglichen ein stabileres Lernen, benötigen aber mehr Speicher. Kleinere Batches lassen sich schneller trainieren, können jedoch weniger stabil sein.
- Epochen: Mit diesem Parameter legst du fest, wie oft das Modell den gesamten Datensatz durchläuft. Mehr Epochen können die Genauigkeit verbessern, bergen aber das Risiko einer Überanpassung.
- Kernelgröße: Sie legt die Filtergröße in Convolutional Neural Networks (CNNs) fest. Größere Kernel erfassen umfassendere Muster, benötigen aber mehr Rechenleistung; kleinere Kernel konzentrieren sich auf feinere Details.
So funktioniert die Abstimmung von Hyperparametern#
Bei der Hyperparameteroptimierung legst du zunächst für jeden Hyperparameter einen Bereich möglicher Werte fest. Ein Suchalgorithmus untersucht anschließend verschiedene Kombinationen innerhalb dieser Bereiche, um die Einstellungen mit der besten Leistung zu ermitteln.
Zu den gängigen Optimierungsmethoden gehören die Gittersuche, die zufällige Suche und die Bayes’sche Optimierung. Bei der Gittersuche wird jede mögliche Wertekombination innerhalb der festgelegten Bereiche getestet. Bei der zufälligen Suche werden Kombinationen nach dem Zufallsprinzip ausgewählt, wodurch sich oft schneller wirksame Einstellungen finden lassen. Die Bayes’sche Optimierung verwendet ein probabilistisches Modell, um anhand vorheriger Ergebnisse vielversprechende Hyperparameterwerte vorherzusagen. Dieser Ansatz verringert in der Regel die Anzahl der erforderlichen Versuche.
Letztendlich wird die Leistung des Modells für jede Hyperparameterkombination bewertet. Der Vorgang wird so lange wiederholt, bis die gewünschten Ergebnisse erreicht sind.
Hyperparameter und Modellparameter im Vergleich#
Bei der Abstimmung von Hyperparametern fragst du dich vielleicht, worin der Unterschied zwischen Hyperparametern und Modellparametern besteht.
Hyperparameter sind Werte, die vor dem Training festgelegt werden und steuern, wie das Modell lernt, zum Beispiel die Lernrate oder die Stapelgröße. Diese Einstellungen bleiben während des Trainings unverändert und beeinflussen den Lernprozess unmittelbar. Modellparameter hingegen lernt das Modell selbst während des Trainings. Dazu gehören Gewichte und Bias-Werte, die sich beim Training anpassen und letztlich die Vorhersagen des Modells bestimmen. Kurz gesagt: Hyperparameter gestalten den Lernprozess, während Modellparameter das Ergebnis dieses Lernprozesses sind.

Abb. 2. Vergleich von Parametern und Hyperparametern.
Warum das Pruning beim Deep Learning wichtig ist#
Modellbeschneidung ist eine Technik zur Größenreduzierung, bei der unnötige Gewichte und Parameter aus einem Modell entfernt werden, um es effizienter zu machen. Bei Computer Vision, insbesondere bei tiefen neuronalen Netzen, kann eine große Anzahl von Parametern wie Gewichten und Aktivierungen (Zwischenergebnissen, die bei der Berechnung des Endergebnisses helfen) sowohl die Komplexität als auch den Rechenaufwand erhöhen. Durch das Beschneiden wird das Modell vereinfacht: Parameter, die nur wenig zur Leistung beitragen, werden ermittelt und entfernt. So entsteht ein leichteres und effizienteres Modell.

Abb. 3 Modell vor und nach dem Beschneiden.
Nach dem Training des Modells können Verfahren wie das Pruning auf Basis der Beträge oder eine Sensitivitätsanalyse die Bedeutung jedes Parameters bewerten. Parameter mit geringer Bedeutung werden anschließend mit einem von drei Hauptverfahren entfernt: Gewichts-Pruning, Neuronen-Pruning oder strukturiertes Pruning.
Beim Beschneiden von Gewichten werden einzelne Verbindungen entfernt, die nur minimale Auswirkungen auf die Ausgabe haben. Beim Beschneiden von Neuronen werden ganze Neuronen entfernt, deren Ausgaben nur wenig zur Funktion des Modells beitragen. Beim strukturierten Beschneiden werden größere Bereiche wie Faltungsfilter oder Neuronen in vollständig verbundenen Schichten entfernt, um die Effizienz des Modells zu steigern. Nach dem Beschneiden wird das Modell erneut trainiert, um die verbleibenden Parameter fein abzustimmen und sicherzustellen, dass es trotz seiner kleineren Form eine hohe Genauigkeit beibehält.
Latenz von AI-Modellen durch Quantisierung reduzieren#
Bei der Modellquantisierung wird die Anzahl der Bits verringert, mit denen die Gewichte und Aktivierungen eines Modells dargestellt werden. Dabei werden in der Regel 32-Bit-Gleitkommazahlen mit hoher Präzision in Werte mit geringerer Präzision umgewandelt, etwa 16-Bit-Gleitkommazahlen oder 8-Bit-Ganzzahlen. Durch die geringere Bitpräzision verringert die Quantisierung die Modellgröße, den Speicherbedarf und die Rechenkosten erheblich.
In der Computer Vision sind 32-Bit-Gleitkommazahlen üblich, doch eine Umwandlung in 16 oder 8 Bit kann die Effizienz steigern. Es gibt zwei Hauptarten der Quantisierung: die Quantisierung von Gewichten und die Quantisierung von Aktivierungen. Bei der Gewichtsquantisierung wird die Präzision der Modellgewichte verringert, um Größenreduzierung und Genauigkeit in Einklang zu bringen. Die Aktivierungsquantisierung verringert die Präzision der Aktivierungen und senkt damit zusätzlich den Speicher- und Rechenaufwand.

Abb. 4 Ein Beispiel für die Quantisierung von 32-Bit-Gleitkommazahlen in 8-Bit-Ganzzahlen.
Wie gemischte Präzision KI-Inferenz beschleunigt#
Mixed Precision ist eine Technik, bei der für verschiedene Teile eines neuronalen Netzes unterschiedliche numerische Präzisionen verwendet werden. Durch die Kombination höherer Präzisionen wie 32-Bit-Gleitkommazahlen mit niedrigeren Präzisionen wie 16- oder 8-Bit-Gleitkommazahlen können Computer-Vision-Modelle schneller trainiert werden und weniger Speicher benötigen, ohne an Genauigkeit einzubüßen.
Beim Training wird gemischte Präzision erreicht, indem in bestimmten Schichten eine geringere Genauigkeit verwendet wird, während im gesamten Netz dort eine höhere Genauigkeit beibehalten wird, wo sie benötigt wird. Dies geschieht durch Typumwandlung und Verlustskalierung. Bei der Typumwandlung werden Datentypen je nach Bedarf des Modells zwischen verschiedenen Genauigkeiten umgewandelt. Die Verlustskalierung gleicht die geringere Genauigkeit aus, um numerischen Unterlauf zu verhindern und ein stabiles Training sicherzustellen. Gemischte Präzision ist besonders für große Modelle und große Stapelgrößen nützlich.

Abb. 5 Beim Training mit gemischter Präzision werden sowohl 16-Bit-(FP16)- als auch 32-Bit-(FP32)-Gleitkommatypen verwendet.
Modellgenauigkeit und Effizienz in Einklang bringen#
Nachdem wir nun verschiedene Techniken zur Modelloptimierung behandelt haben, sehen wir uns an, wie du je nach deinen konkreten Anforderungen die passende auswählst. Die Wahl hängt von Faktoren wie der verfügbaren Hardware, den Rechen- und Speicherbeschränkungen der Bereitstellungsumgebung und der erforderlichen Genauigkeit ab.
Kleinere, schnellere Modelle eignen sich beispielsweise besser für Mobilgeräte mit begrenzten Ressourcen, während größere und genauere Modelle auf leistungsstarken Systemen eingesetzt werden können. So passen die einzelnen Techniken zu unterschiedlichen Zielen:
- Pruning: Diese Technik eignet sich ideal, um die Modellgröße zu verringern, ohne die Genauigkeit wesentlich zu beeinträchtigen. Damit ist sie perfekt für Geräte mit begrenzten Ressourcen, etwa Mobiltelefone oder Geräte des Internets der Dinge (IoT).
- Quantisierung: Eine gute Möglichkeit, die Modellgröße zu verringern und die Inferenz zu beschleunigen, insbesondere auf Mobilgeräten und eingebetteten Systemen mit wenig Speicher und Rechenleistung. Sie eignet sich gut für Anwendungen, bei denen geringfügige Genauigkeitseinbußen akzeptabel sind.
- Mixed Precision: Diese Technik wurde für Modelle im großen Maßstab entwickelt und verringert den Speicherbedarf sowie beschleunigt das Training auf Hardware wie GPUs und TPUs, die Operationen mit gemischter Präzision unterstützen. Sie wird häufig bei leistungsintensiven Aufgaben eingesetzt, bei denen Effizienz eine wichtige Rolle spielt.
- Hyperparameteroptimierung: Obwohl sie rechenintensiv ist, ist sie für Anwendungen mit hohen Genauigkeitsanforderungen unverzichtbar, zum Beispiel für die medizinische Bildgebung oder das autonome Fahren.
Die wichtigsten Erkenntnisse#
Die Modelloptimierung ist ein wichtiger Bestandteil des maschinellen Lernens, insbesondere wenn KI in realen Anwendungen eingesetzt wird. Techniken wie Hyperparameteroptimierung, Modell-Pruning, Quantisierung und gemischte Präzision tragen dazu bei, die Leistung, Effizienz und Ressourcennutzung von Computer-Vision-Modellen zu verbessern. Durch diese Optimierungen werden Modelle schneller und ressourcenschonender. Das ist ideal für Geräte mit begrenztem Speicher und geringer Rechenleistung. Optimierte Modelle lassen sich außerdem einfacher skalieren und auf verschiedenen Plattformen einsetzen. So können KI-Lösungen entstehen, die sowohl effektiv als auch an ein breites Spektrum von Anwendungsfällen 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.
Verfasst von
Kommentare
Stelle eine Frage, teile deine Ergebnisse oder hilf anderen.










