Knowledge distillation
Knowledge distillation (destilácia znalostí) je technika kompresie modelu, kde silný model (teacher) odovzdáva svoje správanie menšiemu modelu (student). Cieľ je dosiahnuť čo najlepší kompromis medzi kvalitou, latenciou a nákladmi.
1. Intuícia a základný princíp
Namiesto učenia iba z tvrdých značiek (0/1) sa student učí aj z jemnej informácie, ktorú teacher nesie v rozdelení pravdepodobností tried. Práve tieto „soft targets" často obsahujú vzťahy medzi triedami, ktoré zlepšujú generalizáciu studenta.
Príklad:
- hard label: „je to mačka";
- soft target: „mačka 0.82, líška 0.12, pes 0.04...".
2. Matematické jadro (najčastejšia forma)
Typická distilačná strata kombinuje dve časti:
L = alpha * T^2 * KL( softmax(z_t / T) || softmax(z_s / T) )
+ (1 - alpha) * CE(y, softmax(z_s))
kde:
z_t,z_ssú logity teacher/studenta,Tje teplota (temperature),KLje Kullback-Leibler divergencia,CEje klasická cross-entropy voči ground truth,alphaurčuje pomer medzi destilačnou a supervisovanou časťou.
Poznámka: násobenie T^2 sa bežne používa na stabilizáciu gradientov pri vyššej teplote.
3. Typické varianty destilácie
- Logit distillation: student kopíruje výstupné distribúcie teacher-a.
- Feature distillation: student napodobňuje aj medzivrstvy (reprezentácie).
- Sequence distillation (LLM): teacher generuje texty/odpovede, na ktorých sa student ďalej trénuje.
- Self-distillation: model sa učí z „lepšej" verzie seba (checkpoint, ensemble, teacher branch).
- Task-specific distillation: destilácia na konkrétnu úlohu (QA, klasifikácia, sumarizácia, ASR).
4. Čo sa sleduje v praxi (metriky)
Pri distilácii nestačí pozerať iba accuracy.
- Quality: accuracy/F1/BLEU/ROUGE/pass@k podľa typu úlohy.
- Latency: p50/p95 čas inferencie.
- Throughput: requesty za sekundu.
- Memory footprint: VRAM/RAM počas inferencie.
- Cena: náklad na 1k/1M requestov alebo tokenov.
Cieľ je obyčajne: „malý pokles kvality za výrazný zisk v rýchlosti a cene".
5. Riziká a obmedzenia
- Teacher prenáša aj chyby: student môže zdediť systematické omyly teacher-a.
- Distribution shift: mimo tréningovej distribúcie môže student degradovať viac než teacher.
- Kalibrácia: pravdepodobnosti studenta nemusia byť dobre kalibrované.
- Capacity limit: príliš malý student nezachytí komplexné správanie.
- Bezpečnosť/zarovnanie (LLM): distilácia môže oslabiť guardrails, ak sa netestuje aj safety profil.
6. Kedy použiť a kedy nie
Použiť:
- keď potrebuješ lacnejšiu inferenciu,
- keď cieliš na edge/on-prem prostredie,
- keď máš jasné KPI pre latenciu a náklady.
Nepoužiť (alebo opatrne):
- pri úlohách, kde je každý percentuálny bod kvality kritický,
- keď nemáš kvalitné eval sety pre kontrolu regresií,
- keď teacher sám nie je stabilný alebo dobre kalibrovaný.
7. Quick Reference
| Parameter | Praktický význam |
|---|---|
| Teacher | veľký model s vyššou kvalitou |
| Student | menší model optimalizovaný na cenu/latenciu |
| Kľúčový hyperparameter | T (temperature) + alpha |
| Hlavný cieľ | minimalizovať stratu kvality pri veľkom zisku výkonu |
| Najčastejšie riziko | prenos chýb a degradácia mimo distribúcie |
| Povinnosť pred nasadením | benchmark kvalita + latencia + safety |
8. Zdroje
- Hinton, Vinyals, Dean (2015): Distilling the Knowledge in a Neural Network.
- Sanh et al. (2019): DistilBERT.
- Jiao et al. (2019): TinyBERT.
- Gou et al. (2021): Knowledge Distillation: A Survey.
Zhrnutie
- Distilácia je praktický spôsob, ako dostať výkon veľkého modelu do menšieho modelu.
- Technicky je kľúčová kombinácia KL distilačnej straty a supervisovanej straty.
- O úspechu rozhoduje nie len kvalita, ale aj latencia, pamäť, cena a robustnosť po nasadení.