Čoraz viac firiem prichádza k rovnakej situácii: frontier model funguje skvele, ale vo výrobe je príliš drahý alebo pomalý. Latencia 3–5 sekúnd je neprijateľná pri inline odporúčaní v MES systéme. Náklady na tisíc volaní veľkého API modelu sa mesačne nasčítajú na sumy, ktoré controller schváliť nechce. A nasadenie na edge zariadenie s obmedzením VRAM jednoducho nepripadá do úvahy.
Práve tu vstupuje do hry distilácia modelu (knowledge distillation). Nie je to nová technika — vznikla v kontexte klasifikačných sietí pred viac ako desaťročím — no v ére veľkých jazykových modelov zažíva renesanciu a stala sa jedným z kľúčových nástrojov produkčného nasadenia. Tento článok vysvetľuje, ako distilácia funguje, kde sa líši od kvantizácie, kedy sa vyplatí a čo od nej realisticky očakávať.
Čo je distilácia a čo nie je
Distilácia je prenos znalostí z jedného modelu (teacher) do druhého, menšieho (student). Teacher bol trénovaný dlho a na veľa dátach — má rozvinuté vnútorné reprezentácie a schopnosti, ktoré priamo nedokážete vytiahnuť z tréningových dát. Student sa učí nielen z finálnych odpovedí, ale aj z toho, *ako* teacher uvažuje.
Dôležité rozlíšenie, ktoré sa v praxi často zamieňa:
Distilácia ≠ kvantizácia. Kvantizácia je kompresná technika — reprezentujete pôvodné váhy v nižšej numerickej presnosti (napríklad z FP16 na 4-bit integer cez formát .gguf). Model ostáva rovnaký, len zaberá menej miesta a inferuje rýchlejšie, pričom stráca typicky ~1–3 % kvality na benchmarkoch. Kvantizácia nemení architektúru ani počet parametrov.
Distilácia mení oboje. Student je iný model s menej parametrami a potenciálne inou architektúrou. Cieľom nie je skomprimovať teacher, ale preniesť jeho schopnosti do menšej štruktúry.
Distilácia ≠ syntetické dáta. Keď použijete frontier model na generovanie tréningových príkladov pre menší model, ide o tvorbu syntetických dát, nie o klasickú dištiláciu v technickom zmysle. V praxi sa tieto prístupy kombinujú, ale mechanizmus je iný — dôkladnejšie o tom v článku o syntetických dátach na fine-tuning.
Dva základné typy dištilácie
Response-based distilácia (na výstupoch)
Najjednoduchší prístup. Student sa trénuje na soft labels — to sú celé rozdelenia pravdepodobností, ktoré teacher produkuje na výstupe (logits alebo softmax distribúcie), nie len tvrdá odpoveď "správna/nesprávna".
Prečo sú soft labels cennejšie ako tvrdé? Keď teacher vidí otázku o diagnóze technického problému, jeho výstupná distribúcia môže hovoriť: "60 % pravdepodobnosť A, 25 % pravdepodobnosť B, 15 % pravdepodobnosť C." To odráža neistotu a súvislosť medzi možnosťami. Tvrdý label by bol len "A." Student tréningom na soft labels dostáva hustejší signál.
V praxi pre LLM to znamená, že student vidí token-po-tokene, ako teacher rozdeľuje pravdepodobnosti, a snaží sa tieto distribúcie napodobniť — nielen reprodukovať finálny text.
Feature-based distilácia (na vnútorných reprezentáciách)
Sofistikovanejší prístup. Student sa snaží reprodukovať nielen výstupy, ale aj vnútorné stavy teacher modelu — aktivácie skrytých vrstiev, pozornosť (attention patterns), reprezentácie v embedding priestore.
Výhoda: prenáša hlbšiu štruktúru znalostí. Nevýhoda: vyžaduje, aby mali teacher a student dostatočne kompatibilnú architektúru, čo pri veľmi rozdielnych veľkostiach komplikuje implementáciu. V praxi sa feature-based dištilácia najčastejšie používa pri tréningu modelov podobnej architektúry, kde je teacher o faktor 2–4× väčší.
Moderné knižnice kombinujú oba prístupy. Štandardný tréningový objekt pre dištiláciu v TRL alebo Axolotl zvyčajne zahŕňa kombináciu straty na logitoch (KL divergencia medzi distribúciami teachera a studenta) a straty na ground-truth labeloch (klasická cross-entropy).
Kedy sa distilácia oplatí
Dištilácia nie je vhodná pre každý prípad. Videli sme projekty, kde sa ušetrili mesiace práce správnym výberom prístupu hneď na začiatku. Tri situácie, kde dištilácia jasne vyhráva:
Latencia a edge nasadenie. Ak musí model bežať lokálne na zariadení so 4–8 GB VRAM — priemyselný terminal, embedded controller, mobilná aplikácia — frontier model jednoducho nepripadá do úvahy. Správne distilovaný model veľkosti 1B–4B dokáže na úzkej doméne dosiahnuť výsledky, ktoré sú pre daný use case dostatočné. Príklad: jazykový model na klasifikáciu chybových hlásení zo SCADA systémov nemusí mať všeobecné znalosti 70B modelu, ale musí byť rýchly a presný na tejto konkrétnej doméne.
Náklady pri vysokom objeme volaní. Ak vaša aplikácia volá LLM tisíce- alebo desaťtisíckrát denne, rozdiel v cene medzi volaním frontier API a inferenciou vlastného 7B modelu je rádový. Dištilácia z drahého frontier teachera do lacno inferovateľného studenta je tu štandardný produkčný vzor.
Regulované alebo air-gapped prostredia. Dáta, ktoré nemôžu opustiť váš perimeter, vyžadujú lokálny model. Ak váš doménový expert je frontier model s cloud API (napríklad na anotáciu tréningových dát), dištilácia prevedie jeho znalosti do modelu, ktorý môžete nasadiť on-prem. Viac o požiadavkách regulovaných prostredí v článku On-prem LLM pre regulované odvetvia.
Kedy dištilácia nestačí: ak váš use case vyžaduje všeobecné uvažovanie, komplexné multi-step reasoning alebo prácu s dlhým kontextom, malý student nebude kompetovať s veľkým modelom bez ohľadu na kvalitu dištilácie. Dištilácia prenáša schopnosti, ale neurobí zo studenta inú architektúru.
Realistické očakávania kvality
Toto je miesto, kde vidíme najväčší rozdiel medzi marketingovými tvrdeniami a produkčnou praxou.
Čo dištilácia realisticky dosiahne:
Dobre distilovaný student na úzkej doméne (technická dokumentácia, klasifikácia, extrakcia štruktúrovaných dát) dokáže dosiahnuť 85–95 % kvality teachera na tej konkrétnej doméne, pri 5–20× menšej veľkosti. DeepSeek vydal začiatkom 2025 sériu distilovaných modelov (vrátane verzií veľkosti 1.5B–8B) z ich väčšieho reasoning modelu, kde sa chain-of-thought reasoning podarilo preniesť do výrazne menších architektúr so zachovaním väčšiny výkonu na matematických a kódovacích úlohách.
Čo dištilácia nezachová:
Generálne schopnosti teachera sa prenášajú slabo. Student distilovaný na technickú dokumentáciu bude horšie písať marketing texty alebo riešiť etické dilemy. Toto je feature, nie bug — špecializácia je zámer — ale treba si to uvedomiť pri navrhovaní systému.
Dlhý kontext a komplexné reasoning sú ďalšia oblasť, kde malý student stráca. Teacher s 1M token kontextom prenáša len zlomok tejto schopnosti do studenta s 128K kontextom a menším počtom parametrov.
Praktické pravidlo: distilovať môžete tak, aby student bol rádovo lepší ako základný model tej veľkosti — ale nemôžete distilovať tak, aby student bol rovnako dobrý ako teacher vo všeobecnosti. Cieľ je cielená excelencia, nie všeobecná rovnocennosť.
Vzťah k fine-tuningu a syntetickým dátam
Dištilácia, fine-tuning a syntetické dáta sú komplementárne techniky, nie alternatívy. Typický produkčný pipeline vyzerá takto:
- 1.Teacher generuje tréningové dáta — frontier model anotuje, odpovedá a hodnotí na vašej doméne. Ide o kombináciu dištilácie (teacher produkuje logits alebo soft labels) a syntetickej dátagenerácie (teacher generuje texty, ktoré sa stávajú tréningovými príkladmi).
- 2.Student sa trénuje na týchto dátach — cez štandardné SFT (Supervised Fine-Tuning) alebo s explicitnou dištiláciou loss funkciou, kde student napodobňuje distribúcie teachera.
- 3.Voliteľne: alignment — DPO alebo GRPO nad distilovaným studentom, ak potrebujete doladiť jeho správanie podľa preferencií.
Dôležitý detail: ak teacher generuje odpovede a student sa trénuje len na finálnych textoch (bez prístupu k logitom), hovoríme technicky o tréningu na syntetických dátach, nie o distilácii v úzkom zmysle. Výsledky môžu byť podobné, ale mechanizmus je iný. Klasická dištilácia s logitmi typicky prenáša bohatší signál.
Pri tvorbe datasetu pre dištiláciu platia rovnaké zásady ako pri fine-tuningu všeobecne — o tom podrobnejšie v článku Dataset na fine-tuning — koľko a akú kvalitu.
Praktické kroky k vlastnému distilovanému modelu
Ak chcete dištiláciu vyskúšať v praxi, takýto pipeline funguje pre väčšinu doménových use casov:
Krok 1 — Definujte doménu a task. Čím užšia je doména, tým lepšie student sa naučí. "Klasifikácia chybových kódov CNC strojov Fanuc" je lepší scope než "priemyselná dokumentácia."
Krok 2 — Pripravte seed dáta. Zhruba 150–300 ručne overených príkladov (otázka/odpoveď, vstup/výstup) z vašej domény. Toto je základ kvality — garbage in, garbage out platí dvojnásobne.
Krok 3 — Teacher generuje rozšírené dáta. Spustite frontier model na vašich seed príkladoch, nechajte ho generovať variácie, odpovedať na súvisiace otázky, produkovať chain-of-thought vysvetlenia. Cieľový objem pre funkčný SFT je typicky tisíce príkladov.
Krok 4 — Tréning studenta. Pre väčšinu doménových prípadov postačí štandardný SFT s Unsloth alebo Axolotl na modeli veľkosti 1B–8B. Ak máte prístup k logitom teachera (otvorený model), pridajte dištiláciu loss (KL divergencia) — TRL má na to priamu podporu. Pre produkčný pipeline a volbu metódy odporúčam pozrieť sa aj na prehľad SFT, DPO, GRPO — ktorá metóda kedy.
Krok 5 — Evalvácia a porovnanie. Merajte studenta na holdout sete z vašej domény, porovnajte s teacherom a so základným modelom bez dištilácie. Zaujíma vás delta — o koľko sa student priblížil teacherovi oproti baseline. Pokiaľ delta je menšia než 5–10 % relatívne, dištilácia bola úspešná.
Krok 6 — Nasadenie. Distilovaný student môžete kvantiziť (napríklad do formátu .gguf cez llama.cpp) pre ďalšie zníženie pamäťových nárokov pri inferencii. vLLM alebo Ollama zvládnu serving aj pre malé tímy bez DevOps infraštruktúry.
Časté chyby
Príliš veľký student. Ak chcete model, ktorý sa zmestí na 8 GB GPU, neštartujte s 13B studentom. Dištilácia neprepíše fyziku — menší hardware vyžaduje menší model.
Teacher a student z nekompatibilných domén. Teacher trénovaný výhradne na anglickom kóde bude zlý teacher pre slovenský zákaznícky servis. Teacher musí byť kompetentný na vašej cieľovej doméne — inak distilujete nesprávne správanie.
Ignorovanie skóre na iných taskoch. Dištilácia môže degradovať schopnosti studenta na úlohách mimo tréningovej distribúcie. Ak váš student má aj iné úlohy mimo distilovanej domény, zmerajte aj tieto. Katastrofické zabudnutie (catastrophic forgetting) je reálne aj pri distilácii — nie len pri fine-tuningu.
Očakávanie, že malý student dosiahne výkon veľkého vo všetkom. Najčastejšia mylná predstava. Distilácia je optimalizácia pre konkrétny slice schopností, nie klonovanie teachera.
Časté otázky
Je distilácia to isté ako kvantizácia?
Nie. Kvantizácia komprimuje existujúci model znížením numerickej presnosti váh — model zostáva rovnaký, len zaberá menej miesta. Dištilácia vytvára úplne nový, menší model, ktorý sa trénuje, aby napodoboval správanie väčšieho. Oba prístupy sa bežne kombinujú: najprv distilujete, potom kvantiziete výsledný student model.
Koľko dát potrebujem na dištiláciu?
Závisí od use case a od toho, či používate logity teachera alebo len jeho výstupy (syntetické dáta). Pre úzku doménovú dištiláciu cez SFT sú dosiahnuteľné výsledky aj s tisíckami príkladov — ak sú kvalitné. Pre robustný produkčný model bez regresií počítajte s desiatkami tisíc príkladov. Seed dát stačí 150–300 ručne overených; zvyšok môže vygenerovať teacher.
Môžem distilať zo zatvoreného API modelu, ku ktorému nemám prístup k logitom?
Áno, ale ide o neúplnú dištiláciu — resp. o tréning na syntetických dátach. Frontier model generuje odpovede, vy trénujete studenta na týchto textoch cez štandardný SFT. Výsledky môžu byť dobré pre väčšinu doménových úloh, ale nedostanete bohatší signál zo soft labels. Overte si pred použitím API podmienky konkrétneho poskytovateľa — niektorí explicitne zakazujú tréning na ich výstupoch.
Kedy je lepšie distilovať a kedy priamo fine-tunovať?
Ak máte k dispozícii kvalitný základový model požadovanej veľkosti (napríklad Phi-4, Qwen3 4B, Gemma 3 4B) a máte kvalitné doménové dáta, priamy fine-tuning je jednoduchší a rýchlejší. Dištilácia pridáva hodnotu, keď teacher má schopnosti, ktoré vaše existujúce dáta nezachytávajú — napríklad komplexné reasoning, dlhý chain-of-thought alebo nuansovanú neistotu v distribúciách.
Aký hardware potrebujem na tréning studenta?
Rovnaký ako na štandardný LoRA alebo QLoRA fine-tuning modelu danej veľkosti. Student 1B–3B pohodlne trénujete na RTX 3060 12 GB alebo vyššej karte. Student 7B–8B s QLoRA beží na RTX 3090/4090. Tréning je väčšinou kratší než full pretraining — rádovo hodiny, nie dni.
*V MP Industrial Solutions pomáhame firmám prechádzať od sľubného pilotu k robustnému produkčnému nasadeniu — vrátane voľby správneho modelu a techniky. Ak riešite, či je pre váš use case lepšia dištilácia, priamy fine-tuning alebo kombinácia s RAG, radi posúdime konkrétnu situáciu.*
