Pruning

Pruning entfernt gezielt wenig wirksame Modellanteile, um Inferenz effizienter zu machen.

Eine Optimierungstechnik, bei der unwichtige Gewichte oder Neuronen aus einem trainierten Modell entfernt werden – für kleinere, schnellere Modelle mit minimaler Qualitätseinbuße.

Experte2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Entfernt Gewichte oder Neuronen mit geringem Einfluss auf die Ausgabe
  2. Reduziert Modellgröße und Inferenz-Zeit um 50-90%
  3. Oft kombiniert mit Quantisierung für maximale Effizienz

Sofortantwort

Pruning einfach erklärt

Entfernen unwichtiger Gewichte für kleinere, schnellere Modelle.

Kurz gesagt
Entfernt Gewichte oder Neuronen mit geringem Einfluss auf die Ausgabe
Typischer Einsatz
Edge Deployment, Latenz-Reduktion, Kosten-Optimierung
Wichtig zu wissen
Oft kombiniert mit Quantisierung für maximale Effizienz

Pruning im Überblick

Pruning ist eine Modell-Komprimierungstechnik, die unwichtige oder redundante Parameter aus einem trainierten neuronalen Netz entfernt. Die Intuition: Nicht alle Parameter eines Modells tragen gleich viel zur Vorhersagequalität bei. Gewichte nahe null können oft entfernt werden, ohne die Accuracy wesentlich zu beeinträchtigen. Das Ergebnis ist ein kleineres, schnelleres Modell – ideal für Edge-Deployment auf Smartphones oder IoT-Geräten, wo Speicher und Rechenleistung begrenzt sind.

Pruning entfernt unwichtige Teile eines neuronalen Netzes. Viele Gewichte in trainierten Modellen sind nahe Null oder redundant – sie können entfernt werden, ohne die Qualität wesentlich zu beeinträchtigen.

Das Ergebnis:

Vorher: 100M Parameter, 400MB, 50ms Inferenz
Nachher: 20M Parameter, 80MB, 15ms Inferenz
Qualität: 99.5% der ursprünglichen Accuracy

Warum funktioniert das?

Neuronale Netze sind oft überparametrisiert – sie haben mehr Kapazität als nötig. Pruning findet und entfernt die redundanten Teile.

Technisch betrachtet

Pruning-Typen

TypWas wird entferntBeschleunigung
UnstrukturiertEinzelne GewichteSchwer (braucht Sparse-Hardware)
StrukturiertGanze Neuronen/FilterEinfach (Standard-Hardware)
Block-SparseBlöcke von GewichtenMittel

Magnitude Pruning (einfachste Methode)

import torch.nn.utils.prune as prune

# 50% der kleinsten Gewichte entfernen
prune.l1_unstructured(model.layer, name='weight', amount=0.5)

# Pruning permanent machen
prune.remove(model.layer, 'weight')

Iteratives Pruning

1. Trainiere Modell
2. Prune 20% der Gewichte
3. Fine-Tune
4. Wiederhole bis Ziel-Sparsity erreicht

Pruning + Quantisierung

Original: 100M × 32bit = 400MB
Pruning (80%): 20M × 32bit = 80MB
+ Quantisierung (INT8): 20M × 8bit = 20MB
= 95% Reduktion

Schritt für Schritt

Modellgröße gegen Qualität abwägen

Pruning ist eine kontrollierte Reduktion. Jede Einsparung braucht eine Prüfung, ob relevante Fähigkeiten und technische Vorteile erhalten bleiben.

  1. Referenz messen

    Baseline

    Qualität, Größe, Speicherbedarf und Laufzeit des Ausgangsmodells werden für relevante Aufgaben festgehalten.

    ausgangsmodell -> qualitaet + kosten + latenzen
  2. Anteile reduzieren

    Reduktion

    Wenig wirksame Verbindungen, Gewichte oder Strukturen werden nach einer gewählten Methode kontrolliert entfernt.

    modell -> weniger parameter oder struktur
  3. Wieder anpassen

    Anpassung

    Ein Nachtraining hilft dem verbleibenden Modell, die durch die Reduktion verlorene Leistung soweit möglich auszugleichen.

    pruning -> fine tuning -> kandidat
  4. Real im Zielsystem testen

    Praxis

    Neben Modellqualität wird geprüft, ob die Zielhardware die Reduktion tatsächlich schneller oder kleiner ausführt.

    kandidat -> benchmark auf zielumgebung

Konkretes Beispiel

Ein Modell für begrenzte Hardware vorbereiten

Ein vorhandenes Modell passt knapp nicht in die gewünschte Laufzeitumgebung.

Nur Parameter reduzieren

Das Modell wird kleiner, aber die Zielumgebung nutzt die unregelmäßige Struktur nicht effizient und die Qualität sinkt stark.

Pruning mit Ziel-Benchmark

Das Team prüft strukturelle Reduktion, passt das Modell nach und misst Leistung direkt auf der vorgesehenen Hardware.

Eine kleinere Parameterzahl ist nur dann ein Gewinn, wenn die Zielumgebung daraus messbare Vorteile macht.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Potenzial für kleinere Modelle: Weniger Modellanteile können Speicherbedarf und Übertragungsgröße reduzieren.
  • Schnellere Ausführung möglich: Passende strukturierte Reduktion kann die Inferenz auf Zielhardware beschleunigen.
  • Kombinierbar mit anderen Methoden: Pruning lässt sich mit Quantisierung oder Distillation in einem Gesamtprofil nutzen.
  • Klare Effizienzziele: Die Methode zwingt dazu, Qualität gegen konkrete Ressourcenwerte abzuwägen.

Das solltest du beachten

  • Qualität kann sinken: Entfernte Anteile können gerade in seltenen oder wichtigen Fällen relevant sein.
  • Hardwareabhängig: Unstrukturierte Sparsity liefert nicht auf jeder Plattform einen Geschwindigkeitsgewinn.
  • Nachtraining kostet Zeit: Gute Ergebnisse erfordern oft zusätzliche Optimierungs- und Prüfzyklen.
  • Komplexere Diagnose: Fehlerquellen nach der Reduktion sind schwerer auf einzelne Modellteile zurückzuführen.
Vertiefung · für Fortgeschrittene

Die Schleife einer Modellreduktion

Pruning verbindet die Ausgangsmessung mit Reduktion, Nachtraining und einem Benchmark in der tatsächlichen Zielumgebung.

Wissenskarte

gezielte Modellreduktion

Der Erfolg wird nicht an der Zahl entfernter Gewichte gemessen, sondern an Qualität und Effizienz im vorgesehenen Einsatz. Pruning gliedert sich in: Ausgangsmodell, Baseline, Reduktionsregel, Nachtraining, Zielhardware, Benchmark.

01Einsatzbereiche

Wann ist Pruning sinnvoll?

Geeignet für

  • Edge DeploymentModelle klein genug für Smartphones und IoT
  • Latenz-ReduktionSchnellere Inferenz durch weniger Berechnungen
  • Kosten-OptimierungWeniger GPU-Ressourcen für Inferenz

↑ Inhalt

02Werkzeuge

Womit Pruning umgesetzt wird

↑ Inhalt

Merksatz

Pruning ist wie das Beschneiden eines Baumes

Du entfernst Äste, die wenig zum Wachstum beitragen. Der Baum wird kompakter und effizienter, ohne seine wesentliche Form zu verlieren.

  1. Entfernt Gewichte oder Neuronen mit geringem Einfluss auf die Ausgabe
  2. Reduziert Modellgröße und Inferenz-Zeit um 50-90%
  3. Oft kombiniert mit Quantisierung für maximale Effizienz

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu Pruning

Wie viel kann man prunen ohne Qualitätsverlust?

Typisch 50-90% der Gewichte, abhängig vom Modell und der Aufgabe. Manche Modelle sind überparametrisiert und verlieren bei 80% Pruning kaum Qualität. Andere reagieren empfindlicher.

Was ist der Unterschied zwischen strukturiertem und unstrukturiertem Pruning?

Unstrukturiert: Einzelne Gewichte entfernen (hohe Sparsity, aber schwer zu beschleunigen). Strukturiert: Ganze Neuronen/Filter entfernen (einfacher zu beschleunigen, aber weniger flexibel).

Kann ich LLMs prunen?

Ja, aber es ist schwieriger als bei CNNs. LLMs sind empfindlicher, und die Beschleunigung erfordert spezielle Sparse-Inference-Engines. Quantisierung ist für LLMs oft praktischer.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

↑ Inhalt