Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Modellbeschneidung

Erfahren Sie, wie durch Modellbeschneidung die Größe und Komplexität neuronaler Netze für Edge-KI reduziert werden kann. Entdecken Sie Strategien zur Optimierung Ultralytics für schnellere Inferenz auf Mobilgeräten.

Modellbeschneidung ist eine Technik im maschinellen Lernen, die dazu dient, die Größe und Rechenkomplexität eines neuronalen Netzwerks zu reduzieren, indem unnötige Parameter systematisch entfernt werden. Ähnlich wie ein Gärtner abgestorbene oder übermäßig gewachsene Äste zurückschneidet, um das Wachstum eines Baumes zu fördern, beschneiden Entwickler künstliche Netzwerke, um sie schneller, kleiner und energieeffizienter zu machen. Dieser Prozess ist unerlässlich für den Einsatz moderner Deep-Learning-Architekturen auf Geräten mit begrenzten Ressourcen, wie Smartphones, eingebetteten Sensoren und Edge-Computing-Hardware.

Wie funktioniert Model Pruning?

Die Kernidee hinter dem Pruning ist, dass tiefe neuronale Netze oft „überparametrisiert” sind, was bedeutet, dass sie deutlich mehr weights and biases als für die Lösung eines bestimmten Problems unbedingt erforderlich sind. Während des Trainingsprozesses lernt das Modell eine Vielzahl von Verbindungen, die jedoch nicht alle gleichermaßen zur endgültigen Ausgabe beitragen. Pruning-Algorithmen analysieren das trainierte Modell, um diese redundanten oder nicht informativen Verbindungen – in der Regel solche mit Gewichten nahe Null – zu identifizieren und zu entfernen.

Der Lebenszyklus eines beschnittenen Modells umfasst im Allgemeinen die folgenden Schritte:

  1. Training: Ein großes Modell wird bis zur Konvergenz trainiert, um komplexe Merkmale zu erfassen.
  2. Pruning: Parameter mit geringer Bedeutung werden auf Null gesetzt oder physisch aus der Netzwerkstruktur entfernt .
  3. Feinabstimmung: Das Modell durchläuft eine zweite Runde der Feinabstimmung, um die verbleibenden Parameter anzupassen und die während der Pruning-Phase verlorene Genauigkeit wiederherzustellen .

Diese Methodik wird oft mit der Lotterielos-Hypothese in Verbindung gebracht, die besagt, dass dichte Netzwerke kleinere, isolierte Subnetzwerke (Gewinnlose) enthalten, die eine mit dem ursprünglichen Modell vergleichbare Genauigkeit erreichen können, wenn sie isoliert trainiert werden.

Arten von Schnittstrategien

Die Schnittmethoden werden im Allgemeinen anhand der Struktur der zu entfernenden Bestandteile kategorisiert.

  • Unstrukturiertes Pruning: Bei diesem Ansatz werden einzelne Gewichte an beliebigen Stellen im Modell auf der Grundlage eines Schwellenwerts (z. B. der Größe) entfernt. Dies reduziert zwar effektiv die Anzahl der Parameter, führt jedoch zu spärlichen Matrizen, die für Standard-Hardware schwer effizient zu verarbeiten sind. Ohne spezielle Software oder Hardware-Beschleuniger führt unstrukturiertes Pruning möglicherweise nicht zu signifikanten Geschwindigkeitsverbesserungen.
  • Strukturiertes Pruning: Bei dieser Methode werden ganze geometrische Strukturen wie Kanäle, Filter oder Schichten innerhalb eines Convolutional Neural Network (CNN) entfernt. Durch die Beibehaltung der dichten Matrixstruktur bleibt das geprunnte Modell mit Standard-GPU-Treiber- und -Frameworks kompatibel. GPU und CPU kompatibel, was zu direkten Verbesserungen der Inferenzlatenz und des Durchsatzes

Anwendungsfälle in der Praxis

Das Trimmen ist ein entscheidender Faktor für Edge-KI, da es die Ausführung komplexer Modelle in Umgebungen ermöglicht, in denen keine oder nur eine zu langsame Cloud-Verbindung verfügbar ist.

  • Mobile Objekterkennung: Anwendungen auf mobilen Geräten, wie Echtzeit-Sprachübersetzung oder Augmented Reality, nutzen beschnittene Modelle, um die Akkulaufzeit zu verlängern und den Speicherverbrauch zu reduzieren. Optimierte Architekturen wie YOLO26 werden aufgrund ihrer inhärenten Effizienz oft als Grundlage für diese Aufgaben bevorzugt.
  • Sicherheit im Automobilbereich: Selbstfahrende Autos und autonome Fahrzeuge erfordern Entscheidungen in Sekundenbruchteilen . Dank Pruned-Modellen können Bordcomputer hochauflösende Kameraaufnahmen zur Fußgängererkennung verarbeiten, ohne dass es zu Verzögerungen durch die Übertragung der Daten an einen Server kommt.
  • Industrielles IoT: In der Fertigung verwenden visuelle Inspektionssysteme an Montagelinien leichtgewichtige Modelle, um detect . Durch Pruning können diese Systeme auf kostengünstigen Mikrocontrollern statt auf teuren Server-Racks laufen.

Beschneiden vs. verwandte Optimierungstechniken

Obwohl das Modell-Pruning ein leistungsfähiges Werkzeug ist, wird es oft mit anderen Modelloptimierungstechniken verwechselt oder zusammen mit diesen verwendet.

  • Pruning vs. Quantisierung: Pruning reduziert die Anzahl der Parameter (Verbindungen) im Modell. Im Gegensatz dazu reduziert die Modellquantisierung die Genauigkeit dieser Parameter, beispielsweise durch die Umwandlung von 32-Bit-Gleitkommazahlen in 8-Bit- Ganzzahlen. Beide Verfahren werden oft kombiniert, um die Effizienz für die Modellbereitstellung zu maximieren.
  • Pruning vs. Knowledge Distillation: Pruning modifiziert das ursprüngliche Modell, indem Teile herausgeschnitten werden. Knowledge Distillation beinhaltet das Training eines völlig neuen, kleineren „Schüler”-Modells, um das Verhalten eines größeren „Lehrer”-Modells nachzuahmen.

Beispiel für die Umsetzung

Das folgende Python zeigt, wie man unstrukturiertes Pruning auf eine Faltungsschicht mit PyTorch. Dies ist ein üblicher Schritt vor dem Exportieren von Modellen in optimierte Formate wie ONNX.

import torch
import torch.nn as nn
import torch.nn.utils.prune as prune

# Initialize a standard convolutional layer
module = nn.Conv2d(in_channels=1, out_channels=20, kernel_size=3)

# Apply unstructured pruning to remove 30% of the connections
# This sets the weights with the lowest L1-norm to zero
prune.l1_unstructured(module, name="weight", amount=0.3)

# Calculate and print the sparsity (percentage of zero elements)
sparsity = 100.0 * float(torch.sum(module.weight == 0)) / module.weight.nelement()
print(f"Layer Sparsity: {sparsity:.2f}%")

Für Benutzer, die den gesamten Lebenszyklus ihrer Datensätze und Modelle verwalten möchten – einschließlich Training, Bewertung und Bereitstellung – bietet die Ultralytics eine optimierte Schnittstelle. Sie vereinfacht den Prozess der Erstellung hochoptimierter Modelle wie YOLO26 und deren Export in hardwarefreundliche Formate wie TensorRT TensorRT oder CoreML.

Werden Sie Mitglied der Ultralytics

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

Jetzt beitreten