GPT-3 jednou vetou
Na začiatku kurzu sme si povedali, že neurónová sieť je funkcia s veľa nastaviteľnými číslami. Teraz už vieš, čo presne to znamená pre GPT-3:
Hlavná myšlienka
GPT-3 je funkcia so 175 181 291 520 gombíkmi. Dostane najviac 2 048 tokenov a vráti rozdelenie pravdepodobnosti nad 50 257 možnými ďalšími tokenmi. Nič viac. Všetko ostatné, aj písanie esejí či preklad, vzniká tak, že túto funkciu zavoláš znova a znova.
Každý kúsok tohto stroja si už videl. Tu je rýchla mapa kurzu. Ťukni na dlaždicu, ak si chceš niečo pripomenúť.
Vážený súčet, bias, aktivácia. Sieť na číslice s 13 002 parametrami.
2Matematika učeniaChyba, gradient, zostup po svahu, mini-dávky.
3BackpropagationReťazové pravidlo spočíta gradient pre každú váhu naraz.
4Tokeny a embeddingyBPE, slovník 50 257, vektory s 12 288 číslami, softmax a teplota.
5AttentionQ, K, V, maska, 96 hláv, reziduálne spojenie a LayerNorm.
6MLP vrstvy12 288 → 49 152 → 12 288, fakty, superpozícia, reziduálny prúd.
V tejto prednáške to všetko zapojíme dokopy. Najprv si pozrieš jeden prechod celým modelom, potom spočítame, kde sedí 175 miliárd parametrov, a ukážeme si, ako sa tie čísla nastavili. Na konci si otvoríš skutočný malý GPT, ktorý som natrénoval rovnakým postupom.
Jeden prechod modelom, stanica po stanici
Nižšie je celá architektúra GPT-3 ako mapa. Je to presne ten stroj z článku Language Models are Few-Shot Learners (Brown a kol., 2020): 96 blokov, dmodel = 12 288, 96 hláv po 128 rozmeroch, kontext 2 048 tokenov. Informácia tečie zhora nadol a na konci sa vráti na začiatok.
Prieskumník GPT-3
Ťukni na ktorúkoľvek súčiastku a v paneli vedľa (na mobile pod mapou) uvidíš, čo robí, aké tvary má vstup a výstup a koľko má parametrov. Bloky, attention aj MLP sa dajú otvoriť. Režim „Sleduj jeden token“ prevedie vetu celým modelom krok za krokom.
Úloha: spusti „Sleduj jeden token“ a prejdi všetkých 17 krokov. Potom v mape otvor blok, v ňom attention a vyber si ľubovoľnú hlavu. Všimni si, že jedna hlava má len 6 291 456 parametrov, ale hláv je 96 × 96 = 9 216.
Pár vecí, ktoré z mapy stoja za zapamätanie:
- Tvar sa nemení. Do bloku vchádza tabuľka n × 12 288 a rovnaká tabuľka vychádza. Preto sa dá naskladať 96 blokov za seba.
- Reziduálny prúd je chrbtica. Attention a MLP nič neprepisujú, iba pripočítavajú. Každý blok číta, čo tam nechali predošlé, a pridá svoju opravu.
- Attention mieša informáciu medzi tokenmi, MLP spracuje každý token zvlášť. Tieto dve operácie sa striedajú 96-krát.
- Výstup závisí len od posledného vektora. Pri generovaní z unembeddingu potrebuješ iba riadok posledného tokenu. Ostatné pozície sa však počítajú tiež, lebo z nich čerpá attention.
Z článku (Brown a kol., 2020, časť 2.1)
Používame rovnaký model a architektúru ako GPT-2, vrátane upravenej inicializácie, pre-normalizácie a reverzibilnej tokenizácie, s výnimkou toho, že vo vrstvách transformera striedame husté a lokálne pásové riedke vzory pozornosti.Voľný preklad. „Pre-normalizácia“ znamená, že LayerNorm je pred attention a pred MLP, nie za nimi. Presne tak to vidíš v mape bloku.
Kde žije 175 miliárd parametrov
V 1. prednáške sme parametre siete na číslice spočítali ručne: 13 002. Pri GPT-3 to ide rovnako, len násobíme väčšie čísla. Tabuľka nižšie ide podľa výpočtu z videí 3Blue1Brown. Rozdeľuje parametre do ôsmich skupín matíc a zanedbáva biasy, LayerNorm a pozičné embeddingy, lebo spolu tvoria menej ako 0,1 %.
| Skupina | Výpočet | Parametre | Podiel |
|---|---|---|---|
| Embedding WE | 12 288 × 50 257 | 617 558 016 | 0,35 % |
| Key WK | 128 × 12 288 × 96 hláv × 96 vrstiev | 14 495 514 624 | 8,27 % |
| Query WQ | 128 × 12 288 × 96 × 96 | 14 495 514 624 | 8,27 % |
| Value WV | 128 × 12 288 × 96 × 96 | 14 495 514 624 | 8,27 % |
| Output WO | 12 288 × 128 × 96 × 96 | 14 495 514 624 | 8,27 % |
| MLP up-projection | 49 152 × 12 288 × 96 | 57 982 058 496 | 33,10 % |
| MLP down-projection | 12 288 × 49 152 × 96 | 57 982 058 496 | 33,10 % |
| Unembedding WU | 50 257 × 12 288 | 617 558 016 | 0,35 % |
| Spolu | 175 181 291 520 | 100 % |
Z tabuľky vyskakujú tri veci. Dve tretiny modelu sú MLP. Jedna tretina je attention. A embedding s unembeddingom, teda celý „slovník“, je menej ako jedno percento. GPT-3 nie je veľké preto, že pozná veľa slov, ale preto, že má veľmi veľa a veľmi širokých vrstiev.
Mapa v ukážke vyššie má aj režim „Kde je 175 miliárd“, kde vidíš tie isté čísla ako plochy. A teraz si postav vlastný model. Rovnaké vzorce platia pre každý GPT.
Postav si vlastné GPT
Posúvaj počet blokov, šírku dmodel, počet a veľkosť hláv, slovník a kontext. Pruhy ukazujú osem skupín matíc, súčet sa počíta rovnakým vzorcom ako tabuľka. Predvoľby sú všetkých osem modelov z tabuľky 2.1 článku GPT-3.
Úloha: klikni postupne na Small, XL a 175B a porovnaj súčet s hodnotou z článku. Potom pri 175B zdvojnásob dmodel. Parametre v blokoch sa zoštvornásobia, lebo každá matica rastie v oboch rozmeroch. Zdvojnásobenie počtu blokov ich len zdvojnásobí.
Prečo súčet nesedí s článkom na desatinu presne
Článok uvádza zaokrúhlené čísla (125M, 175,0B) a nepíše, čo presne započítal. GPT-2 používa pre embedding aj unembedding tú istú maticu, takže sa započíta len raz. Ukážka preto ukazuje aj „podrobný počet“ v štýle GPT-2: jedna spoločná matica slovníka, k tomu pozície, biasy a LayerNorm. Pri malých modeloch sedí s článkom oveľa lepšie, pri 175B sa oba spôsoby líšia o menej ako pol percenta.
Ako sa GPT-3 naučilo svojich 175 miliárd čísel
Na začiatku tréningu je každý z parametrov náhodné malé číslo. Model vtedy vypisuje nezmysly. Nikto mu potom neukazuje „správne odpovede“ na otázky. Úloha je oveľa jednoduchšia a dá sa vyrobiť z akéhokoľvek textu: uhádni ďalší token.
Každá pozícia v texte je jeden príklad
Zober vetu „The capital of France is Paris“. Z nej máš rovno päť úloh: po „The“ má prísť „ capital“, po „The capital“ má prísť „ of“, a tak ďalej. Vďaka maske v attention (5. prednáška) sa token nemôže pozrieť dopredu, takže model môže všetky pozície vyriešiť naraz v jednom prechode a nikde nepodvádza. Z jednej sekvencie s 2 048 tokenmi je tak 2 048 tréningových príkladov. Tomu sa hovorí self-supervised učenie: správne odpovede sú priamo v texte.
Strata: −ln p správneho tokenu
Pre každú pozíciu model vráti pravdepodobnosti. Zaujíma nás len jedna z nich: koľko dal tokenu, ktorý v texte naozaj nasledoval. Ak mu dal 1, strata je 0. Ak mu dal skoro nulu, strata letí do nekonečna. Tejto funkcii sa hovorí cross-entropy.
Strata jednej predpovede
Model doplňuje „The capital of France is“. Vyber, ktorý token bol v trénovacom texte naozaj ďalší, a posúvaj, akú pravdepodobnosť mu model dal. Pravdepodobnosti sú ilustračné.
Úloha: vyber „␣Lyon“. Model mu dal len 0,02, strata je 3,9. Potom posuň p k 1 a sleduj, ako strata padá k nule. Tréning nerobí nič iné: mení váhy tak, aby táto červená krivka na priemer klesala.
Jeden krok učenia
Krok učenia je presne ten istý cyklus ako v 2. a 3. prednáške, len s obrovskými číslami. Dávka textu, forward prechod, strata, backpropagation, malá úprava všetkých váh. GPT-3 v jednej dávke spracovalo 3,2 milióna tokenov a dokopy videlo 300 miliárd tokenov. To je zhruba 300 000 000 000 / 3 200 000 ≈ 93 750 krokov. Je to len približné číslo, lebo dávka sa na začiatku tréningu postupne zväčšovala.
Tréningová slučka
Bod obieha päť staníc jedného kroku. Prepínaj medzi skutočnými číslami GPT-3 a mini-GPT z tejto prednášky. Tlačidlo „500 krokov naraz“ zrýchli počítadlo.
Všimni si: v kroku 4 sa počíta gradient pre všetkých 175 miliárd parametrov naraz, nie pre jeden. Bez backpropagation z 3. prednášky by bol jeden krok nemysliteľne drahý.
Detaily z prílohy B článku: optimalizátor Adam (β1 = 0,9, β2 = 0,95), rýchlosť učenia 0,6 × 10−4 s lineárnym zahriatím (warmup) na začiatku a kosínusovým poklesom na 10 %, orezanie gradientu na normu 1,0 a weight decay 0,1. Adam je vylepšený gradientný zostup: pre každý parameter si pamätá kĺzavý priemer gradientov a podľa neho volí veľkosť kroku. Podstata je stále tá istá ako v 2. prednáške: krok proti gradientu.
Koľko to stálo
Podľa článku spotreboval tréning GPT-3 175B asi 3,14 × 1023 operácií s plávajúcou čiarkou. Dá sa to odhadnúť aj ručne: forward a backward stoja spolu zhruba 6 operácií na parameter a token, teda 6 × 175 miliárd × 300 miliárd ≈ 3,15 × 1023.
Ako vyzerá učenie na vlastné oči
Pre GPT-3 krivku učenia nevidíme, ale pre mini-GPT z tejto prednášky áno. Natrénoval som ho tým istým postupom: ďalší token, cross-entropy, backpropagation, Adam s warmupom, kosínusovým poklesom a weight decay 0,1. Tokeny sú tu jednotlivé znaky a text tvorí osem Shakespearových hier. Počas tréningu som si zapisoval stratu a občas nechal model niečo napísať.
Krivka učenia mini-GPT
Červená je strata na trénovacích dávkach, tyrkysové body sú strata na texte, ktorý model pri tréningu nevidel. Posuvníkom alebo kliknutím do grafu vyber krok a pod grafom si prečítaj, čo model v tej chvíli písal.
Úloha: prejdi kroky od 0 po koniec. Na začiatku je to náhodná zmes znakov. Potom sa objavia medzery a samohlásky, potom krátke slová, mená postáv veľkými písmenami a nakoniec riadky, ktoré vyzerajú ako divadelná hra. Gramatika a zmysel sú stále slabé. Model je milión ráz menší ako GPT-3.
Čo GPT-3 čítalo
Model je taký dobrý, aké sú dáta, na ktorých predpovedal ďalší token. Autori zobrali internetový archív Common Crawl, odfiltrovali z neho nekvalitné stránky, odstránili duplikáty a pridali kvalitnejšie zbierky: WebText2, dve zbierky kníh a anglickú Wikipédiu.
Zmes trénovacích dát
Prepínaj medzi tým, aké veľké sú jednotlivé sady, akú majú váhu v tréningu a koľkokrát ich model prečítal. Čísla sú z tabuľky 2.2 článku.
Všimni si: Wikipedia má len 3 miliardy tokenov, ale model ju videl 3,4-krát. Common Crawl je 136-krát väčší, a predsa z neho model nevidel ani polovicu. Autori vedome uprednostnili kvalitu pred množstvom.
Pri bežnom odhade 0,75 slova na token je to asi 225 miliárd slov.
Toľko by trvalo prečítať to rýchlosťou 250 slov za minútu, bez spánku a bez prestávky.
Z pôvodných 45 TB komprimovaného textu z rokov 2016 až 2019.
Generovanie: jeden token, a znova
Natrénovaný model vie jedinú vec: k textu vrátiť pravdepodobnosti ďalšieho tokenu. Ako z toho vznikne celá odpoveď? Jednoducho slučkou, ktorú si videl v prieskumníku ako žltú šípku:
- Prežeň celý doterajší text modelom a zober pravdepodobnosti z poslednej pozície.
- Vyžrebuj podľa nich jeden token. Teplota (4. prednáška) určí, či sa drží najpravdepodobnejších, alebo riskuje.
- Pripoj token na koniec textu a choď na krok 1. Skonči pri špeciálnom tokene konca alebo pri limite dĺžky.
Z toho plynú tri dôležité dôsledky:
- Odpovede sa líšia. Ak teplota nie je nula, rovnaká otázka dá zakaždým iný žreb, a teda inú odpoveď.
- Model nič neplánuje dopredu v texte. Každý token vzniká zvlášť. Akýkoľvek „plán“ musí byť zakódovaný vo vektoroch reziduálneho prúdu.
- Čo vypadne z kontextu, neexistuje. GPT-3 vidí naraz najviac 2 048 tokenov. Staršie tokeny model jednoducho nevidí.
Chat je len dokument
Keď sa rozprávaš s chatbotom, model nevidí „konverzáciu“. Vidí jeden dlhý text: nejaké úvodné inštrukcie, tvoje správy a jeho doterajšie odpovede, oddelené dohodnutými značkami. A pokračuje v ňom, token po tokene. Chatboty ako ChatGPT sú navyše po základnom tréningu doladené na príkladoch dobrých odpovedí a na hodnoteniach od ľudí, aby takéto dokumenty dopĺňali užitočne. Základný stroj je ale ten istý.
Skutočné mini-GPT, ktoré si otvoríš
GPT-3 si do prehliadača nestiahneš: len jeho váhy by mali stovky gigabajtov. Preto som natrénoval jeho miniatúru s rovnakou architektúrou: token embedding a naučený pozičný embedding, bloky s LayerNorm pred attention aj pred MLP, kauzálna multi-head attention, MLP so 4-násobnou šírkou a GELU, záverečná LayerNorm, unembedding a softmax. Rozdiel je len vo veľkosti:
Tokenom je jeden znak: písmená, medzera, nový riadok a interpunkcia.
dmodel = 64, každá hlava má 16 rozmerov, MLP má 256 neurónov.
Model vidí naraz len posledných 64 znakov.
Vrátane biasov, LayerNorm a pozícií. Výpočtom 3Blue1Brown 155 776.
Tréning som napísal v čistom JavaScripte, bez knižníc. Forward aj backward prechod sú naprogramované ručne a gradienty som overil numericky, rovnako ako v 3. prednáške. Model videl 4 000 krokov po 32 úsekoch so 64 znakmi, teda asi 8,2 milióna znakov, a strata na texte, ktorý pri tréningu nevidel, klesla zo 4,18 na 1,53. Celý tréning trval asi 27 minút na obyčajnom 6-jadrovom procesore. Výsledok píše text, ktorý vyzerá ako Shakespeare, kým ho nezačneš čítať: slová väčšinou existujú, mená postáv sedia, zmysel nie.
Otvor si mini-GPT
Napíš text a sleduj každý krok výpočtu so skutočnými číslami: tokeny a ich ID, embedding, reziduálny prúd po každom bloku, vzory pozornosti všetkých 12 hláv, aktivácie 256 neurónov MLP a pravdepodobnosti ďalšieho znaku. Tlačidlo „Generuj“ pridáva znaky jeden po druhom a všetky obrázky sa pri tom menia.
Úloha: napíš „ROMEO.“ a nový riadok a nechaj model generovať. Potom ťukni na znak v strede slova a pozri sa do bloku 1 na hlavy attention. Niektoré sa pozerajú len na predošlý znak, iné na začiatok slova alebo na nový riadok. Nakoniec zdvihni teplotu na 2 a znova generuj: text sa rozpadne na náhodné písmená.
Toto je celý princíp GPT-3 v malom. Keď v mini-GPT zväčšíš dmodel z 64 na 12 288, bloky z 3 na 96, hlavy zo 4 na 96, znaky vymeníš za 50 257 BPE tokenov a 8 miliónov znakov za 300 miliárd tokenov, dostaneš GPT-3. Nič iné sa nemení. Kód forward prechodu by zostal skoro rovnaký.
Učenie bez zmeny váh: zero-, one- a few-shot
Hlavný objav článku o GPT-3 je v jeho názve: Language Models are Few-Shot Learners. Starší prístup bol takýto: na každú úlohu (preklad, otázky, klasifikácia) model ďalej dotrénuješ na tisícoch príkladov. To sa volá fine-tuning a mení váhy. GPT-3 ukázalo, že veľkému modelu stačí úlohu opísať a ukázať pár príkladov priamo v texte.
Toto je prompt podobný obrázku 2.1 v článku. Model nevie, že „robí preklad“. Vidí dokument, v ktorom sa opakuje vzor „anglické slovo => francúzske slovo“, a najpravdepodobnejšie pokračovanie je dodržať ho. Autori to volajú in-context learning: učenie z kontextu.
Zero-shot, one-shot, few-shot
Prepínaj, koľko príkladov dostane model v prompte. Sleduj, čo sa mení v modeli.
Všimni si: počet zmenených váh je vždy 0. Rozdiel je len v texte na vstupe. Článok ukazuje, že s počtom príkladov a s veľkosťou modelu presnosť rastie, a že najväčší model z toho ťaží najviac.
Z článku (Brown a kol., 2020)
Pre všetky úlohy sa GPT-3 používa bez akýchkoľvek gradientných krokov alebo fine-tuningu. Úlohy a ukážky sú zadané čisto textom, v interakcii s modelom.Voľný preklad z abstraktu. Pri few-shot autori zvyčajne dávali 10 až 100 príkladov, koľko sa zmestí do 2 048 tokenov.
Ako to môže fungovať? Presne to nevieme. Autori sami píšu, že nie je jasné, či sa model úlohu z príkladov naozaj „učí“, alebo iba rozpozná úlohu, ktorú videl v trénovacích dátach. Isté je len to, že všetka práca sa deje v attention a MLP počas jedného forward prechodu.
Mierka: od 13 002 po 175 miliárd
Všetky siete z tohto kurzu sú postavené z rovnakých dielov: násobenie matice vektorom, nelinearita, gradient, backpropagation. Líšia sa hlavne veľkosťou. A tá je taká rozdielna, že ju na obyčajnej osi nevidno. Preto logaritmická os, na ktorej každá čiarka znamená 10× viac.
Od siete na číslice po GPT-3
Hore sú počty parametrov piatich sietí. Dole posúvaj dĺžku kontextu a sleduj, koľko skóre attention treba spočítať.
Úloha: nastav kontext na 4 096 tokenov, teda dvakrát viac ako GPT-3. Počet skóre attention sa zväčší skoro štyrikrát. Toto je dôvod, prečo je dlhý kontext drahý.
Attention porovnáva každý token s každým predošlým, takže práca rastie s druhou mocninou dĺžky kontextu, n². Aj preto GPT-3 v polovici vrstiev používa lokálne pásové riedke vzory: token sa tam pozerá len na blízke tokeny.
Čo bolo po GPT-3? Novšie modely, napríklad GPT-4, stoja na tej istej myšlienke transformera, ktorý predpovedá ďalší token. Sú väčšie, trénované na viac a lepších dátach a po základnom tréningu ešte doladené na užitočné a bezpečné odpovede. Pri GPT-4 OpenAI veľkosť ani presnú architektúru nezverejnil, preto o nich nebudeme hádať.
Čo vieme a čo nevieme
Na konci kurzu je fér povedať, kde sú hranice nášho poznania.
- Vieme presne, čo model počíta. Každé násobenie a každé číslo sa dá vypísať, ako v mini-GPT vyššie. Žiadna mágia tam nie je.
- Nevieme dobre, prečo to funguje. Z 175 miliárd čísel nevieme jednoducho prečítať, kde je uložený fakt o Paríži alebo ako model sčítava čísla. Odbor interpretability to skúma: hľadá, čo znamenajú jednotlivé neuróny a smery v reziduálnom prúde. Superpozícia zo 6. prednášky je jeden z dôvodov, prečo je to ťažké.
- Halucinácie nie sú porucha, ale vedľajší účinok. Model vždy vráti nejaké pravdepodobnosti a vždy sa dá vyžrebovať ďalší token. Neexistuje v ňom zvláštny výstup „neviem“, rovnako ako sieť na číslice z 1. prednášky nevedela povedať, že to nie je číslica. Plynulý a sebavedomý text preto ešte neznamená pravdivý.
- Model nevie nič po konci dát. Pozná len texty z čias pred tréningom. Čo sa stalo potom, môže iba hádať.
Článok o GPT-3 to sám priznáva: texty sa niekedy opakujú, pri dlhších pasážach strácajú súvislosť a protirečia si. Autori venujú celú kapitolu aj rizikám, napríklad predsudkom prevzatým z dát.
Záverečný kvíz celého kurzu
Osem otázok naprieč všetkými siedmimi prednáškami. Nič sa nikam neposiela.
1. Čo presne vráti GPT-3 po jednom forward prechode?
Výstupom je rozdelenie pravdepodobnosti nad celým slovníkom. Odpoveď vznikne až slučkou: vyžrebuj token, pripoj, opakuj.
2. Kde je väčšina parametrov GPT-3?
MLP up- a down-projection majú spolu 115 964 116 992 parametrov, teda 66,2 %. Attention má 33,1 % a embedding s unembeddingom spolu len 0,7 %.
3. Model dal správnemu ďalšiemu tokenu pravdepodobnosť 0,25. Aká je strata (cross-entropy)?
Strata je −ln 0,25 = ln 4 ≈ 1,386. Keby dal správnemu tokenu 1, strata by bola 0.
4. Prečo môže byť pri tréningu každá pozícia v texte samostatný príklad, a to všetky v jednom prechode?
Vďaka kauzálnej maske predpoveď na pozícii k závisí len od tokenov 0 až k. Model teda nemôže odpísať odpoveď a všetky pozície sa dajú vyhodnotiť naraz.
5. Čo sa zmení v GPT-3, keď mu v prompte dáš päť príkladov úlohy (few-shot)?
To je hlavný bod článku: in-context learning prebieha bez gradientných krokov. Príklady ovplyvnia výpočet attention a MLP, ale nie parametre.
6. Čo spočíta backpropagation v jednom kroku tréningu GPT-3?
Backpropagation (3. prednáška) cez reťazové pravidlo spočíta, ako by sa strata zmenila pri malej zmene každého parametra. Optimalizátor Adam potom každý parameter posunie kúsok proti gradientu.
7. Čo majú spoločné sieť na číslice z 1. prednášky a GPT-3?
Vzorec a = σ(W·a + b) z 1. prednášky je jadro aj GPT-3. Transformer k nemu pridal attention, ktorá mieša informáciu medzi tokenmi, a obrovskú mierku.
8. Čo sa stane, keď pri generovaní zvýšiš teplotu?
Logity sa delia teplotou pred softmaxom. Vyššia teplota rozdiely zmenší, takže žreb je náhodnejší. V mini-GPT pri teplote 2 vznikne skoro náhodný text.
Čo si odnášaš z celého kurzu
- GPT-3 je funkcia so 175 181 291 520 parametrami (výpočtom 3Blue1Brown). Z najviac 2 048 tokenov spraví pravdepodobnosti pre 50 257 možných ďalších tokenov.
- Tok informácie: tokenizer → embedding + pozícia → 96 blokov (LayerNorm, attention, pripočítanie, LayerNorm, MLP, pripočítanie) → LayerNorm → unembedding → softmax → token → znova.
- Dve tretiny parametrov sú v MLP, tretina v attention a menej ako percento v slovníku.
- Tréning je predpovedanie ďalšieho tokenu na 300 miliardách tokenov: cross-entropy, backpropagation cez 96 blokov a Adam. Zhruba 93 750 krokov po 3,2 milióna tokenov.
- Generovanie je slučka. Chat je len dokument, ktorý model dopĺňa.
- In-context learning: príklady v prompte zmenia správanie bez zmeny jedinej váhy.
- Mini-GPT so 162 496 parametrami je ten istý stroj, len asi milión ráz menší. A napíše niečo, čo vyzerá ako Shakespeare.
Kurz je za tebou
Prešiel si celú cestu od jedného neurónu k modelu so 175 miliardami parametrov. Keď nabudúce uvidíš chatbota písať odpoveď slovo po slove, budeš presne vedieť, čo sa deje: 96 blokov, attention, MLP, softmax a žreb. Znova a znova.
Zdroje
- T. Brown a kol.: Language Models are Few-Shot Learners. NeurIPS 2020 (článok o GPT-3; tabuľky 2.1 a 2.2, príloha B).
- A. Vaswani a kol.: Attention Is All You Need. NeurIPS 2017 (Transformer base: 6 vrstiev, dmodel = 512, 65 miliónov parametrov).
- 3Blue1Brown: Transformers, the tech behind LLMs (video, 2024).
- 3Blue1Brown: Attention in transformers, step-by-step (video, 2024).
- 3Blue1Brown: How might LLMs store facts (video, 2024). Odtiaľ je výpočet 175 181 291 520 parametrov.
- W. Shakespeare: The Complete Works, Project Gutenberg #100 (trénovací text mini-GPT, voľné dielo).