Výskum
Helix, časť 1: trénujeme európsky jazykový model
Trénujeme vlastný jazykový model. Je malý – 320 miliónov parametrov –, ale číta všetkých 24 úradných jazykov Európskej únie a trénuje na grafických kartách určených na hry. Táto prvá časť rozpráva, ako sme sa sem dostali; druhá vyjde, keď sa tréning skončí.

Obsah
Prečo herné štúdio trénuje jazykový model
NETBYTE robí hry, aplikácie a weby. Jazykové modely sú v takých produktoch čoraz častejšie: ako postavy, ktoré odpovedajú, ako pomoc, ktorá rozumie otázke, ako nástroje, ktoré niečo urobia. Väčšina otvorených modelov myslí najmä po anglicky; estónčina, írčina či maltčina prichádzajú až na okraji. Chceli sme celému reťazcu porozumieť sami – dáta, tokenizér, architektúra, tréning – a zistiť, kam skutočne idú peniaze.
- parametrov
- 320 mil.
- úradných jazykov EÚ
- 24
- tréningových tokenov
- 6,5 mld.
- za prenajaté GPU
- ≈ 12 $
Helix začal ako výskumný prototyp. Všetko nižšie je rozhodnutie, ktoré ho sformovalo, každé podložené meraním – a k tomu chyby, ktoré nás stáli najviac času.
Štyri nápady, prežil jeden
Prototyp mieril na štyri známe slabiny dnešných generátorov textu. Píše po blokoch 16 tokenov namiesto po jednom, vie niekoľkokrát prejsť zdieľaným jadrom vrstiev, pre každý blok predpovedá kompaktný „plán“ a kombinuje lacnú lokálnu pozornosť s lineárnou pozornosťou pre veľké vzdialenosti.
Písanie po blokoch fungovalo hneď: malý testovací model napísal 64 tokenov v 13 prechodoch sieťou, kde bežný model potrebuje jeden prechod na token – zhruba pätinu práce. Zvyšné tri nápady neprešli tvrdším testom. Postavili sme úlohy, v ktorých odpoveď leží ďaleko za lokálnym oknom, takže model sa musí obzrieť cez celý text.
Zobraziť údaje
| Varianta | Správne |
|---|---|
| Len lokálne okno | 23,1 % |
| + lineárna pozornosť, plán a slučky | 23,1 % |
| + 2 presné globálne hlavy | 49,4 % |
| Plná pozornosť (kontrola) | 49,0 % |
| Náhoda (25 %) | 25,0 % |
Vyriešila ich len presná pozornosť cez celú vzdialenosť. Lineárna pozornosť, plán a slučky zostali na úrovni náhody; optimalizátor dokonca stiahol lineárnu pamäť na polčas kratší ako jeden token. Dve presné globálne hlavy stačili na to, aby sa vyrovnali plnej pozornosti.
Výsledný model preto ponecháva v každej vrstve osem lokálnych hláv s oknom 256 tokenov a v každej druhej vrstve pridáva dve presné globálne hlavy; vrstvy medzi nimi si ponechávajú dve hlavy lineárnej pozornosti s hradlom. Plán a slučky sú vypnuté. Zostávajú v kóde a sú otestované, no na skutočnom texte sa ich cena nevyplatila.
- Lokálna, okno 256 tokenov
- Presná globálna pozornosť
- Lineárna pozornosť s hradlom
Zobraziť údaje
| Typ hlavy | Vrstvy | Hláv na vrstvu |
|---|---|---|
| Lokálna, okno 256 tokenov | 1–12 | 8 |
| Presná globálna pozornosť | 1, 3, 5, 7, 9, 11 | 2 |
| Lineárna pozornosť s hradlom | 2, 4, 6, 8, 10, 12 | 2 |
Merať, nie predpokladať
Každý tréningový trik sme testovali na modeli s 94 miliónmi parametrov s rovnakým rozpočtom na beh: 29,5 milióna tokenov, rovnaký seed, rovnaké poradie dát. Dva behy tej istej konfigurácie sa líšia o ±0,03, takže čokoľvek menšie je šum.
Zobraziť údaje
| Zmena | Δ straty (naty) |
|---|---|
| Muon + rozvrh WSD | -0,587 |
| Optimalizátor Muon | -0,347 |
| Hlbšia a užšia sieť | -0,099 |
| Rozvrh WSD | -0,080 |
| Rezíduum hodnôt | -0,007 |
| z-loss | +0,029 |
| Pozornosť so zoskupenými dopytmi | +0,088 |
Optimalizátor Muon bol jedinou veľkou pákou a dobre sa kombinuje s rozvrhom rýchlosti učenia warmup-stable-decay. Vrátenie embeddingu a výstupnej vrstvy späť na AdamW, ako odporúčajú autori Muonu, prinieslo ďalších 0,12 a zrýchlilo tréning o 5 %. Kombinácie sa jednoducho nesčítavajú: hlbšia a užšia sieť pomáhala s AdamW a škodila s Muonom. Preto každá sľubná kombinácia dostala vlastný beh.
24 jazykov, 6,5 miliardy tokenov
Helix číta webový text z FineWeb-Edu pre angličtinu a z FineWeb-2 pre zvyšných 23 jazykov – pri väčších z jeho hornej desatiny vybranej podľa kvality. Kód, matematika a malý syntetický prúd chatov zmes dopĺňajú. Angličtina dostáva tretinu. Ostatné jazyky sú vážené podľa množstva dostupného textu, vyhladeného tak, aby írčina a maltčina nezapadli, a žiadny zdroj sa neopakuje viac ako štyrikrát – do tejto hranice je opakovanie takmer rovnako dobré ako čerstvé dáta.
Zobraziť údaje
| Zdroj | Podiel |
|---|---|
| Ďalších 23 jazykov EÚ | 51,6 % |
| Angličtina | 33,0 % |
| Kód a značkovanie | 10,0 % |
| Matematika | 3,0 % |
| Syntetické chaty a nástroje | 2,4 % |
Prúd chatov je extraktívny: odpovede sa preberajú zo skutočných odsekov a výsledky nástrojov sa počítajú, nie vymýšľajú. Učí formát, nie vedomosti. Tokenizér je bajtový BPE so 64 000 položkami; pre každý jazyk písaný latinkou vtesná do jedného tokenu 3,3 až 4 bajty textu.
Tri chyby, ktoré stoja za rozprávanie
- Model, ktorý čítal odpoveď. V jednej vetve kódu globálne hlavy ignorovali kauzálnu masku a videli budúce tokeny. Strata klesla za 75 krokov zo 6,85 na 1,71 a šestnásťhodinový beh bol na nič. Podozrivo dobrá strata je hlásenie o chybe; presne toto teraz stráži regresný test.
- Znaky nie sú bajty. Kompresia sa počítala v znakoch namiesto v bajtoch UTF-8. To si vymyslelo „slabinu“ v čínštine a gréčtina s bulharčinou vyzerali takmer dvakrát horšie, než v skutočnosti sú.
- Dokumenty polámané na každom prázdnom riadku. Enkodér delil dokumenty na každom prázdnom riadku – a prázdne riadky sú uprostred takmer každého zdrojového súboru. Stratilo sa až 35 % textu s kódom a matematikou. Opravili sme oddeľovač a 31. októbra prestavali celý korpus; trvalo to 2 hodiny a 12 minút.
Od stola k prenajatému stroju
Prvých 1,66 miliardy tokenov prebehlo na jedinej AMD Radeon RX 7800 XT. Použiteľné to urobili dve veci: príznak jadra pozornosti, ktorý je predvolene vypnutý – bez neho bola pozornosť 12-krát pomalšia –, a kompilácia každej vrstvy cez torch.compile. Pri mediáne 11 800 tokenov za sekundu by zvyšok trval ešte takmer päť dní.
Napísali sme preto autopilota. Prenajíma GPU na Vast.ai, nahrá kód, korpus a checkpoint, trénuje, každé tri hodiny stiahne checkpoint domov a zastaví sa skôr, než dôjde kredit. Druhého novembra prešiel tromi strojmi, ktoré poskytovatelia nikdy nespustili, a potom zakotvil pri dvoch RTX 4070 Ti Super v Nemecku za 0,363 $ za hodinu. Nahranie 15,4 GiB trvalo 40 minút.
Zobraziť údaje
| Zostava | Tokeny/s |
|---|---|
| Lokálne, pred optimalizáciou | 8 319 |
| Lokálne, skompilované | 11 830 |
| Prenájom, 2 GPU | 41 367 |
41 400 tokenov za sekundu je 3,5-násobok stola. Prenajatá časť – 4,8 miliardy tokenov zhruba za 33 hodín – stojí asi 12 $.
Kde je Helix dnes
- Odložený
- Tréning
Strata (naty na token)
Prečítané tokeny v miliardách
Zobraziť údaje
| Prečítané tokeny v miliardách | Odložený | Tréning |
|---|---|---|
| 0,06 | 4,571 | 4,261 |
| 0,55 | 3,776 | 3,574 |
| 1,04 | 3,694 | 3,469 |
| 1,54 | 3,596 | 3,421 |
| 2,03 | 3,426 | 3,238 |
| 2,52 | 3,329 | 3,143 |
| 3,01 | 3,291 | 3,113 |
| 3,50 | 3,263 | 3,076 |
| 3,99 | 3,225 | 3,079 |
| 4,49 | 3,244 | 3,076 |
| 4,98 | 3,218 | 3,036 |
| 5,35 | 3,123 | 2,884 |
K 3. novembru 2026 prečítal Helix 5,35 zo svojich 6,5 miliardy tokenov. Od 5,2 miliardy beží fáza dochladzovania: rýchlosť učenia klesá a zmes sa posúva k matematike, kódu a chatom. Na odloženom texte zo všetkých prúdov je strata 3,12 natu na token.
Zobraziť údaje
| Jazyk | Bity na bajt |
|---|---|
| gréčtina | 0,721 |
| bulharčina | 0,844 |
| francúzština | 1,065 |
| angličtina | 1,086 |
| španielčina | 1,135 |
| portugalčina | 1,219 |
| nemčina | 1,257 |
| holandčina | 1,268 |
| taliančina | 1,277 |
| poľština | 1,355 |
| dánčina | 1,364 |
| maďarčina | 1,407 |
| slovenčina | 1,412 |
| maltčina | 1,415 |
| rumunčina | 1,416 |
| švédčina | 1,418 |
| írčina | 1,422 |
| slovinčina | 1,431 |
| čeština | 1,444 |
| litovčina | 1,450 |
| lotyština | 1,451 |
| chorvátčina | 1,507 |
| fínčina | 1,508 |
| estónčina | 1,727 |
Čo to znamená v praxi, najlepšie ukazuje neupravená ukážka z checkpointu pri zhruba 4,9 miliardy tokenov. Začiatok je náš, zvyšok je od Helixu:
Začiatok textu: The history of the printing press begins in the fifteenth century, when Johannes Gutenberg introduced movable type to Europe. Before that, books
Výstup modelu: for printing were usually in the form of texts, usually in the format of illustrations. In its introduction to the printing press, Gutenberg uses one line-of-action model to illustrate a series of printed pieces of a book.
Gramatika, voľba slov a téma držia; fakty nie. Približne to sa dá čakať od 320 miliónov parametrov a 6,5 miliardy tokenov: plynulý model, ktorý si vymýšľa.
Čo príde ďalej
Predtréning sa skončí o pár hodín. Potom príde fáza dlhého kontextu s knihami z Project Gutenberg a právnymi textami EÚ z EUR-Lex, doladenie na konverzáciu a prácu s nástrojmi a malý návrhový model, ktorý zrýchli generovanie.