Glossar

Beschneiden

Optimiere KI-Modelle mit Pruning - reduziere die Komplexität, steigere die Effizienz und stelle sie schneller auf Edge-Geräten bereit, ohne die Leistung zu beeinträchtigen.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Pruning ist eine Technik zur Modelloptimierung, die in der künstlichen Intelligenz (KI) und beim maschinellen Lernen (ML) eingesetzt wird, um die Größe und Komplexität der trainierten Modelle zu reduzieren. Dabei werden selektiv Parameter wie Gewichte oder Verbindungen in einem neuronalen Netzwerk (NN) entfernt, die als weniger wichtig oder überflüssig angesehen werden. 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 entscheidend für den effizienten Einsatz der Modelle, insbesondere auf Geräten mit begrenzten Ressourcen.

Die Bedeutung des Beschneidens

Da Deep-Learning-Modelle (DL) immer größer werden, um komplexe Aufgaben zu bewältigen, benötigen sie erhebliche Rechenressourcen. Pruning löst diese Herausforderung, indem es die Modelle schlanker macht. Diese Optimierung reduziert den Speicherbedarf, den Energieverbrauch und die Inferenzlatenz, was für Echtzeit-Inferenzszenarien entscheidend ist. Pruning ist besonders vorteilhaft für den Einsatz von Modellen in Umgebungen wie mobilen Geräten, eingebetteten Systemen und Edge-KI-Anwendungen, in denen Effizienz an erster Stelle steht.

Anwendungen des Beschneidens

Pruning-Techniken werden in vielen KI-Bereichen eingesetzt. Hier sind zwei konkrete Beispiele:

  1. Mobile Computer Vision: Ultralytics YOLO Modelle, die oft für die Objekterkennung auf Smartphones verwendet werden, können so beschnitten werden, dass sie effizient laufen, ohne den Akku zu belasten oder zu viel Speicherplatz zu benötigen. Dies ermöglicht Echtzeitanwendungen wie mobile Augmented Reality oder Bildanalysen auf dem Gerät. Der Einsatz eines beschnittenen Modells auf einem Raspberry Pi, der mit einer Google Edge TPU ausgestattet ist, kann die Leistung erheblich steigern, wie in Anleitungen wie dem Edge TPU on Raspberry Pi Tutorial gezeigt wird.
  2. Autonome Fahrsysteme: Selbstfahrende Autos sind bei Aufgaben wie der Erkennung von Fußgängern und anderen Fahrzeugen auf komplexe Modelle angewiesen. Die Optimierung dieser Modelle verkürzt die Zeit, die benötigt wird, um wichtige Entscheidungen zu treffen, und erhöht so die Sicherheit und Reaktionsfähigkeit. Optimierte Modelle können mit Tools wie NVIDIA TensorRT für den Einsatz auf den in autonomen Fahrzeugen üblichen GPUs beschleunigt werden.

Arten und Techniken

Die Beschneidungsmethoden können unterschiedlich sein, fallen aber im Allgemeinen in diese Kategorien:

  • Unstructured Pruning: Entfernt einzelne Gewichte auf der Grundlage ihrer Größe oder Wichtigkeit, was zu spärlichen Modellen führt, die für eine effiziente Ausführung spezielle Hardware oder Software wie DeepSparse vonNeural Magic benötigen. Ultralytics bietet Integrationsleitfäden für Tools wie Neural Magic.
  • Strukturiertes Pruning: Entfernt ganze Strukturen wie Filter, Kanäle oder Schichten. Das Ergebnis sind kleinere, dichte Modelle, die sich in der Regel leichter auf Standardhardware einsetzen lassen. Weitere Details zu strukturierten Ansätzen finden sich in Forschungsarbeiten wie NVIDIA Arbeit über strukturierte Sparsamkeit.

Pruning kann in verschiedenen Phasen angewendet werden: vor dem Training (Festlegung der Architektur), während des Trainings oder nach dem Training (Feinabstimmung eines bereits trainierten Modells). Plattformen wie PyTorch bieten Hilfsprogramme, die verschiedene Pruning-Techniken erleichtern.

Pruning vs. andere Optimierungstechniken

Pruning ist eine von mehreren Strategien zur Modelloptimierung. Es ist wichtig, sie von verwandten Konzepten zu unterscheiden:

  • Modellquantisierung: Verringert die numerische Genauigkeit der Modellgewichte (z. B. von 32-Bit-Fließkommazahlen auf 8-Bit-Ganzzahlen), wodurch die Größe verringert und die Berechnung beschleunigt wird, ohne Parameter zu entfernen.
  • Wissensdestillation: Trainiert ein kleineres "Schüler"-Modell, um die Ausgabe eines größeren, vorab trainierten "Lehrer"-Modells zu replizieren.

Diese Techniken schließen sich nicht gegenseitig aus und werden oft mit Pruning kombiniert, um maximale Effizienz zu erreichen. Einen umfassenderen Überblick findest du in diesem Leitfaden zur Modelloptimierung. Modelle, die durch Pruning optimiert wurden, können oft in Standardformate exportiert werden wie ONNX exportiert werden, um die Kompatibilität für den Einsatz zu erhöhen.

Zusammenfassend lässt sich sagen, dass Pruning eine wertvolle Technik ist, um effiziente KI-Modelle zu erstellen, die für verschiedene Einsatzzwecke geeignet sind und einen wichtigen Beitrag zur praktischen Anwendung von Computer Vision (CV) und anderen ML-Aufgaben leisten. Tools und Plattformen wie Ultralytics HUB enthalten oft solche Optimierungsmethoden oder erleichtern sie.

Alles lesen