Wprowadzenie
Knowledge Distillation (Destylacja Wiedzy) to technika uczenia maszynowego, w której mały i szybki model (nazywany studentem) uczy się od dużego, wysoko wydajnego modelu (teacher). Celem jest uzyskanie modelu o znacznie mniejszej liczbie parametrów, który zachowuje jak największą część wiedzy i jakości oryginalnego modelu.
Jak działa Knowledge Distillation?
Zamiast uczyć model studenta wyłącznie na etykietach (hard labels), trenuje się go na „miękkich” predykcjach (soft labels) generowanych przez model teacher. Dodaje się parametr temperature w funkcji softmax, który kontroluje „gładkość” rozkładu prawdopodobieństw.
Najczęściej stosowana jest kombinacja dwóch strat:
- Distillation Loss – podobieństwo do wyjść modelu teacher
- Student Loss – klasyczna strata względem prawdziwych etykiet
Typy destylacji wiedzy
- Offline Distillation – teacher jest już wytrenowany
- Online Distillation – teacher i student uczą się jednocześnie
- Self-Distillation – model destyluje sam siebie
- Feature Distillation – transfer na poziomie warstw ukrytych
Zastosowania Knowledge Distillation
- Kompresja dużych modeli językowych (LLM)
- Modele na urządzenia mobilne i edge computing
- Real-time inference (np. w autonomicznych pojazdach)
- Redukcja kosztów obliczeniowych w produkcji
- Poprawa odporności i uogólniania modelu
Zalety i wady
- Zalety: znacząca redukcja rozmiaru i szybkości inferencji, zachowanie wysokiej dokładności, lepsza generalizacja
- Wady: wymaga wytrenowanego modelu teacher, proces destylacji może być czasochłonny, nie zawsze łatwe do dostrojenia
Najlepsze praktyki (2026)
- Dobór odpowiedniej temperatury (zwykle 2–5)
- Balansowanie wag lossów (distillation vs task loss)
- Destylacja na poziomie cech (intermediate layers)
- Używanie zaawansowanych metod (Minilm, DistilBERT, TinyBERT)
- Łączenie z technikami kwantyzacji i pruning
Powiązane pojęcia
Model CompressionTeacher-Student LearningPruningQuantization→DistilBERTMiniLMLLM CompressionTransfer Learning→