Glossar

Beschneiden

Optimieren Sie KI-Modelle mit Pruning - reduzieren Sie die Komplexität, steigern Sie die Effizienz und stellen Sie sie schneller auf Edge-Geräten bereit, ohne die Leistung zu beeinträchtigen.

Pruning ist eine Technik zur Modelloptimierung, die dazu dient, die Größe und Rechenkomplexität eines trainierten neuronalen Netzes (NN) zu reduzieren. Bei diesem Verfahren werden redundante oder weniger wichtige Parameter (Gewichte) oder Strukturen (Neuronen, Kanäle oder Schichten) identifiziert und aus dem Modell entfernt. Ziel ist es, ein kleineres, schnelleres und energieeffizienteres Modell zu erstellen, das eine vergleichbare Genauigkeit wie das ursprüngliche Modell beibehält. Dies ist besonders wichtig für den Einsatz komplexer KI-Modelle in ressourcenbeschränkten Umgebungen, wie z. B. in Edge-Geräten.

Wie das Beschneiden funktioniert

Der Prozess des Pruning beginnt in der Regel, nachdem ein Deep-Learning-Modell vollständig trainiert worden ist. Er beruht auf dem Prinzip, dass viele große Modelle überparametrisiert sind, d. h. sie enthalten viele Gewichte und Neuronen, die nur wenig zur endgültigen Vorhersage beitragen. Eine gängige Methode zur Identifizierung dieser unwichtigen Komponenten ist die Analyse ihrer Größe; Parameter mit Werten nahe Null werden als weniger wichtig angesehen. Sobald sie identifiziert sind, werden diese Parameter entfernt oder auf Null gesetzt. Nach dem Pruning-Prozess wird das nun kleinere Netz in der Regel einer Feinabstimmung unterzogen, bei der das Modell für einige weitere Epochen neu trainiert wird. Dieser Schritt hilft den verbleibenden Parametern, sich an die architektonischen Änderungen anzupassen und die Leistung wiederherzustellen, die während des Pruning-Prozesses verloren gegangen sein könnte. Dieser iterative Prozess des Pruning und der Feinabstimmung kann wiederholt werden, um das gewünschte Gleichgewicht zwischen Modellgröße und Leistung zu erreichen, wie in grundlegenden Forschungsarbeiten wie"Deep Compression" beschrieben.

Arten von Beschneidung

Pruning-Techniken lassen sich grob in verschiedene Kategorien einteilen, je nachdem, was aus dem Netz entfernt wird:

  • Unstrukturiertes Pruning (Weight Pruning): Bei dieser Methode werden einzelne Gewichte auf der Grundlage eines bestimmten Kriteriums, z. B. ihrer Größe, aus dem Netz entfernt. Das Ergebnis ist ein spärliches Modell, bei dem viele Verbindungen auf Null reduziert werden. Dies kann zwar die Anzahl der Parameter erheblich reduzieren, führt aber nicht immer zu einer schnelleren Inferenz auf Standardhardware wie CPUs oder GPUs ohne spezielle Softwarebibliotheken, wie z. B. NVIDIAs Tools für spärliche Modelle.
  • Strukturiertes Pruning: Bei diesem Ansatz werden ganze strukturelle Komponenten des Netzwerks entfernt, z. B. Neuronen, Kanäle oder sogar ganze Schichten innerhalb eines Convolutional Neural Network (CNN). Da regelmäßige Blöcke des Netzwerks entfernt werden, werden die Größe des Modells und die Rechenanforderungen direkt reduziert, so dass Standardhardware leicht genutzt werden kann, was oft zu vorhersehbaren Geschwindigkeitssteigerungen führt. Tools wie DeepSparse von Neural Magic sind darauf ausgelegt, die Inferenz auf CPUs für solche strukturierten Sparse-Modelle zu beschleunigen.

Große Frameworks für maschinelles Lernen wie PyTorch und TensorFlow bieten integrierte Dienstprogramme und Anleitungen für die Implementierung von Pruning.

Anwendungen in der realen Welt

Pruning ist unerlässlich für den Einsatz leistungsstarker KI-Modelle in praktischen Szenarien, in denen die Rechenressourcen begrenzt sind.

  1. Optimierung der Objekterkennung auf Edge Devices: Modelle wie Ultralytics YOLO werden für die Objekterkennung in Echtzeit verwendet. Durch Beschneidung eines Modells wie YOLOv8 kann es auf stromsparenden Edge-Geräten wie einem Raspberry Pi oder NVIDIA Jetson eingesetzt werden. Dies ermöglicht Anwendungen wie die intelligente Überwachung auf Geräten, die Optimierung des Verkehrsmanagements und die Integration von Computer Vision in die Robotik.
  2. Lokale Ausführung großer Sprachmodelle (LLMs): Durch Pruning kann der Speicherbedarf von großen Sprachmodellen (Large Language Models, LLM), die auf Architekturen wie dem Transformer basieren, drastisch reduziert werden. Ein beschnittenes LLM kann direkt auf einem Smartphone oder Laptop für Aufgaben der natürlichen Sprachverarbeitung (NLP) wie Textzusammenfassung oder lokale virtuelle Assistenten ausgeführt werden. Dies verbessert die Reaktionsfähigkeit und erhöht den Datenschutz, da die Nutzerdaten auf dem Gerät verbleiben - ein wichtiger Grundsatz für Organisationen wie die Electronic Frontier Foundation (EFF).

Pruning vs. andere Optimierungstechniken

Pruning ist eine von mehreren Techniken zur Modelloptimierung und wird häufig neben anderen eingesetzt. Es ist wichtig, es von verwandten Konzepten zu unterscheiden:

  • Modell Quantisierung: Diese Technik reduziert die numerische Genauigkeit der Gewichte und Aktivierungen des Modells (z. B. von 32-Bit-Fließkommazahlen auf 8-Bit-Ganzzahlen). Dadurch wird die Größe des Modells verringert und die Berechnung kann beschleunigt werden, insbesondere auf Hardware mit spezieller Unterstützung. Im Gegensatz zum Pruning, bei dem Parameter entfernt werden, werden sie bei der Quantisierung komprimiert.
  • Wissensdestillation: Bei dieser Methode wird ein kleineres "Schüler"-Modell trainiert, um die Ausgabe eines größeren, vorab trainierten "Lehrermodells" zu replizieren. Das Ziel besteht darin, das gelernte Wissen auf eine kompaktere Architektur zu übertragen, während das Pruning die bestehende Architektur verändert.

Diese Techniken schließen sich nicht gegenseitig aus. Ein gängiger Arbeitsablauf besteht darin, zunächst ein Modell zu beschneiden, um redundante Parameter zu entfernen, und dann eine Quantisierung auf das beschnittene Modell anzuwenden, um maximale Effizienz zu erzielen. Optimierte Modelle können dann mit der Ultralytics-Exportfunktion in Standardformate wie ONNX exportiert werden, damit sie in verschiedenen Inferenzmaschinen eingesetzt werden können. Plattformen wie Ultralytics HUB können bei der Verwaltung des gesamten Lebenszyklus helfen, vom Training bis zur Bereitstellung optimierter Modelle.

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