<EbeneX/>
Architektur DevOps · Updated 3. März 2026

Pruning

Definition

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

Experte 2 Min. Lesezeit EN: Pruning

Einfach erklärt

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.

Technischer Deep Dive

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

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.

Entfernt Gewichte oder Neuronen mit geringem Einfluss auf die Ausgabe

Reduziert Modellgröße und Inferenz-Zeit um 50-90%

Oft kombiniert mit Quantisierung für maximale Effizienz

Edge Deployment

Modelle klein genug für Smartphones und IoT

Latenz-Reduktion

Schnellere Inferenz durch weniger Berechnungen

Kosten-Optimierung

Weniger GPU-Ressourcen für Inferenz

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.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.