Glossar

Modellbeschneidung

Optimiere Modelle für maschinelles Lernen mit Model Pruning. Erreiche schnellere Inferenzen, geringeren Speicherverbrauch und Energieeffizienz für ressourcenbeschränkte Einsätze.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Model Pruning ist eine Technik des maschinellen Lernens (ML), die dazu dient, trainierte Modelle zu optimieren, indem ihre Größe und Komplexität reduziert wird. Dabei werden weniger wichtige Parameter wie Modellgewichte oder Verbindungen innerhalb eines neuronalen Netzes (NN), die nur minimal zur Gesamtleistung des Modells beitragen, identifiziert und entfernt. Das Hauptziel ist es, kleinere und schnellere Modelle zu erstellen, die weniger Rechenleistung und Speicherplatz benötigen, ohne dass die Genauigkeit darunter leidet. Dieser Prozess ist eine spezielle Anwendung des umfassenderen Konzepts des Pruning, das direkt auf ML-Modelle angewandt wird, um sie für den Einsatz effizienter zu machen.

Warum Model Pruning verwenden?

Der Hauptgrund für das Pruning von Modellen ist die Effizienz. Moderne Deep Learning (DL) -Modelle, insbesondere in Bereichen wie Computer Vision (CV), können extrem groß und rechenintensiv sein. Dies stellt eine Herausforderung für den Einsatz der Modelle dar, insbesondere auf Geräten mit begrenzten Ressourcen wie Smartphones, eingebetteten Systemen oder in Edge-Computing-Szenarien. Das Modell Pruning hilft, diese Probleme zu lösen:

  • Verringerung der Modellgröße: Kleinere Modelle benötigen weniger Speicherplatz, was für Geräte mit begrenzter Speicherkapazität, wie sie bei Edge AI verwendet werden, entscheidend ist.
  • Höhere Inferenzgeschwindigkeit: Weniger Parameter bedeuten weniger Berechnungen, was zu einer geringeren Inferenzlatenz führt und Echtzeitinferenzen ermöglicht, die für Anwendungen wie autonome Fahrzeuge unerlässlich sind. Die Ultralytics HUB App profitiert von solchen Optimierungen für den mobilen Einsatz.
  • Senkung des Energieverbrauchs: Eine geringere Rechenlast führt zu einem niedrigeren Stromverbrauch, was zu einer nachhaltigeren KI-Praxis und einer längeren Akkulaufzeit auf mobilen Geräten beiträgt.
  • Verbesserung der Generalisierung: Manchmal kann das Pruning dazu beitragen, die Überanpassung zu reduzieren, indem redundante Parameter entfernt werden, was die Leistung des Modells bei ungesehenen Daten verbessern kann.

Arten der Modellbeschneidung

Die Techniken zur Modellbereinigung variieren, lassen sich aber im Allgemeinen in verschiedene Kategorien einteilen, die auf der Granularität des zu entfernenden Materials basieren:

  • Weight Pruning (Unstructured): Einzelne Gewichte unterhalb eines bestimmten Schwellenwerts (oft größenabhängig) werden entfernt (auf Null gesetzt). Dies kann zu spärlichen Modellen führen, erfordert aber unter Umständen spezielle Hardware oder Software wie die NVIDIA für spärliche Modelle, um die Geschwindigkeit zu erhöhen.
  • Neuron Pruning: Ganze Neuronen (und ihre Verbindungen), die als unwichtig erachtet werden, werden aus dem Netzwerk entfernt.
  • Filter/Kanal-Bereinigung (strukturiert): Ganze Filter oder Kanäle in Convolutional Neural Networks (CNNs) werden entfernt. Dieser strukturierte Pruning-Ansatz führt oft zu direkteren Geschwindigkeitssteigerungen auf Standardhardware, ohne dass spezielle Bibliotheken benötigt werden. Tools wie DeepSparse vonNeural Magic nutzen die Sparsamkeit zur CPU , oft in Kombination mit PruningYOLOv5 mit Neural Magic Tutorial).

Das Pruning kann erfolgen, nachdem das Modell vollständig trainiert wurde, oder in den Trainingsprozess integriert werden. Nach dem Pruning werden die Modelle in der Regel einer Feinabstimmung unterzogen (weiteres Training auf der kleineren Architektur), um die durch das Entfernen der Parameter verloren gegangene Leistung wiederherzustellen. Frameworks wie PyTorch bieten Hilfsprogramme zur Implementierung verschiedener Pruning-Methoden, wie im PyTorch Pruning Tutorial gezeigt wird.

Anwendungen in der realen Welt

Modellbereinigung ist in vielen KI-Bereichen nützlich:

  1. Optimierung der Objekterkennung auf Edge Devices: Modelle wie Ultralytics YOLO die für die Objekterkennung verwendet werden, können so beschnitten werden, dass sie auf ressourcenbeschränkter Hardware wie einem Raspberry Pi, der Edge TPU vonGoogle oder dem NVIDIA Jetson effizient laufen. Dies ermöglicht Anwendungen wie die Überwachung von Geräten, die Verkehrsüberwachung(Blog zur Optimierung des Verkehrsmanagements) oder die Navigation von Robotern(Blog zur Integration von CV in die Robotik).
  2. Lokale Bereitstellung großer Sprachmodelle (LLMs): Pruning-Techniken können die Größe großer Modelle, wie die auf der Transformer-Architektur basierenden, erheblich reduzieren, so dass sie für Aufgaben wie die Verarbeitung natürlicher Sprache (NLP) direkt auf den Geräten der Nutzer/innen (z. B. Smartphones) ausgeführt werden können, ohne ständig mit der Cloud verbunden zu sein. Dadurch wird der Datenschutz verbessert und die Latenzzeit für Anwendungen wie On-Device-Übersetzung oder intelligente Assistenten verringert.

Pruning vs. andere Optimierungstechniken

Model Pruning ist eine von mehreren Techniken, die zur Modelloptimierung eingesetzt werden. Sie unterscheidet sich von ihr, ergänzt sie aber oft:

  • Modellquantisierung: Verringert die numerische Genauigkeit der Modellgewichte und Aktivierungen (z. B. von 32-Bit-Fließkommazahlen auf 8-Bit-Ganzzahlen), wodurch die Modellgröße verringert und die Berechnungen beschleunigt werden, insbesondere auf Hardware mit spezieller Unterstützung wie TensorRT.
  • Wissensdestillation: Ein kleineres "Schüler"-Modell wird darauf trainiert, das Verhalten eines größeren, vorab trainierten "Lehrermodells" zu imitieren. Das Ziel ist es, das Wissen aus dem großen Modell auf ein kompakteres Modell zu übertragen.

Diese Techniken können miteinander kombiniert werden, z. B. kann ein Modell zuerst beschnitten und dann für maximale Effizienz quantisiert werden. Optimierte Modelle werden oft in Standardformate wie ONNXUltralytics Exportoptionen) exportiert, um eine breite Einsatzkompatibilität zu gewährleisten. Plattformen wie Ultralytics HUB bieten Umgebungen für die Verwaltung von Modellen und Datensätzen(z. B. COCO) und vereinfachen den Weg zum optimierten Einsatz.

Alles lesen