Sofortantwort
Knowledge Distillation einfach erklärt
Kleines Modell lernt von großem Modell.
- Kurz gesagt
- Student-Modell lernt von Teacher-Modell, nicht nur von Daten
- Typischer Einsatz
- Modell-Kompression, Edge Deployment, Kosten-Reduktion
- Wichtig zu wissen
- Nutzt 'Soft Labels' (Wahrscheinlichkeiten) statt harter Labels
Knowledge Distillation im Überblick
Knowledge Distillation überträgt Wissen von einem großen Modell (Teacher) auf ein kleines Modell (Student). Der Student lernt nicht nur die richtigen Antworten, sondern auch das “Denken” des Teachers.
Der Trick: Soft Labels
Hard Label: "Das ist eine Katze" (1 oder 0)
Soft Label vom Teacher:
- Katze: 0.85
- Hund: 0.10
- Löwe: 0.04
- Auto: 0.01
-> Student lernt: "Katzen sind Hunden ähnlicher als Autos"
Das Ergebnis:
Teacher: BERT-Large (340M Parameter)
Student: DistilBERT (66M Parameter)
= 40% kleiner, 60% schneller, 97% der Qualität
Technisch betrachtet
Loss Function
# Kombinierter Loss
loss = α * hard_loss + (1-α) * soft_loss
# Hard Loss: Student vs. echte Labels
hard_loss = CrossEntropy(student_output, true_labels)
# Soft Loss: Student vs. Teacher
soft_loss = KL_Divergence(
softmax(student_output / T),
softmax(teacher_output / T)
)
# T = Temperatur (höher = weichere Verteilung)
Distillation-Prozess
1. Trainiere großes Teacher-Modell (oder nutze existierendes)
2. Generiere Soft Labels für Trainingsdaten
3. Trainiere Student auf Kombination aus Hard + Soft Labels
4. (Optional) Fine-Tune Student auf spezifische Aufgabe
Varianten
| Variante | Beschreibung |
|---|---|
| Response Distillation | Student lernt Output-Verteilung |
| Feature Distillation | Student lernt interne Repräsentationen |
| Self-Distillation | Modell destilliert sich selbst |
| Online Distillation | Teacher und Student trainieren gleichzeitig |
Für LLMs
# Pseudo-Code für LLM Distillation
for prompt in training_data:
teacher_response = teacher.generate(prompt)
# Student lernt, Teacher-Responses zu imitieren
student_loss = student.train(prompt, teacher_response)Schritt für Schritt
Ein kleineres Modell gezielt ausbilden
Distillation vergleicht nicht nur richtige Endergebnisse. Das Student-Modell lernt auch aus den abgestuften Antworten eines leistungsfähigeren Teacher-Modells.
Zielprofil festlegen
Zielbild
Das Team definiert Einsatzumgebung, Qualitätsgrenze, Latenz, Kosten und die Aufgaben, die der Student beherrschen muss.
einsatz -> qualitaet + groesse + geschwindigkeitTeacher-Signale erzeugen
Teacher
Ein geeignetes Teacher-Modell liefert für repräsentative Eingaben Antworten oder Wahrscheinlichkeitsverteilungen als Lernsignal.
eingaben -> teacher signaleStudent trainieren
Student
Das kleinere Modell lernt aus echten Labels und den zusätzlichen Teacher-Signalen, ohne nur Antworten zu kopieren.
labels + teacher signale -> student modellEinsatzfähigkeit prüfen
Evaluation
Qualität, Robustheit, Latenz und Kosten werden gegen die vorher festgelegten Grenzen evaluiert.
student -> qualitaet + leistung + risiko
Konkretes Beispiel
Ein lokales Modell für eine klar umrissene Aufgabe
Ein Team möchte eine häufige Klassifikationsaufgabe mit geringerer Latenz und weniger Infrastruktur erledigen.
Großes Modell für jede Anfrage
Die Qualität ist hoch, aber Kosten und Antwortzeit sind für die standardisierte Aufgabe unnötig groß.
Geprüftes Student-Modell
Ein kleineres Modell wird mit geeigneten Beispielen und Teacher-Signalen trainiert und erreicht die festgelegte Qualitätsgrenze schneller.
Distillation ist sinnvoll, wenn ein klar abgegrenztes Einsatzprofil den Qualitätsverlust gegen Effizienzgewinne abwägt.
Einordnung
Vorteile und Grenzen
Das spricht dafür
- Geringere Inferenzkosten: Kleinere Modelle benötigen meist weniger Rechenleistung pro Anfrage.
- Niedrigere Latenz: Ein kompakter Student kann in vielen Umgebungen schneller reagieren.
- Bessere Einsatzoptionen: Effizientere Modelle passen eher auf lokale oder ressourcenbegrenzte Systeme.
- Nutzbares Zusatzwissen: Teacher-Signale enthalten mehr Struktur als reine harte Zielwerte.
Das solltest du beachten
- Qualitätsverlust möglich: Ein kleineres Modell kann nicht jede Fähigkeit des Teachers vollständig übernehmen.
- Teacher-Auswahl ist wichtig: Fehler oder Verzerrungen im Teacher-Signal können sich übertragen.
- Training bleibt Aufwand: Daten, Evaluation und Bereitstellung brauchen eine klare Pipeline.
- Rechte und Datenbasis prüfen: Nutzung von Teacher-Ausgaben und Trainingsdaten muss zulässig und nachvollziehbar sein.
Vertiefung · für FortgeschritteneVom Teacher zum effizienten Student
Distillation verbindet ein leistungsfähiges Referenzmodell mit einem kleineren Modell und einer gemeinsamen Evaluation.
Wissen für kompaktere Modelle übertragen