Pruning (englisch für Beschneiden) ist eine Technik der Modellkompression, bei der unwichtige Gewichte, Neuronen oder ganze Verbindungen aus einem neuronalen Netz entfernt werden. Viele Parameter eines trainierten Netzes tragen kaum zur Vorhersagequalität bei — sie können entfernt werden, ohne dass die Genauigkeit spürbar leidet.
Wie funktioniert Pruning?
Der klassische Ansatz ist das Magnitude-Pruning: Gewichte mit dem kleinsten Betrag gelten als unwichtig und werden auf null gesetzt. Anschließend wird das Modell meist fein nachtrainiert, damit die verbleibenden Gewichte den Verlust ausgleichen. Wichtig: Nach dem Entfernen sollte das Modell erneut evaluiert werden, um den tatsächlichen Qualitätsverlust zu messen.
Strukturiert und unstrukturiert
- Unstrukturiertes Pruning: Einzelne Gewichte werden entfernt. Die Matrix wird dünn besetzt (sparse), was Speicher spart — beschleunigt die Berechnung aber nur auf spezieller Hardware.
- Strukturiertes Pruning: Ganze Neuronen, Kanäle oder Schichten werden entfernt. Das Modell bleibt dicht, läuft auf jeder Hardware und ist praktisch oft der bessere Kompromiss.
Lottery-Ticket-Hypothese
Die 2019 von Frankle und Carbin formulierte Lottery-Ticket-Hypothese besagt, dass in einem zufällig initialisierten dichten Netz ein Teilnetzwerk (das „Gewinnerlos“) existiert, das isoliert trainiert die Genauigkeit des vollen Netzes erreichen kann. Pruning identifiziert solche Teilnetzwerke — moderne Verfahren wie SparseGPT bauen darauf auf und prunen große Sprachmodelle in einem Durchgang.
Kombination mit Quantisierung
Pruning und Quantisierung ergänzen sich: Pruning entfernt unnötige Gewichte, Quantisierung reduziert die Bitbreite der verbleibenden. Zusammen erreichen sie Kompressionsfaktoren von 10 bis 20. Beide Techniken kommen typischerweise nach dem Training zum Einsatz.
Verwandte Grundlagen: Neuronale Netze, Deep Learning.