1. Trenowanie nauczyciela: duży model (np. 70B) jest trenowany standardowo na dużym datasecie do wysokiej jakości. 2. Przygotowanie datasetu distillacji: dla każdego przykładu treningowego nauczyciel generuje soft targets - rozkład prawdopodobieństwa nad klasami (softmax(logits/T) gdzie T > 1 podnosi entropię). 3. Trenowanie studenta: mniejszy model (np. 7B) jest trenowany na kombinacji dwóch losses: (a) L_KD = KL(soft_teacher || soft_student) - dopasowanie do rozkładu nauczyciela; (b) L_CE = cross_entropy(hard_labels, student) - dopasowanie do prawdziwych etykiet. Total loss: α * L_KD + (1-α) * L_CE, typowo α ≈ 0.7. 4. Warianty rozszerzone: distillation intermediate features (hidden states), attention maps, RLHF-style with reward model, on-policy distillation (student sam generuje rollouty, nauczyciel je ocenia). 5. W kontekście LLM 2024-2026: dataset distillation - nauczyciel generuje syntetyczne pary (prompt, response), student jest fine-tunowany na nich (podejście Alpaca, Zephyr, DistilABC).
Duże modele AI (miliardy parametrów) są zbyt kosztowne dla inferencji na edge/mobile i zbyt drogie do serwowania przy masowej skali. KD pozwala transferować ich zdolności do modeli 5-100x mniejszych, przy 90-99% zachowania jakości - kluczowe dla produkcji, deploymentu on-device, kosztów inferencji.
Duży, dobrze wytrenowany model (np. GPT-4, Claude Opus 4.7, Llama-70B) którego zdolności chcemy przenieść.
Oficjalna
Mniejszy model (5-100x mniej parametrów), zwykle o tej samej lub podobnej architekturze co nauczyciel; trenowany od zera lub z inicjalizacji.
Oficjalna
Kombinacja KL-divergence między soft targets nauczyciela a wyjściem studenta oraz cross-entropy do hard labels. Kluczowa hiperparametryzacja: α (waga KD vs CE).
Hiperparametr T > 1 wygładzający softmax: softmax(logits/T). Wyższe T = bardziej równomierny rozkład = więcej dark knowledge, ale mniej wyrazisty sygnał.
Zbiór (input, teacher_soft_output, hard_label) - może być oryginalny dataset treningowy, unlabelled data z inference, albo syntetyczne dane wygenerowane przez nauczyciela (dataset distillation).
Oficjalna
Gdy nauczyciel jest zbyt duży względem studenta (>100x), student nie potrafi 'zmieścić' wiedzy - jakość KD spada gwałtownie.
Zbyt niska temperatura = klasyczna CE (brak dark knowledge). Zbyt wysoka = strata sygnału preferencji - rozkład blisko uniform.
Distillacja między różnymi architekturami (Transformer → Mamba) wymaga tłumaczenia intermediate representations - nie zadziała naiwnie feature distillation.
Nauczyciel wytrenowany na jednym rozkładzie danych może dawać niepewne soft targets na out-of-distribution examples - transfer się nie udaje.
Student dziedziczy wszystkie błędy, halucynacje i biasy nauczyciela - także te, których nie było w oryginalnych danych treningowych.
Bucila, Caruana, Niculescu-Mizil publikują 'Model Compression' - poprzednik idei destylacji: mały model uczy się imitować ensemble większych modeli.
Hinton, Vinyals, Dean formalizują KD z temperature-softened softmax i wprowadzają termin 'dark knowledge'. Fundament dla wszystkich późniejszych prac.
Sanh et al. (Hugging Face) publikują DistilBERT - 40% mniejszy, 60% szybszy niż BERT, przy 97% wyników. Pierwsze masowo używane zastosowanie KD w NLP.
Rozszerzenia destylacji na intermediate layers (TinyBERT) i attention maps (MobileBERT). Ustanowienie 'feature distillation' jako podklasa.
Zmiana paradygmatu w LLM: zamiast miękkich targets, nauczyciel (GPT-4) generuje syntetyczne pary (prompt, response); student jest fine-tunowany klasycznie. Otwiera drogę do 'destylacji zachowania' bez dostępu do wag nauczyciela.
Google publikuje Gemma trenowaną z destylacją z Gemini, Microsoft publikuje Phi-3 destylowany z GPT-4. Establishment: distillation to standardowa część treningu małych flagowców.
DeepSeek publikuje DeepSeek-R1-Distill (Qwen/Llama distilled from R1). Thinking Machines Lab wprowadza on-policy distillation - student generuje rollouty, teacher ocenia, użycie w post-training reasoning models.
Distribution Matching Distillation 2 - ewolucja KD dla modeli generatywnych (image/video diffusion). Kolejny inflection point łączący diffusion i KD.
Złożoność czasowa: O(T_student · N_examples) + koszt inferencji nauczyciela. Złożoność przestrzenna: O(|θ_student|) w produkcji; O(|θ_teacher| + |θ_student|) w trakcie treningu.
Skalowanie logitów przed softmax. T > 1 wygładza rozkład, T = 1 to standardowy softmax.
Waga strat: total_loss = α * L_KD + (1-α) * L_CE. Wyższe α = więcej uczenia od nauczyciela.
Ile razy nauczyciel jest większy od studenta. Zbyt duży rozstrzał (>100x) może dawać słabą destylację - capacity gap problem.
KD jest neutralny wobec architektury studenta - może być dense (klasyczny DistilBERT), sparse (distillation do MoE), a nawet konwersja architektur (Transformer → Mamba).
Soft targets można wygenerować offline w batch inference nauczyciela na osobnych GPU, następnie trening studenta jest w pełni równoległy jak każdy trening.
Trening studenta i inferencja nauczyciela to standardowe operacje matmul - Tensor Cores są optymalne.
Google (twórca Gemma) używa TPUs dla wszystkich treningów z destylacją - świetne dla batch generation soft targets.
KD jako paradygmat treningowy nie ma preferencji hardware - liczy się rozmiar teacher+student w pamięci.