Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Visuelle KI

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 VinaAbirami Vina9 Min. Lesezeit
Modelloptimierungstechniken für Computer Vision

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.

Diagramm mit Gründen für die Optimierung deiner Modelle

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.

Vergleich von Parametern und Hyperparametern

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.

Neuronales Netz vor und nach dem Pruning des Modells

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.

Quantisierung von 32-Bit-Gleitkommazahlen in 8-Bit-Ganzzahlen

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.

Training mit gemischter Präzision unter Verwendung von FP16- und FP32-Gleitkommatypen

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

Abirami Vina
Abirami Vina

Content Creator · Ultralytics

Zu Beginn ihrer Laufbahn als Computer-Vision-Ingenieurin legte Abirami Vina ein solides Fundament in visueller KI und maschinellem Lernen. Sie ist Content Creator bei Ultralytics sowie Gründerin und leitende Autorin bei Scribe of AI, wo sie hochwertige technische Inhalte für Unternehmen mit Schwerpunkt auf KI erstellt. Angetrieben von ihrer Leidenschaft, KI verständlich und zugleich ansprechend zu vermitteln, schlägt ihre Arbeit eine Brücke zwischen Spitzentechnologie und praktischer Wirkung.

Kommentare

Stelle eine Frage, teile deine Ergebnisse oder hilf anderen.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens