Model Distillation
Auch: Knowledge Distillation, Teacher-Student Training
Model Distillation trainiert ein kleineres Student-Modell darauf, ein größeres Teacher-Modell nachzuahmen, und überträgt dessen Verhalten in eine schnellere, günstigere und leichter einsetzbare Form.
Was es ist
Model Distillation (auch Knowledge Distillation genannt) ist eine Technik, um die Fähigkeiten eines großen, genauen Modells (des Teachers) auf ein kleineres, effizienteres Modell (den Student) zu übertragen. Statt den Student nur mit harten Labels (der richtigen Antwort) zu trainieren, lernt er bei der Distillation, die reichhaltigeren Ausgaben des Teachers zu reproduzieren: vollständige Wahrscheinlichkeitsverteilungen, Zwischenrepräsentationen oder generierte Antworten.
Der entscheidende Punkt: Die Soft Outputs eines Teachers enthalten mehr Information als ein einzelnes Label. Wenn ein Teacher 70 % auf „Katze“, 25 % auf „Hund“ und 5 % auf „Fuchs“ verteilt, legt er Ähnlichkeitsbeziehungen zwischen den Klassen offen, die ein hartes Label verbirgt. Der Student lernt diese Nuancen und erreicht oft eine Genauigkeit nahe am Teacher, bei einem Bruchteil der Größe.
Warum es zählt
- Geringere Kosten: Kleinere Modelle brauchen weniger Compute und Speicher, das senkt die Inferenzkosten.
- Schnellere Inferenz: Geringere Latenz ermöglicht Echtzeit- und On-Device-Einsatz.
- Edge-Deployment: Destillierte Modelle laufen auf Smartphones, im Browser oder auf embedded Hardware.
- Energieeffizienz: Weniger Parameter bedeuten im großen Maßstab weniger Stromverbrauch.
Wie es in der Praxis eingesetzt wird
1. Ein starkes Teacher-Modell trainieren oder beschaffen.
2. Den Teacher über einen Datensatz laufen lassen, um Soft Targets zu sammeln (Logits, Wahrscheinlichkeiten oder generierten Text).
3. Den Student darauf trainieren, diese Targets zu treffen, oft kombiniert mit den ursprünglichen Labels.
4. Ein Temperature-Parameter glättet die Wahrscheinlichkeitsverteilungen und legt mehr Details offen.
5. Den Student nach Genauigkeit, Latenz und Größe bewerten, dann iterieren.
Zu den Varianten zählen response-based Distillation (Abgleich der Ausgaben), feature-based Distillation (Abgleich der Hidden Layers) und Self-Distillation (ein Modell unterrichtet eine Kopie seiner selbst).
Konkretes Beispiel
Ein Unternehmen betreibt ein Sprachmodell mit 70 Milliarden Parametern, das Support-Tickets präzise beantwortet, aber pro Anfrage zu viel kostet. Es nutzt das Modell als Teacher, um Tausende hochwertiger Antworten zu generieren, und destilliert dieses Verhalten in einen Student mit 7 Milliarden Parametern. Der Student bearbeitet Routinetickets zu einem Zehntel der Kosten bei ähnlicher Qualität, während das große Modell für komplexe Eskalationen reserviert bleibt.
Trade-offs
Distillation erreicht den Teacher selten exakt, und der Student erbt dessen Biases und Fehler. Die Qualität hängt stark von den Distillation-Daten und dem gewählten Objective ab.
Siehe auch
Häufige Fragen
Was ist Model Distillation in einem Satz?
Model Distillation ist eine Trainingstechnik, bei der ein kleineres Modell (der Student) lernt, das Verhalten eines größeren, genaueren Modells (des Teachers) zu reproduzieren. Statt nur aus korrekten Labels zu lernen, wird der Student auf den reichhaltigeren Ausgaben des Teachers trainiert: vollständige Wahrscheinlichkeitsverteilungen, Hidden Representations oder generierter Text. Man spricht auch von Knowledge Distillation oder Teacher-Student-Training.
Warum nicht einfach das große Modell direkt einsetzen?
Weil Inferenzkosten, Latenz und Hardware-Beschränkungen das oft unpraktikabel machen. Ein destilliertes Modell braucht weniger Compute und Speicher, das senkt die Kosten pro Anfrage, verkürzt die Antwortzeit genug für Echtzeit-Einsatz und läuft auf Smartphones, im Browser oder auf embedded Hardware. Ein gängiges Muster: Routineverkehr über das kleine Modell bedienen und das große für komplexe Fälle reservieren.
Was ist der Unterschied zwischen Distillation und dem Training eines kleinen Modells von Grund auf?
Ein von Grund auf trainiertes kleines Modell sieht nur harte Labels, eine korrekte Antwort pro Beispiel. Distillation gibt ihm stattdessen die Soft Outputs des Teachers, die Ähnlichkeitsbeziehungen zwischen den Optionen offenlegen: Ein Teacher, der 70 % auf „Katze“, 25 % auf „Hund“ und 5 % auf „Fuchs“ verteilt, überträgt Information, die ein einzelnes Label verbirgt. Dieses zusätzliche Signal ist der Grund, warum ein destillierter Student oft nahe an die Genauigkeit des Teachers kommt, bei einem Bruchteil der Größe.
Was sind die Schritte eines Distillation-Projekts?
Fünf Schritte: einen starken Teacher beschaffen oder trainieren, ihn über einen Datensatz laufen lassen, um Soft Targets zu sammeln (Logits, Wahrscheinlichkeiten oder generierten Text), den Student darauf trainieren, diese Targets zu treffen (oft zusammen mit den ursprünglichen Labels), einen Temperature-Parameter tunen, der die Verteilungen glättet und mehr Details offenlegt, und schließlich den Student nach Genauigkeit, Latenz und Größe bewerten und iterieren.
Wo liegen die Grenzen eines destillierten Modells?
Ein Student erreicht seinen Teacher selten exakt, und er erbt neben dessen Fähigkeiten auch dessen Biases und Fehler. Die finale Qualität hängt stark von den Distillation-Daten und dem gewählten Objective ab: response-based Distillation gleicht Ausgaben ab, feature-based Distillation die Hidden Layers, und bei Self-Distillation unterrichtet ein Modell eine Kopie seiner selbst. Planen Sie eine Evaluation, die misst, wie viel Genauigkeit tatsächlich verloren geht, nicht nur, wie viel Größe eingespart wurde.