Glossar

Modell Beschneiden

Optimieren Sie Modelle für maschinelles Lernen mit Model Pruning. Erzielen Sie schnellere Schlussfolgerungen, geringere Speichernutzung und Energieeffizienz für ressourcenbeschränkte Bereitstellungen.

Model Pruning ist eine Technik zur Modelloptimierung, die neuronale Netze kleiner und rechnerisch effizienter macht. Die Kernidee besteht darin, redundante oder unwichtige Parameter (Gewichte, Neuronen oder Kanäle) aus einem trainierten Modell zu identifizieren und zu entfernen. Dieser Prozess reduziert die Größe des Modells und kann die Inferenz erheblich beschleunigen, was es ideal für den Einsatz auf Endgeräten mit begrenztem Speicher und begrenzter Rechenleistung macht. Das Konzept basiert auf der Beobachtung, dass viele große Modelle überparametrisiert sind, d. h. sie enthalten Komponenten, die nur wenig zur endgültigen Vorhersage beitragen. In bahnbrechenden Arbeiten wie Optimal Brain Damage wurde schon früh festgestellt, dass nicht alle Parameter gleich sind.

Arten des Modell-Beschneidens

Modellbereinigungsverfahren werden in der Regel nach der Granularität dessen, was aus dem Netz entfernt wird, kategorisiert:

  • Weight Pruning (unstrukturiert): Dies ist die feinste Methode, bei der einzelne Modellgewichte mit Werten unter einem bestimmten Schwellenwert auf Null gesetzt werden. Dadurch entsteht ein "spärliches" Modell, das stark komprimiert werden kann. Allerdings sind häufig spezielle Hardware- oder Softwarebibliotheken erforderlich, wie z. B. die NVIDIA-Tools für spärliche Modelle, um bei der Inferenz erhebliche Geschwindigkeitssteigerungen zu erzielen.
  • Neuronen-Beschneidung: Bei diesem Ansatz werden ganze Neuronen und alle ihre eingehenden und ausgehenden Verbindungen entfernt, wenn sie als unwichtig erachtet werden. Dies ist eine strukturiertere Form des Pruning als das Entfernen einzelner Gewichte.
  • Filter/Kanal-Bereinigung (strukturiert): Diese Methode ist besonders für Convolutional Neural Networks (CNNs) relevant und entfernt ganze Filter oder Kanäle. Da die dichte, regelmäßige Struktur der Netzwerkschichten erhalten bleibt, führt dieser Ansatz oft zu direkten Leistungssteigerungen auf Standardhardware, ohne dass spezielle Bibliotheken erforderlich sind. Tools wie DeepSparse von Neural Magic wurden entwickelt, um diese spärlichen Modelle auf CPUs zu beschleunigen.

Nach dem Beschneiden werden die Modelle in der Regel einer Feinabstimmung unterzogen, bei der das kleinere Netz einige Epochen lang neu trainiert wird, um die durch das Entfernen der Parameter verlorene Genauigkeit wiederherzustellen. Die berühmte Lotterieschein-Hypothese besagt, dass es innerhalb eines großen Netzes ein kleineres Teilnetz gibt, das eine ähnliche Leistung erzielen kann, wenn es von Grund auf neu trainiert wird. Frameworks wie PyTorch bieten integrierte Tools für die Implementierung, wie im offiziellen PyTorch Pruning Tutorial gezeigt wird.

Anwendungen in der realen Welt

Modellbereinigung ist entscheidend für den Einsatz effizienter KI-Modelle in verschiedenen Szenarien:

  1. Optimierung der Objekterkennung auf Edge-Geräten: Modelle wie Ultralytics YOLO können so beschnitten werden, dass sie für Objekterkennungsaufgaben auf ressourcenbeschränkter Hardware wie einem Raspberry Pi oder NVIDIA Jetson effizient laufen. Dies ermöglicht Echtzeitanwendungen wie Verkehrsmanagement, intelligente Überwachung und die Integration von Computer Vision in die Robotik.
  2. Lokaler Einsatz von großen Sprachmodellen (LLMs): Pruning wird verwendet, um große Modelle auf der Grundlage der Transformer-Architektur zu verkleinern, damit sie auf Geräten wie Smartphones für die Verarbeitung natürlicher Sprache (NLP) eingesetzt werden können. Dieser Ansatz, der manchmal mit anderen Techniken wie Quantisierung kombiniert wird, ermöglicht leistungsstarke KI-Assistenten und Übersetzungs-Apps auf dem Gerät, während gleichzeitig der Datenschutz verbessert und die Latenzzeit verringert wird. Forschung und Tools von Organisationen wie Hugging Face erforschen LLM Pruning.

Pruning vs. andere Optimierungstechniken

Die Modelloptimierung ist eine von mehreren sich ergänzenden Techniken zur Modelloptimierung:

  • Modell Quantisierung: Bei dieser Technik wird die numerische Genauigkeit der Modellgewichte und -aktivierungen reduziert (z. B. von 32-Bit-Gleitkommazahlen auf 8-Bit-Ganzzahlen). Im Gegensatz zum Pruning, bei dem Parameter entfernt werden, werden bei der Quantisierung die vorhandenen Parameter verkleinert. Sie wird oft nach dem Pruning angewandt, um eine maximale Optimierung zu erreichen, insbesondere wenn Hardware mit spezieller Unterstützung wie TensorRT verwendet wird.
  • Wissensdestillation: Bei dieser Methode wird ein kleineres "Schüler"-Modell so trainiert, dass es die Ausgabe eines größeren, vorab trainierten "Lehrermodells" nachahmt. Das Ziel besteht darin, das vom Lehrer gelernte Wissen auf eine kompaktere Architektur zu übertragen. Dies unterscheidet sich vom Pruning, bei dem ein bereits trainiertes Modell verkleinert wird, anstatt ein neues Modell zu trainieren.

Letztlich können diese Techniken in Kombination verwendet werden, um hocheffiziente Modelle zu erstellen. Nach der Optimierung kann ein Modell mithilfe der Ultralytics-Exportoptionen in Standardformate wie ONNX exportiert werden, damit es in verschiedenen Inferenzmaschinen eingesetzt werden kann. Plattformen wie Ultralytics HUB bieten die Werkzeuge zur Verwaltung des gesamten Lebenszyklus von Computer-Vision-Modellen, vom Training bis zur optimierten Bereitstellung.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert