Čo je LLM: veľký jazykový model bez mystiky
Ako je možné, že program predpovedajúci ďalšie slovo napíše funkčný kód? Rozoberáme, čo sa deje vnútri jazykového modelu.
Vysvetlenie, ktoré počujete najčastejšie, znie: veľký jazykový model predpovedá ďalšie slovo. Je to pravda a zároveň to nepomáha. Automatické dopĺňanie v telefóne tiež predpovedá ďalšie slovo a nikto od neho nečaká, že mu zrefaktoruje kód.
Rozdiel je v tom, čo všetko sa model musel naučiť, aby to slovo trafil.
Predpovedanie ako vedľajší efekt
Predstavte si, že vašou jedinou úlohou je doplniť posledné slovo vety. Pri „Káva je horúca, tak si na ňu dám ___" stačí cit pre jazyk. Pri „Súčet 47 a 58 je ___" už musíte vedieť počítať. Pri „Táto funkcia padá, lebo premenná je ___" musíte rozumieť kódu.
A presne toto je jadro veci. Ak model trénujete na dopĺňanie slov naprieč celým internetom — knihami, dokumentáciou, diskusiami, kódom — nemôže tú úlohu zvládnuť bez toho, aby sa cestou naučil gramatiku, aritmetiku, kus faktov o svete a štruktúru programovacích jazykov. Schopnosti nie sú cieľ. Sú vedľajší produkt jednej hlúpo znejúcej úlohy, opakovanej v obrovskom meradle.
„Veľký" v skratke LLM neznamená, že je veľký súbor. Znamená, že má rádovo miliardy parametrov — čísel, ktoré sa počas tréningu doladili. Práve v nich je uložené všetko, čo sa model naučil.
Tokeny: model nevidí slová
Text sa pred spracovaním rozseká na tokeny. Token je zhruba kus slova — bežné slová bývajú jeden token, dlhšie alebo neobvyklé sa rozpadnú na viac.
Znie to ako technický detail, ale vysvetľuje to zvláštnosti, na ktoré narazíte. Prečo sa model občas mýli pri počítaní písmen v slove? Lebo písmená nevidí, vidí tokeny. Prečo za API platíte za tokeny a nie za znaky? Lebo tokeny sú jednotka, s ktorou model reálne pracuje. A prečo slovenčina spotrebuje viac tokenov než angličtina na tú istú vetu? Lebo tokenizér bol trénovaný prevažne na anglických textoch.
Kontextové okno je pracovný stôl
Kontextové okno je množstvo tokenov, ktoré model dokáže naraz udržať — otázka, doterajšia konverzácia, priložené dokumenty, systémové inštrukcie. Všetko dokopy.
Dôležité je, že model si medzi hovormi nič nepamätá. Keď sa vám zdá, že si pamätá, čo ste písali pred piatimi minútami, je to preto, lebo mu aplikácia celú konverzáciu poslala znova. Každý jeden raz. Model je ako kolega s dokonalou amnéziou: zakaždým mu podáte celú zložku a on ju prečíta odznova.
To má dva praktické dôsledky. Dlhá konverzácia je drahá, lebo sa posiela celá. A keď okno pretečie, niečo z neho vypadne — zvyčajne to najstaršie. Preto sa dlhé chaty občas začnú správať, akoby zabudli, na čom ste sa dohodli. Nezabudli. Nikdy to nevideli.
Teplota a prečo dvakrát dostanete inú odpoveď
Model nevyberá jedno ďalšie slovo. Vypočíta pravdepodobnosť pre celý slovník a potom z nej vzorkuje. Parameter teplota určuje, ako veľmi sa smie odchýliť od najpravdepodobnejšej voľby.
Nízka teplota znamená predvídateľné, nudné a konzistentné odpovede. Vysoká znamená kreatívne, prekvapivé a nespoľahlivé. Na extrakciu údajov z faktúry chcete nízku. Na brainstorming názvov kampane vyššiu. Neexistuje správna hodnota, existuje správna hodnota pre danú úlohu.
Toto zároveň vysvetľuje, prečo je testovanie AI funkcií otravné. Ten istý vstup vám dá zakaždým trochu inú odpoveď.
Halucinácie nie sú bug
Model nikdy nerozlišoval medzi „viem to" a „znie to pravdepodobne". Celý čas robí to isté: hľadá najprirodzenejšie pokračovanie textu. Keď sa spýtate na fakt, ktorý v tréningových dátach nebol, model neodpovie „neviem" — lebo najprirodzenejším pokračovaním otázky je odpoveď, nie priznanie nevedomosti.
Preto vám s absolútnou istotou vymyslí neexistujúcu normu, zlý paragraf alebo knihu, ktorá nikdy nevyšla. Nie je to lož. Je to štatistika robiaca presne to, na čo bola postavená.
Zmierniť sa to dá — dodať modelu skutočné podklady a nechať ho odpovedať z nich (to je princíp RAG), pýtať si citácie, alebo overovať výstup kódom. Odstrániť sa to nedá.
Prečo na tom záleží
Väčšina sklamaní z LLM pramení z toho, že ľudia čakali databázu a dostali jazykový model. Databáza vám vráti fakt alebo chybu. Jazykový model vám vždy vráti text, ktorý znie dobre.
Keď túto jednu vec pochopíte, zvyšok už dáva zmysel: prečo mu treba dávať kontext, prečo mu neveriť naslepo a prečo tie najlepšie AI funkcie vyzerajú nudne — model spraví návrh, človek ho potvrdí.
Riešite niečo podobné vo vašej firme?
Chcem nezáväznú konzultáciu