Schalten Sie ein zu YOLO Vision 2025!
25. September 2025
10:00 — 18:00 Uhr BST
Hybride Veranstaltung
Yolo Vision 2024
Glossar

Pruning

Optimieren Sie KI-Modelle durch 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 Modelloptimierungstechnik, die verwendet wird, um die Größe und die rechnerische Komplexität eines trainierten neuronalen Netzes (NN) zu reduzieren. Der Prozess umfasst das Identifizieren und Entfernen von redundanten oder weniger wichtigen Parametern (Gewichten) oder Strukturen (Neuronen, Kanäle oder Schichten) aus dem Modell. Ziel ist es, ein kleineres, schnelleres und energieeffizienteres Modell zu erstellen, das ein vergleichbares Maß an Genauigkeit wie das Originalmodell beibehält. Dies ist besonders wichtig für den Einsatz komplexer KI-Modelle in ressourcenbeschränkten Umgebungen, wie z. B. auf Edge-Geräten.

Wie Pruning funktioniert

Der Prozess des Pruning beginnt typischerweise, nachdem ein Deep-Learning-Modell vollständig trainiert wurde. Es basiert auf dem Prinzip, dass viele große Modelle überparametrisiert sind, was bedeutet, dass sie viele Gewichte und Neuronen enthalten, die sehr wenig zur endgültigen Vorhersage beitragen. Eine gängige Methode, um diese unwichtigen Komponenten zu identifizieren, ist die Analyse ihrer Größenordnung; Parameter mit Werten nahe Null gelten als weniger signifikant. Nach der Identifizierung werden diese Parameter entfernt oder auf Null gesetzt. Nach dem Pruning-Prozess wird das nun kleinere Netzwerk in der Regel einem Fine-Tuning unterzogen, bei dem das Modell für einige weitere Epochen erneut trainiert wird. Dieser Schritt hilft den verbleibenden Parametern, sich an die architektonischen Veränderungen anzupassen und jegliche Leistung wiederzuerlangen, die während des Pruning verloren gegangen sein könnte. Dieser iterative Prozess des Pruning und Fine-Tuning kann wiederholt werden, um ein gewünschtes Gleichgewicht zwischen Modellgröße und Leistung zu erreichen, wie in grundlegenden Forschungsarbeiten wie "Deep Compression" beschrieben.

Arten von Pruning

Pruning-Techniken lassen sich grob danach einteilen, was aus dem Netzwerk entfernt wird:

  • Unstrukturiertes Pruning (Weight Pruning): Diese Methode entfernt einzelne Gewichte aus dem Netzwerk basierend auf einem bestimmten Kriterium, wie z. B. ihrer Größe. Dies führt zu einem spärlichen Modell, bei dem viele Verbindungen auf Null gesetzt werden. Dies kann zwar die Anzahl der Parameter erheblich reduzieren, führt aber ohne spezielle Softwarebibliotheken, wie z. B. NVIDIAs Tools für spärliche Modelle, nicht immer zu einer schnelleren Inferenz auf Standardhardware wie CPUs oder GPUs.
  • Strukturiertes Pruning: Dieser Ansatz entfernt ganze Strukturkomponenten des Netzwerks, wie z. B. Neuronen, Kanäle oder sogar ganze Schichten innerhalb eines Convolutional Neural Network (CNN). Da er reguläre Blöcke des Netzwerks entfernt, reduziert er direkt die Größe des Modells und die Rechenanforderungen in einer Weise, die Standard-Hardware leicht ausnutzen kann, was oft zu besser vorhersagbaren Beschleunigungen führt. Tools wie Neural Magic's DeepSparse sind darauf ausgelegt, die Inferenz auf CPUs für solche strukturierten, spärlichen Modelle zu beschleunigen.

Wichtige Machine-Learning-Frameworks wie PyTorch und TensorFlow bieten integrierte Dienstprogramme und Tutorials zur Implementierung von Pruning.

Anwendungsfälle in der Praxis

Pruning ist unerlässlich, um leistungsstarke KI-Modelle in praktischen Szenarien einzusetzen, in denen die Rechenressourcen begrenzt sind.

  1. Optimierung der Objekterkennung auf Edge-Geräten: Modelle wie Ultralytics YOLO werden für die Echtzeit-Objekterkennung verwendet. Durch das Beschneiden eines Modells wie YOLOv8 kann es auf Edge-Geräten mit geringem Stromverbrauch wie einem Raspberry Pi oder NVIDIA Jetson eingesetzt werden. Dies ermöglicht Anwendungen wie intelligente On-Device-Überwachung, Optimierung des Verkehrsmanagement und Integration von Computer Vision in der Robotik.
  2. Lokales Ausführen großer Sprachmodelle (LLMs): Das Beschneiden kann den Speicherbedarf von Large Language Models (LLMs), die auf Architekturen wie dem Transformer basieren, drastisch reduzieren. Ein beschnittenes LLM kann direkt auf einem Smartphone oder Laptop für Natural Language Processing (NLP)-Aufgaben wie Textzusammenfassung oder lokale virtuelle Assistenten ausgeführt werden. Dies verbessert die Reaktionsfähigkeit und erhöht den Datenschutz, indem die Benutzerdaten auf dem Gerät gespeichert werden, ein wichtiges Prinzip für Organisationen wie die Electronic Frontier Foundation (EFF).

Pruning vs. andere Optimierungstechniken

Pruning ist eine von mehreren Techniken zur Modelloptimierung und wird oft zusammen mit anderen verwendet. Es ist wichtig, es von verwandten Konzepten zu unterscheiden:

  • Modellquantisierung: Diese Technik reduziert die numerische Präzision der Gewichte und Aktivierungen des Modells (z. B. von 32-Bit-Gleitkommazahlen auf 8-Bit-Integer). Dies verkleinert die Modellgröße und kann die Berechnung beschleunigen, insbesondere auf Hardware mit spezialisierter Unterstützung. Im Gegensatz zum Pruning, das Parameter entfernt, komprimiert die Quantisierung diese.
  • Knowledge Distillation: Bei dieser Methode wird ein kleineres „Studentenmodell“ trainiert, um die Ausgabe eines größeren, vortrainierten „Lehrermodells“ zu replizieren. Ziel ist es, das erlernte Wissen auf eine kompaktere Architektur zu übertragen, während Pruning die bestehende Architektur verändert.

Diese Techniken schließen sich nicht gegenseitig aus. Ein üblicher Workflow besteht darin, zuerst ein Modell zu stutzen, um redundante Parameter zu entfernen, und dann Quantisierung auf das gestutzte Modell anzuwenden, um maximale Effizienz zu erzielen. Optimierte Modelle können dann in Standardformate wie ONNX mit der Ultralytics Exportfunktion für eine breite Bereitstellung über verschiedene Inference Engines exportiert werden. Plattformen wie Ultralytics HUB können helfen, den gesamten Lebenszyklus zu verwalten, vom Training bis zur optimierten Modellbereitstellung.

Treten Sie der Ultralytics-Community bei

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert