Hogyan működnek a nagy nyelvi modellek?
Mi az a nagy nyelvi modell?
Egy nagy nyelvi modell (large language model, LLM) a felszínen megtévesztően egyszerű dolgot csinál: adott szövegkezdet után megjósolja a következő szövegdarabot. Kap egy tokensorozatot — „A macska felmászott a” —, és kimenetként egy valószínűség-eloszlást ad a szótára összes lehetséges következő tokenjére: „fára” 62%, „fa” 11%, „kerítésre” 7% (szemléltető számok), és így tovább több tízezer további lehetőségre. A szöveg generálása ennek az egyetlen műveletnek az ismétlése: a modell húz egy tokent az eloszlásból, hozzáfűzi a szöveghez, majd a meghosszabbodott szövegre kiszámítja a következő token eloszlását. A gyakorlatban a korábbi számítások egy része gyorsítótárból újrahasználható; erről az inferenciáról szóló fejezetben lesz szó. Ezt hívjuk autoregresszív generálásnak. A tananyag elsősorban az ilyen, szöveget tokenenként előállító, autoregresszív transzformermodellek működését mutatja be.
Ami ebből a definícióból nem látszik: ahhoz, hogy a következő tokent jól jósold meg, implicit módon nagyon sok mindent kell „tudni”. A „Párizs Franciaország fővárosa, Berlin pedig …” folytatásához földrajzi tényeket; a „ha 3 alma 600 Ft, akkor 7 alma …” folytatásához aritmetikát; egy félbehagyott Python-függvény folytatásához programozást. A következő token jóslása tehát nem egy szűk feladat: sokféle nyelvi és tartalmi összefüggés megtanulása lehet hasznos hozzá. A tanítás során a modell paraméterei olyan belső mintázatokká rendeződhetnek, amelyek nyelvtant, tényeket, stílust és következtetési mintázatokat reprezentálnak, mert ezek javítják a jóslást. Egyes vizsgálatok a feladat világára vonatkozó belső reprezentációkat is kimutattak: például egy táblajáték állását egy csak lépéssorozatokon tanított modellben, vagy helyekre és időpontokra vonatkozó irányokat nagy nyelvi modellekben (Li et al., 2023; Gurnee & Tegmark, 2024). Ebből azonban nem következik, hogy minden modell egységes vagy emberi értelemben vett világmodellt alakít ki.
Miért „nagy”?
A „nagy” a paraméterek számára utal: a modell viselkedését meghatározó tanult számokra. Egy modern LLM-ben ezekből milliárdok vannak — a nyílt modellek jellemzően a ~1 milliárdtól a több száz milliárdig terjedő tartományban mozognak, a legnagyobb rendszerek ezt is meghaladják. A paraméterek túlnyomó része néhány óriási mátrixban ül (embedding-, attention- és MLP-súlyok, lásd a 4. fejezetet). A méret nem öncélú: az 5.6. szakaszban látni fogjuk, hogy a teljesítmény meglepően szabályos skálázási törvényeket követ — a több paraméter és több adat kiszámíthatóan jobb jóslást ad.
A modell életciklusa
Egy modern LLM két nagy szakaszban készül. Az előtanítás (pretraining) során a modell hatalmas, több billió tokenes szövegkorpuszon tanulja a következő token jóslását — itt jön létre a nyers képesség (5. fejezet). Ezután az utótanítás (post-training) formálja használható asszisztenssé: felügyelt finomhangolás, preferencia-alapú tanítás (RLHF, DPO) és biztonsági tréning (6. fejezet). A kész modellt futtatni — inferencia — önálló mérnöki terület a maga trükkjeivel (7. fejezet). Végül a 8. fejezet arról szól, amit a kutatók ma még csak részben értenek: mi történik valójában odabent.
Matematika A modell mint valószínűségi eloszlás — pontos megfogalmazás
Formálisan a nyelvi modell egy paraméterezett eloszlás a tokensorozatok felett. A láncszabály szerint bármely x1, …, xT sorozat együttes valószínűsége felbontható feltételes valószínűségek szorzatára:
A modell — a θ paraméterekkel — pontosan ezeket a feltételes tagokat számolja: minden pozícióban egy eloszlást ad a V méretű szótár felett az addigi kontextus (prefix) függvényében. Ez a felbontás egzakt, nem közelítés; a modellezési döntés az, hogy a feltételes eloszlást egy neurális háló reprezentálja, amelynek bemenete a prefix, kimenete pedig egy V-dimenziós valószínűségvektor.
Két fontos következmény. Először: a tanítás célja természetesen adódik — maximalizáljuk a tanítókorpusz log-valószínűségét (ez lesz a cross-entropy loss, 5.1). Másodszor: a generálás mintavételezés ebből az eloszlásból, és a mintavételi stratégia (temperature, top-p) külön szabadságfok, amely nem része a modellnek (7. fejezet).
Kutatói mélység Történeti ív: miért éppen a transzformer nyert?
A feltételes eloszlás reprezentálására több architektúra-generáció versengett. Az n-gram modellek (a 2000-es évekig dominánsak) egyszerűen megszámolták, milyen gyakran követi egy szó az előző n−1 szót — de a kontextus hossza fixen rövid, és a soha nem látott kombinációkra nincs általánosítás. A rekurrens hálók (RNN, LSTM; ~2014–2017) egy fix méretű rejtett állapotba tömörítették a teljes előzményt: elvben korlátlan kontextus, gyakorlatban két végzetes gyengeséggel. Az információnak sok lépésen át kell „túlélnie” a rejtett állapotban (a gradiens eltűnik vagy felrobban, 5.3), és a feldolgozás eredendően szekvenciális — a t-edik lépés nem kezdhető el a t−1-edik előtt, ami a GPU-k párhuzamos természetével ellentétes.
A transzformer (Vaswani et al., 2017, „Attention Is All You Need”) mindkét problémát egyszerre oldotta meg. Az attention közvetlen kapcsolatot teremt bármely két pozíció között — az információnak nem kell lépésről lépésre vándorolnia, a gradiens-út hossza bármely két token között O(1). És mivel a tanítás során minden pozíció jóslása egyszerre, egymástól függetlenül számolható (a kauzális maszkkal, 4.3), a teljes szekvencia egyetlen hatalmas mátrixműveletként fut a GPU-n. A győzelem tehát nem pusztán „jobb induktív torzítás”, hanem hardver-illeszkedés: a transzformer az az architektúra, amely a rendelkezésre álló számítási kapacitást a leghatékonyabban váltja tanulásra. Ez a szempont — a compute-hatékonyság mint elsődleges tervezési elv — azóta is az architektúra-fejlődés fő hajtóereje (4.8).
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
Tokenizáció: a szövegből számsorozat
A neurális háló nem betűket lát, hanem számokat. Az első lépés tehát a szöveg feldarabolása egy rögzített szótár (vocabulary) elemeire — ezek a tokenek —, majd minden darab lecserélése a szótárbeli sorszámára. A kérdés: mekkorák legyenek a darabok?
Két szélsőség kínálkozik, és mindkettő rossz. Ha karakterenként tokenizálunk, a szótár apró (néhány száz elem), de a sorozatok nagyon hosszúak lesznek, és a modellnek minden szó jelentését karakterekből kellene minden alkalommal összeraknia. Ha szavanként, a sorozatok rövidek, de a szótár robbanásszerűen nő (a magyar ragozás miatt a „ház, házam, házaimban, házaitokból…” mind külön elem lenne), és minden ismeretlen szó — új név, elgépelés, ritka összetétel — kezelhetetlen. A gyakorlati megoldás a kettő közötti részszó-tokenizáció (subword): a gyakori szavak egyetlen tokent kapnak, a ritkák értelmes darabokra esnek szét. A domináns algoritmus a byte-pair encoding (BPE).
A BPE alapötlete tömörítési elv: ami gyakran fordul elő együtt, azt vonjuk össze egy szimbólummá. A szótárat nem kézzel írjuk, hanem adatból tanuljuk: karakterekből (pontosabban bájtokból) indulunk, és ismételten összeolvasztjuk a korpuszban leggyakrabban szomszédos párokat, amíg a szótár el nem éri a kívánt méretet — jellemzően 32 000 és 260 000 közötti elemszámot.
strawberry-ben? Mert a modell nem betűket lát: a szó nála például str+aw+berry tokenekből áll, és a tokenek belső betűösszetétele csak közvetve, a tanítóadatból megtanulva hozzáférhető. Ugyanez az oka annak, hogy a számolás számjegyenként tokenizált modellekben megbízhatóbb: a 12345 egyetlen tokenként „atomi”, 1+2+3+4+5-ként viszont a helyiérték-szerkezet láthatóvá válik.
A szótár és a speciális tokenek
A kész szótár tanult részszavakat és fenntartott speciális tokenazonosítókat is tartalmazhat: szövegvég, szerephatárok, eszközhívás-jelölők. A felhasználó által beírt jelölőszöveg és a valódi vezérlőtoken nem ugyanaz. A tokenizer API-ja és a chat-formátum feldolgozója szabályozza, mikor engedélyezett speciális token előállítása; ez nem a BPE önmagában garantált tulajdonsága. A nem megbízható bemenetet tartalomként kell kódolni, nem szerephatárként. Ez önmagában nem szünteti meg a prompt injectiont. Példa: tiktoken allowed_special / disallowed_special. A nagyobb szótár rövidebb sorozatokat adhat, de növeli az embedding-tábla méretét.
Matematika A BPE-algoritmus pontosan, és a fő alternatíva
Szótárépítés (tanítási idő):
# korpusz: bájtsorozatok; cél: V méretű szótár
szótár = {mind a 256 bájt}
merge_szabályok = []
while |szótár| < V:
pár = a korpuszban leggyakoribb szomszédos (x, y) tokenpár
új_token = concat(x, y)
szótár.add(új_token)
merge_szabályok.append((x, y) → új_token)
korpusz = minden (x, y) előfordulás cseréje új_token-re
Tokenizálás (használati idő): a bemenetet bájtokra bontjuk, majd a merge-szabályokat a tanult sorrendben alkalmazzuk, amíg lehet. A sorrend determinisztikussá teszi az eredményt. A gyakorlatban a bontást egy reguláris kifejezéses előszegmentálás előzi meg (szavak, számok, írásjelek szétválasztása), hogy a merge-ek ne lépjenek át szóhatárokat.
A 256 bájtból induló BPE a kódolt szöveg minden bájtját reprezentálhatja, ezért a szótár szintjén nincs szükség ismeretlen-tokenre. Az API ettől még érvényes Unicode-szöveget várhat, és végezhet előfeldolgozást: a „bármilyen bináris adat gond nélkül beadható” állítás túl erős. Nem minden tokenizer bájtalapú BPE; a SentencePiece például BPE- és unigram-modelleket is támogat.
Kutatói mélység Kutatói szempontok: glitch tokenek, nyelvi egyenlőtlenség, tokenmentes modellek
Ritka és szokatlan tokenek. Egy kevés közvetlen tanítási példát kapó token hibás vagy szokatlan választ válthat ki. A tokenizer és a nyelvi modell külön tanítási folyamata közti eltérés lehetséges ok, de nem minden eset bizonyított magyarázata. Az embeddingről pusztán a ritkaság alapján nem mondhatjuk, hogy változatlan inicializálási zaj: a kimenettel megosztott súlyok, a weight decay és az optimalizálóállapot is módosíthatja. A jelenséghez a konkrét modellt és tokent kell mérni.
Fertilitás és nyelvi méltányosság. Egy főleg angol korpuszon épített szótár az angolt tömören, más nyelveket pazarlóan tokenizál — ugyanaz a tartalom magyarul lényegesen több tokent adhat (magasabb „fertilitás”), agglutináló morfológiánk ráadásul gyakran nem morfémahatárokon törik. Ez nem csak költségkérdés: a hosszabb tokensorozat kevesebb effektív kontextust és a per-token tanulási jel felhígulását jelenti. Az újabb, többnyelvű korpuszon épített, nagyobb szótárak (100k–260k) ezt jelentősen enyhítik.
Kell-e egyáltalán tokenizáló? Aktív kutatási irány a tokenizáció kiváltása: bájt-szintű modellek (ByT5), illetve dinamikus, tanult szegmentálás, ahol a modell maga dönti el, hol húz határt (pl. a Byte Latent Transformer az előrejelezhetőség — entrópia — alapján képez változó méretű „patcheket”). A motiváció: a BPE-tokenizáló szótára és összevonási szabályai külön, adatokból tanultak, de a diszkrét tokenizálást a nyelvi modell szokásos gradiensalapú tanítása már nem módosítja. A rögzített felbontás több fenti nehézséghez is hozzájárul; nem minden ilyen hiba vezethető vissza kizárólag rá. Az ár a hosszabb sorozatok miatti számításigény — a kérdés az, hogy a hierarchikus architektúrák ezt mikor hozzák be.
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
Embeddingek: a jelentés mint irány egy vektortérben
A token-ID-k önmagukban semmitmondó sorszámok: a 9042-es token semmivel sem „hasonlóbb” a 9043-ashoz, mint az 517-eshez. A hálónak olyan reprezentáció kell, amelyben a hasonlóság számolható. Ezért minden tokenhez egy tanult vektort rendelünk — egy több ezer dimenziós számsorozatot —, és ettől kezdve a modell nem tokenekkel, hanem ezekkel a vektorokkal dolgozik. Ezt a hozzárendelést hívjuk embeddingnek.
A döntő pont: az embeddingeket nem kézzel tervezzük, hanem a modell tanulja, ugyanazzal a gradiens-módszerrel, mint minden más paraméterét. A tanítás nyomása alatt a geometria jelentést kezd hordozni: azok a tokenek, amelyek hasonló környezetekben fordulnak elő — és ezért hasonló jóslásokhoz kell hasonlóan hozzájárulniuk —, egymáshoz közeli vektorokat kapnak. A „kutya” és a „macska” vektora közel kerül egymáshoz; a „kutya” és az „integrál” távol. Sőt, az irányok is jelentést hordoznak: bizonyos irányba elmozdulva a nyelvtani szám, a nem, az idő vagy éppen a formalitás változik.
Mekkora ez a tér?
Az embedding-vektorok hossza a modell rejtett dimenziója, dmodel — kis modelleknél néhány száz, nagyoknál 4 000–20 000 körüli érték. Az összes token embeddingje egyetlen táblázatot alkot: egy V × dmodel méretű mátrixot (V a szótárméret). Egy 128k-s szótár és 8 192-es dimenzió mellett ez önmagában több mint egymilliárd paraméter. Fontos előretekintés: ez a vektor csak a kiindulópont — a token szótári jelentése. A transzformer rétegei (4. fejezet) ezt a vektort fokozatosan a szövegkörnyezetbeli jelentéssé írják át: a „vár” token vektora a rétegeken áthaladva mássá válik az „a vár fokán” és a „rám vár” kontextusban.
Matematika Az embedding mint mátrixszorzás, és a hasonlóság mérése
Az embedding-tábla a WE ∈ ℝV×d mátrix. Ha az i-edik tokent az ei one-hot vektorral kódoljuk (csupa nulla, egyetlen 1-essel az i-edik helyen), akkor az embedding formálisan mátrixszorzás:
A gyakorlatban ezt persze sorkivétellel (lookup) implementáljuk, de a mátrix-nézet fontos: így látszik, hogy WE ugyanolyan tanulható súlymátrix, mint bármely másik, és a bemeneti lookup felől érkező gradiens csak a batchben előforduló tokenek sorait érinti. Megosztott bemeneti–kimeneti súlyoknál (weight tying) a kimeneti softmax felől más sorok is kapnak gradienst; az optimalizáló állapota és a weight decay szintén módosíthatja a frissítést.
Két vektor hasonlóságának standard mértéke a koszinusz-hasonlóság — az irányok egyezése, a hossztól függetlenítve:
Értéke 1 közeli, ha a két irány majdnem azonos, 0 körüli, ha (közel) merőlegesek. A magas dimenzió itt kulcsszereplő: d dimenzióban exponenciálisan sok közel merőleges irány fér el — ezért fér el egy 10 000 dimenziós térben elvben százezernyi, egymástól jól elkülöníthető irány. Ez a tény a 8.4. szakasz szuperpozíció-hipotézisének alapja is.
Megjegyzés: a modell kimeneti oldalán ül egy hasonló WU „unembedding” mátrix (4.7), amely a belső vektort vetíti vissza a szótárra. Kisebb modellekben a kettőt gyakran megosztják (weight tying, WU = WE⊤), ami paramétert spórol és regularizál; a nagy modellek jellemzően külön tanítják őket.
Kutatói mélység Az embedding-geometria finomszerkezete
Anizotrópia. A naiv kép — egyenletesen szétszórt vektorok — empirikusan hamis: a tanult embeddingek jellemzően egy szűk kúpban koncentrálódnak, az átlagos páronkénti koszinusz-hasonlóság jóval nulla fölött van. Részben a gyakoriság torzít (a gyakori tokenek normája és elhelyezkedése szisztematikusan eltér a ritkákétól), részben az optimalizálás dinamikája. Emiatt a nyers koszinusz-hasonlóság félrevezető lehet, és a reprezentáció-elemzésben gyakran előbb kivonják az átlagvektort, vagy fehérítik a teret.
Mennyi „tudás” van már az embeddingben? Kevesebb, mint hinnénk. A statikus embedding csak a token eloszlási profilját tömöríti; a poliszémia (a „vár” minden jelentése egyetlen vektorban) feloldása, a szintaktikai szerep, a koreferencia mind a rétegek munkája. A modern nézet (8.2) szerint az embedding a residual stream kezdőállapota: egy kommunikációs sáv első üzenete, amelyet minden réteg olvas és felülír.
Lineáris reprezentációs hipotézis. A „jelentés ≈ irány” megfigyelés általánosítása az az állítás, hogy a modell belső jellemzői (features) jó közelítéssel lineáris irányokként vannak kódolva, és a rétegek ezekkel lineáris algebrai műveleteket végeznek. Ez ma a mechanistic interpretability munkahipotézise — erős empirikus támogatással (irány-aritmetika, lineáris próbák, SAE-eredmények, 8.5), de ismert ellenpéldákkal is: találtak cirkuláris, többdimenziós reprezentációkat (pl. a hét napjai egy síkbeli körön), amelyek nem írhatók le egyetlen iránnyal.
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
A transzformer architektúra
4.1 · A blokk: attention és MLP
A transzformer a modern LLM-ek motorja. Szerkezete meglepően ismétlődő: ugyanaz a blokk ismétlődik egymás után néhány tucatszor vagy százszor. Minden blokk két alegységből áll: egy attention (figyelem) rétegből, amely a tokenek közötti információáramlásért felel — ez az egyetlen hely, ahol ugyanazon szekvencia pozíciói „beszélgethetnek” egymással —, és egy MLP-rétegből, amely minden pozíciót önmagában, de nagy kapacitással dolgoz fel. A kettő munkamegosztása az egész architektúra veleje: az attention mozgatja az információt, az MLP feldolgozza.
4.2 · A residual stream: az architektúra gerince
Mielőtt az attention részleteibe mennénk, érdemes rögzíteni a legjobb mentális modellt az egészről. Minden token-pozícióhoz tartozik egy dmodel-dimenziós vektor, amely a rétegeken át rétegenként additív frissítéseket kap — ez a residual stream (reziduális folyam). A blokkok nem „feldolgozzák és továbbadják” az adatot, mint egy futószalag: ehelyett minden alegység kiolvassa a stream aktuális tartalmát, kiszámol belőle valami hasznosat, és az eredményt hozzáadja a streamhez. A kimenet felé haladva a stream egyre több réteg hozzájárulását hordozza összegként. A hozzáadás azonban ki is olthat korábbi összetevőket: az információ nem feltétlenül csak gyűlik vagy javul.
Ez az apróságnak tűnő tervezési döntés — a reziduális kapcsolat — három szempontból alapvető. Tanulhatóság: az összeadás identitáságat ad a gradiensnek, ami segíti a mély hálók optimalizálását; önmagában nem garantál stabil tanítást. Fokozatos módosítás: minden alegység a meglévő állapothoz ad frissítést, amely erősíthet vagy kiolthat korábbi összetevőket. Értelmezhetőség: az additív szerkezet segít elkülöníteni a komponensek hozzájárulását; ez a 8. fejezet egyik fontos elemzési eszköze.
4.3 · Attention: melyik token honnan olvasson?
Az attention információt mozgat a tokenek között, de a kauzális irány számít. Az „A daru fészkén ült” mondatban a „daru” pozíciója még nem láthatja a későbbi „fészkén” szót. A „fészkén” és az utána következő pozíciók viszont már összekapcsolhatják a korábbi „daru” tokent a madárra utaló környezettel. Az attention ezt tanult kereséssel segítheti. Minden pozíció három szerepben lép fel:
- Query (lekérdezés) — „mit keresek?”: a token megfogalmazza, milyen információra van szüksége.
- Key (kulcs) — „mit kínálok?”: minden token hirdetést ad fel arról, milyen információt tud nyújtani.
- Value (érték) — „mit adok át, ha választanak?”: a ténylegesen továbbítandó tartalom.
A mechanizmus: a token query-vektorát összevetjük az összes korábbi token key-vektorával (skalárszorzattal: q · k = ‖q‖ ‖k‖ cos θ, tehát az irány és a két vektor hossza egyaránt számít). Ahol nagy az egyezés, oda nagy súly kerül; a súlyokat softmax normálja eloszlássá; végül a token a value-vektorok súlyozott átlagát kapja meg és adja hozzá a saját streamjéhez. Nem egy címzettől olvas tehát, hanem mindenkitől egyszerre, a relevancia arányában.
Kauzális maszk és multi-head
Két fontos kiegészítés. Először: mivel a feladat a következő token jóslása, egy pozíció csak a múltból olvashat — a jövőbeli tokenekre irányuló figyelmet a kauzális maszk tiltja le (a softmax előtt −∞-t írunk a jövőbeli pozíciók pontszámába). Ezért tudja a tanítás minden pozíción egyszerre gyakorolni a jóslást: a t-edik pozíció kimenete csak az első t tokentől függ, így egyetlen előrefuttatás T darab tanítópéldát ad.
Másodszor: nem egy attention fut, hanem párhuzamosan sok — ez a multi-head attention. Minden fej (head) saját query/key/value-vetítésekkel dolgozik egy kisebb altérben, így különböző fejek különböző relációkra szakosodhatnak: az egyik a közvetlen előző tokenre figyel, a másik a mondat alanyára, a harmadik az azonos szó korábbi előfordulásaira (ez lesz a 8.3 induction headje). A fejek kimenetei egymás mellé fűzve, egy közös kimeneti vetítésen át kerülnek vissza a streambe.
Matematika Az attention teljes matematikája
Legyen X ∈ ℝT×d a T pozíció streamvektorainak mátrixa. Egy fej három tanult vetítéssel dolgozik, WQ, WK, WV ∈ ℝd×dh, ahol dh = d/H a fej-dimenzió (H a fejek száma):
A fej kimenete a híres képlet:
ahol M a kauzális maszk: Mij = 0, ha j ≤ i, egyébként −∞. A softmax soronként fut, így az i-edik sor egy valószínűség-eloszlás az 1…i pozíciók felett.
Miért az osztás √dh-val? Ha q és k komponensei független, nulla várható értékű, egységszórású változók, a skalárszorzatuk szórása √dh-val nő. Nagy dh mellett a pontszámok szóródása akkora lenne, hogy a softmax gyakorlatilag one-hottá telítődik — ott pedig a gradiens eltűnik. A skálázás a pontszámokat a softmax „érzékeny” tartományában tartja.
Multi-head összefűzés. A H fej kimenetét egymás mellé fűzzük és egy tanult WO ∈ ℝd×d mátrixszal vetítjük vissza:
Költség. Teljes attentionnél a QK és AV szorzások műveletigénye összesen O(T²d). A naivan eltárolt attention-mátrixok H fejre O(HT²) elemet igényelnek, a Q/K/V tömbök O(Td)-t. A vetítéseknek külön O(Td²) költsége van. A FlashAttention elkerüli a teljes T × T mátrix tárolását, miközben a sűrű attention négyzetes számítási igénye megmarad. A KV-cache a tokenenkénti dekódolás korábbi K/V számításait használja újra.
Kutatói mélység A QK- és OV-kör: az attention két vizsgálható része
Egy attention-fej két külön vizsgálható súlyszorzata a QK és az OV. Az alábbi egyszerűsített felírás sorvektorokat használ; az X a vetítések tényleges bemenete, pre-norm esetben már normalizálva. A képletekből most elhagyjuk a biasokat, a RoPE-t és a QK-normalizálást. A két rész együtt határozza meg a kimenetet; a teljes attention nem két független lineáris függvény.
QK-kör: sij = xi(WQWK⊤)xj⊤/√dh. A d × d szorzatmátrix a két sorvektor között bilineáris pontszámot ad; ebből a maszk és a softmax képez súlyokat. Ebben az egyszerűsített esetben az invertálható R-rel végzett WQR, WKR−⊤ csere megőrzi a pontszámokat. Ez a tetszőleges báziscsere RoPE vagy QK-normalizálás mellett általában már nem szimmetria.
OV-kör: az adott fej WV ∈ ℝd×dh mátrixát a teljes kimeneti vetítés hozzá tartozó WO(h) ∈ ℝdh×d sorblokkjával szorozzuk. Így WVWO(h) ∈ ℝd×d. Ez képezi a forráspozíció tartalmát a residual streambe írt vektorra; a különböző források hozzájárulását az attention-súlyokkal összegezzük.
Következmény: az attention-fej „mozgatás” művelete a value-tartalomban lineáris; rögzített attention-súlyok mellett. A teljes, bemenettől függő művelet viszont nem lineáris: a QK-pontszám bilineáris, a softmax pedig nemlineárisan alakítja a súlyozást. Ezért lehet fejek kompozícióit — az egyik fej kimenete a másik query-jét/key-ét módosítja (Q-, K-, V-kompozíció) — algebrai objektumként, ún. virtuális súlyokként tanulmányozni. Ebből a keretből esett ki az induction head felfedezése (8.3).
További kutatói megfigyelések: az attention sink jelenség (a fejek feleslegben az első tokenre „parkolják” a súlyt, mert a softmaxnak mindig összegeznie kell 1-re — újabb architektúrák ezért tanult sink-tokent vagy „off” opciót adnak); a súlyok nem magyarázatok (a nagy attention-súly nem feltétlenül jelent oksági fontosságot — az ablációs tesztek ezt sokszor cáfolják, 8.6); és a pozíciós fejek (sok fej tisztán pozicionális mintát tanul: előző token, mondatkezdet, ritmikus offszetek).
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
4.4 · Az MLP-réteg: a feldolgozó- és tudásegység
A blokk másik fele, az MLP (multi-layer perceptron, más néven feed-forward réteg) minden pozíción külön-külön, azonos súlyokkal fut — a pozíciók között itt közvetlenül nem áramlik új információ. Szerkezete egyszerű: a streamvektort egy nagy mátrix felvetíti egy jóval bővebb térbe (tipikusan a modell-dimenzió ~4-szeresébe), ott egy elemenkénti nemlinearitás hat rá, majd egy másik mátrix visszavetíti az eredeti dimenzióba. A paraméterek többsége — durván kétharmada — ezekben a mátrixokban ül.
Mire jó ez? A hagyományos, két vetítésből álló MLP-ben az aktiváció elhagyásával a két vetítés egyetlen affin leképezéssé vonható össze (bias nélkül lineárissá). Ez az MLP saját kifejezőerejét csökkenti; az egész transzformer továbbra is nemlineáris, mert az attention és a normalizálás is az marad. A kapuzott változatokban a szorzás is nemlinearitást ad. Az eredeti architektúra ezeket külön részegységekként írja le. Szemléletesebben: az MLP kulcs–érték memóriaként is olvasható. A lent használt sorvektoros jelölésben a felvetítő mátrix minden oszlopa egy mintázatdetektor (kulcs): mennyire van jelen a bemenetben egy adott jellemzőkombináció? A nemlinearitás küszöböl — a gyengén illeszkedő detektorok elhallgatnak —, a visszavetítő mátrix megfelelő sora (érték) pedig a bekapcsolt detektorokhoz tartozó tartalmat írja a streambe. Sok tényszerű asszociáció — „Eiffel-torony → Párizs” — kimutathatóan a középső rétegek MLP-iben tárolódik.
A kulcs–érték felírás algebrailag pontos, de az emberi jelentés hozzárendelése már értelmezés. A neuronok bemeneti súlyvektorai a mátrixban konkrétan megvannak; ettől még egy neuron több eltérő mintázatra válaszolhat, és egy fogalom több komponensben is eloszolhat. A szuperpozíció ennek egyik kutatott magyarázata. Nem szabad összekeverni a képletbeli „kulcsot” az egyedi, emberi fogalommal.
Matematika Képletek: GELU-tól a SwiGLU-ig
A klasszikus forma két mátrixszal (Win ∈ ℝd×4d, Wout ∈ ℝ4d×d):
A nemlinearitás ma jellemzően nem ReLU, hanem annak sima változata, a GELU: GELU(x) = x·Φ(x), ahol Φ a standard normális eloszlásfüggvény — kis negatív értékeknél nem vág nullára élesen, ami simább optimalizálást ad. A modern modellek többsége kapuzott változatot használ, a SwiGLU-t, három mátrixszal:
ahol Swish(x) = x·σ(x) és ⊙ az elemenkénti szorzás. A kapuzás multiplikatív interakciót enged két vetítés között — empirikusan konzisztensen jobb loss-t ad azonos paraméterszámnál (a rejtett dimenziót ilyenkor ~8d/3-ra veszik, hogy a három mátrix össz-paraméterszáma kijöjjön).
A kulcs–érték felírás sorvektorokkal: MLP(x) = Σn an(x)wout,n, ahol an(x) = GELU(xwin,n). Itt win,n a Win n-edik oszlopa, wout,n pedig a Wout n-edik sora. A biasokat most elhagytuk. A súlyozott összeg pontos azonosság; az egyes neuronok emberi fogalmakként való értelmezése külön, empirikus kérdés.
Kutatói mélység Tudástárolás és -szerkesztés; poliszemantikus neuronok
A „factual recall” lokalizálására irányuló munkák (Geva et al. 2021 — az MLP mint kulcs–érték memória; Meng et al. 2022 — ROME/MEMIT tudásszerkesztés) azt mutatják, hogy egy-egy asszociáció célzottan szerkeszthető: a középső rétegi MLP-súlyok rangalacsony módosításával a modell elhihetővé tehető, hogy „az Eiffel-torony Rómában áll” — miközben a környező tudás nagyrészt érintetlen marad. Ugyanakkor a lokalizáció nem tiszta: az ok-okozati nyomkövetés (causal tracing) szerint a tény több rétegen elkenve él, és a szerkesztések mellékhatásai (ripple effects) máig kutatott probléma.
A neuronszintű értelmezés fő akadálya, hogy az egyes MLP-neuronok többségének nincs egyetlen jelentése: ugyanaz a neuron tüzel mondjuk akadémiai idézetekre, angol párbeszédekre és HTTP-kérésekre — ez a poliszemantikusság. A 8.4 szakasz szuperpozíció-hipotézise szerint ennek egyik lehetséges oka egy tömörítési stratégia: a modell több jellemzőt tárolhat, mint ahány neuronja van, nem-bázis-irányokban. Ezért váltott a terület a neuronokról a tanult szótárirányokra (SAE-k, 8.5).
4.5 · Normalizálás: a jel karbantartása
A normalizálás segít szabályozni az alegységek bemeneti skáláját. A LayerNorm kivonja a komponensek átlagát, majd √(variancia + ε)-nal oszt; az RMSNorm központosítás nélkül √(átlag(x²) + ε)-nal oszt. Tanult elemenkénti skála, LayerNormnál rendszerint bias is követi. A pre-norm az alegység elé, a residual mellékágba helyezi ezt a műveletet. Így a közvetlen residual út identitás marad, ami kedvezhet a gradiensáramlásnak. Xiong és mtsai. bizonyos beállításoknál warmup nélkül is jó eredményt kaptak; ez nem általános stabilitási garancia, a warmup szükségessége a teljes tanítási recepttől függ.
4.6 · Pozíciókódolás: honnan tudja a modell, mi hol van?
Pozíciójel és maszk nélkül a self-attention permutáció-ekvivariáns: a bemeneti sorokat felcserélve a kimeneti sorok is ugyanúgy cserélődnek. A súlymátrix sorai és oszlopai együtt rendeződnek át, tehát nem marad ugyanaz a mátrix. Ezért explicit pozíciókódolással adjuk meg a helyet vagy távolságot. A kauzális maszk már önmagában is sorrendi aszimmetriát vezet be: meghatározza, mely pozíciók elérhetők.
Az első generációs megoldások a pozíciót vektorként adták hozzá az embeddinghez (rögzített szinuszos minta vagy tanult pozíció-embedding). A mai standard a RoPE (rotary position embedding), amely elegánsabb: nem a tartalomhoz ad hozzá semmit, hanem a query- és key-vektorokat elforgatja a pozíciójukkal arányos szöggel. Két elforgatott vektor skalárszorzata a pozíciótól kizárólag a két elforgatási szög különbségén keresztül függ — formálisan ⟨Rmq, Rnk⟩ = ⟨q, Rn−mk⟩ —, vagyis az attention-pontszám automatikusan a tokenek relatív távolságát érzékeli, nem az abszolút helyüket. (A skalárszorzat értéke természetesen magától a két vektortól is függ; az állítás lényege az, hogy a pozíció csakis az m−n különbségen át szól bele — az elforgatás ortogonális, tehát a normákat érintetlenül hagyja.) Ez pontosan az a tulajdonság, amit a nyelv kíván: az „egymás melletti” reláció ugyanazt jelenti a szöveg elején és a közepén.
Matematika RoPE képletekkel
A dh-dimenziós query/key vektort koordinátapárokra bontjuk, és az i-edik párt (2D-síkként kezelve) az m-edik pozícióban mθi szöggel forgatjuk el, ahol a frekvenciák geometrikus sort alkotnak:
A forgatás ortogonális, ezért ⟨R(mθ)q, R(nθ)k⟩ = ⟨q, R((n−m)θ)k⟩ — a pontszám valóban csak az n−m különbségtől függ. A sokféle frekvencia együtt egyfajta többsávos „óraszerkezet”: a gyors sávok a szomszédos tokenek finomfelbontását, a lassúak a nagy távolságok durvafelbontását adják.
Gyakorlati következmény: a kontextusablak nyújtható. Ha egy modellt 8k tokenre tanítottunk, a RoPE-frekvenciák átskálázásával (position interpolation, NTK-aware skálázás, YaRN) a tanultnál hosszabb szekvenciákra is kiterjeszthető viszonylag kevés utótanítással — a hosszú kontextusú modellek egyik kulcstechnikája.
4.7 · A kimeneti fej: vektorból valószínűség
Az utolsó blokk után a streamvektor végső normalizáláson, majd az unembedding-mátrixon (WU ∈ ℝd×V) megy át. Minden szótárelem logitja a normalizált vektor és a megfelelő mátrixoszlop skalárszorzata (ha van kimeneti bias, azt is hozzáadjuk). A skalárszorzat az iránytól és a hossztól is függ: a legnagyobb koszinuszhasonlóság önmagában nem garantálja a legnagyobb logitot. A softmax alakítja a logitokat valószínűségekké:
Az exponenciális pozitív súlyokat ad, a normalizálás pedig biztosítja, hogy a valószínűségek összege 1 legyen. A softmax a logit-különbségeket alakítja arányokká: pᵢ / pⱼ = exp(zᵢ − zⱼ). Ha egyetlen logitot 1-gyel növelünk, a token más tokenekhez viszonyított valószínűségaránya e-szeresére (~2,7×) nő — a saját valószínűsége nem. Két egyforma logitnál például 50%-ról e / (e + 1) ≈ 73%-ra változik. A 7. fejezetben a temperature hatását is kipróbálhatod.
4.8 · Modern variánsok: mit változtatott az ipar?
A 2017-es recept magja meglepően stabil, de szinte minden alkatrészt optimalizáltak azóta. A legfontosabb irányok:
| Technika | Mit old meg? | Hogyan? |
|---|---|---|
| GQA / MQA (grouped-/multi-query attention) | A KV-cache memóriaigénye inferenciakor (7. fejezet) | Sok query-fej osztozik kevés key/value-fejen — a cache mérete a KV-fejek számával arányosan zsugorodik, minimális minőségvesztéssel. |
| MoE (mixture of experts) | A paraméterszám és a per-token számítás szétcsatolása | Az MLP helyett sok „szakértő”-MLP; egy tanult router tokenenként csak néhányat aktivál. Óriási össz-kapacitás, tokenenként kis compute — a modern nagy modellek jellemző választása. |
| Ritka / csúszóablakos attention | A T²-es attention-költség | A rétegek egy része csak lokális ablakban figyel; néhány globális réteg tartja a távoli kapcsolatot. Gyakran rétegenként váltakozva. |
| FlashAttention | Az attention memória-sávszélesség-korlátja | Nem architektúra-, hanem kernel-újratervezés: a T×T mátrix sosem íródik ki a lassú GPU-memóriába — csempénként, on-chip számolódik. Egzakt eredmény, többszörös gyorsulás. |
| SSM-hibridek (pl. Mamba-vonal) | Lineáris idejű szekvenciafeldolgozás | Állapottér-modellek: fix méretű, tanult állapot görgetése a szekvencián. Tiszta formában a pontos visszakeresés gyengébb; a gyakorlatban attention-nel kevert hibridek terjednek. |
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
Tanítás: honnan jönnek a súlyok?
A frissen inicializált modell súlyai véletlenszámok, kimenete értelmetlen zaj. A tanítás célja, hogy ebből a zajból — kizárólag példák és egy hibamérték alapján — a 4. fejezet gépezetének jó paraméterei álljanak elő. A recept elve egyszerű, és lényegében az egész deep learning erre az egy hurokra épül:
- Vegyél egy adag szöveget a korpuszból, futtasd le rajta a modellt.
- Mérd meg egy veszteségfüggvénnyel (loss), mennyire volt rossz a jóslás.
- Számold ki minden egyes paraméterre, hogy kis megváltoztatása mennyit javítana a lossen — ez a gradiens, és a backpropagation számolja.
- Mozdíts el minden paramétert egy picit a javulás irányába (optimalizáló).
- Ismételd — nagy modelleknél sok millió lépésen és sok billió tokenen át.
5.1 · A veszteségfüggvény: cross-entropy
Mit jelent „rossz jóslás”? A modell minden pozícióban egy eloszlást adott a következő tokenre — a korpuszban pedig ott áll, mi volt ténylegesen a következő token. A cross-entropy loss egyszerűen a helyes token modellbeli valószínűségének negatív logaritmusa: ha a modell 90%-ot adott a helyes tokenre, a veszteség kicsi (−ln 0,9 ≈ 0,105); ha 1%-ot, nagy (−ln 0,01 ≈ 4,6). A tanítás tehát szó szerint azt optimalizálja, hogy a ténylegesen leírt szövegek a modell szerint minél valószínűbbek legyenek — ez a maximum likelihood elv.
Matematika A loss pontos alakja
Egy T hosszú x1…xT tanítószekvenciára a veszteség az összes pozíció átlaga:
Tanításkor az ismert sorozat eltolt bemenete és célja teszi lehetővé a pozíciók párhuzamos jóslását; a kauzális maszk megakadályozza a jövőből való másolást. One-hot célnál H(y,p) = −Σ yi ln pi a megfigyelt token negatív log-valószínűsége. A valódi adatgeneráló P eloszláson vett várható keresztentrópia H(P,Q) = H(P) + KL(P‖Q), ezért legalább H(P). Ez nem jelent ugyanilyen alsó korlátot egyetlen példára vagy véges tanítóminta mért loss-ára; egy kis korpusz memorizálható. Természetes logaritmussal az egység nat/token, kettes alapúval bit/token.
5.2 · A számítási gráf és az automatikus differenciálás
A gradiens kiszámításához vegyük észre: a loss a paraméterek függvénye — egy irdatlanul összetett, de elemi lépésekből (mátrixszorzás, összeadás, softmax…) felépülő függvény. A modern keretrendszerek (PyTorch, JAX) az előrefuttatás közben feljegyzik ezt a felépítést egy számítási gráfba: minden csomópont egy művelet, minden él egy adatfüggés. A gradiens számítása ezután gépies: a gráfon visszafelé haladva minden művelet a saját (ismert, egyszerű) deriváltjával szorozza tovább a mögötte érkező gradienst. Ez az automatikus differenciálás (reverse-mode autodiff) — a backpropagation ennek a neurális hálós neve.
5.3 · Backpropagation: a láncszabály iparosítása
A backprop lényege a középiskolából ismerős láncszabály: összetett függvény deriváltja a részderiváltak szorzata. A számítási gráfban a loss és egy mély paraméter között hosszú műveletlánc áll — a gradiens ezen a láncon szorzódik végig visszafelé. A zsenialitás a szervezésben van: ahelyett, hogy minden paraméterre külön végigszámolnánk a láncot (ez paraméterenként egy előrefuttatás lenne — milliárd paraméternél kivitelezhetetlen), a visszafelé haladás megosztja a közös részszorzatokat: minden csomópont gradiensét egyszer számoljuk ki, és minden paraméter a saját csomópontjánál kapja meg a magáét. Így az összes gradiens együtt nagyjából két előrefuttatás áráért áll elő.
Matematika Levezetés: a softmax + cross-entropy gradiense
A leghíresebb és legszebb részeredmény a kimeneti réteg gradiense. Legyen zi a logit, pi = ezi/Σjezj a softmax-kimenet, a helyes token indexe c, a loss L = −log pc. Írjuk ki:
Deriváljunk zi szerint. Az első tag deriváltja −1, ha i = c, egyébként 0. A második tagé:
Összerakva, one-hot céllal (yi = 1, ha i=c):
A gradiens tehát szó szerint a jóslat és a valóság különbsége. Ha a modell 0,51-et adott a helyes tokenre, a gradiens ott −0,49: „tolj még felfelé”. Minden rossz token annyi lefelé tolást kap, amennyi valószínűséget kapott. Numerikusan is kegyes: nincs benne osztás közel-nulla számmal, a softmax és a log összeépítve stabil (log-sum-exp trükk).
Elágazó gráfban az egy változóhoz visszaérkező gradiens-hozzájárulásokat összeadjuk. Vektoroknál a helyi derivált Jacobi-mátrix; az autodiff annak megfelelő vektor–Jacobi-szorzatokat számol. Nem minden gráf egyszerű szorzatlánc.
A mátrixrétegek szabályai. Egy Z = XW lineáris rétegen a gradiens visszafelé (jelölje G = ∂L/∂Z):
Ez a két képlet a teljes transzformer-visszafuttatás munkalova: a backward menet ugyanolyan mátrixszorzások sorozata, mint az előre — csak transzponált súlyokkal. Innen a klasszikus költségbecslés is: az előrefuttatás ≈ 2ND FLOP (N paraméter, D token, szorzás+összeadás), a visszafuttatás kétszer ennyi (két mátrixszorzás műveletenként: bemenet- és súlygradiens) — a tanítás összesen C ≈ 6ND. Ez a képlet a skálázási törvények (5.6) valutája.
Kutatói mélység Az eltűnő gradiens és amiért a transzformer tanítható
A visszaterjesztés útvonalain Jacobi-mátrixok szorzatai szerepelnek. Ezek egyes irányokban csillapíthatnak, másokban erősíthetnek, így a gradiens eltűnhet vagy felrobbanhat. RNN-eknél a távoli időpontok között sok egymás utáni lépésen kell áthaladni; a kapuzott változatok ezt részben kezelik. Általános, nemlineáris hálónál nem egyetlen súlymátrix spektrálsugara dönti el a viselkedést: az aktivációk, a bemenet és a változó lokális deriváltak is számítanak.
A transzformer három szerkezeti válasza:
(1) Reziduális kapcsolatok. Ha xℓ+1 = xℓ + F(xℓ), a lokális Jacobi-mátrix I + JF. Több rétegen át továbbra is ezek szorzatát kapjuk. Kifejtve a szorzat identitást és különböző hosszúságú ágakat tartalmaz; a közvetlen út segítheti a gradiensáramlást. Ez nem helyettesíti a teljes szorzatláncot egyszerű összeggel, és a többi taggal való kioltás vagy erősítés továbbra is lehetséges.
(2) Normalizálás. A pre-norm elrendezés minden alegység bemenetét standard skálára hozza, így az alegységek erősítése kontrollált marad a mélység növelésekor is.
(3) Rövid attention-utak. Két tetszőleges pozíció között az információ (és a gradiens) egyetlen attention-ugrással közlekedhet — nincs T-lépéses lánc, mint az RNN-nél; a hosszútávú függés tanulása nem kíván hosszú szorzatláncot.
Maradék instabilitások így is vannak — loss-tüskék, a softmax/attention-logitok elszállása, alacsony precíziós numerika (5.5) —, kezelésükre szolgál a gradient clipping (a gradiensnorma levágása), a QK-norm, a z-loss és társaik. A nagy futtatások gyakorlatában a stabilitás-mérnökség önálló szakma: egy több hónapos tanítás közben a divergenciát észlelni, checkpointból visszaállni, adatot vagy tanulási rátát igazítani kell.
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
5.4 · Optimalizálók: a gradienstől a lépésig
Az AdamW paraméterenként két exponenciális mozgóátlagot tart fenn: a gradiensét és a négyzetes gradiensét. Az első lendületként simítja a frissítést, a második a koordinátánkénti skálázást segíti. A frissítés nagyságát továbbra is a tanulási ráta, a statisztikák és az ε együtt határozza meg: nem lesz minden lépés egységnyi, és a jó kondicionáltság vagy a konvergencia sem automatikus. Az SGD is érvényes módszer, de nagy nyelvi modelleknél az adaptív optimalizálók gyakran praktikusabbak.
Matematika AdamW képletekkel, és a tanulásiráta-menetrend
Jelölje gt a gradienst a t-edik lépésben. Az Adam frissítése:
Egy gyakori beállítás β₁ = 0,9, β₂ = 0,95 és ε = 10⁻⁸; ezek nem univerzálisan optimális értékek. Az utolsó tag a decoupled weight decay, a súlyok gradienstől elkülönített zsugorítása. N paraméterhez két N elemű momentumbecslést tárolunk. Ez csak azonos adattípus mellett jelent a súlyokhoz képest kétszeres bájtmennyiséget: BF16 súlyok és két FP32 állapot esetén az állapot 8 bájt/paraméter, a súly 2 bájt/paraméter. Ehhez még gradiensek, aktivációk és esetleges FP32 mestersúlyok jöhetnek.
A tanulási ráta η nem állandó: az elején warmup (lineáris felfutás nulláról néhány ezer lépésen át — amíg az Adam-statisztikák és a friss háló stabilizálódnak), utána hosszú koszinuszos lecsengés vagy újabban konstans szakasz + rövid, agresszív lehűtés (WSD-menetrend). A lecsengés alatti loss-zuhanás jellegzetes: a kisebb lépések engedik a finomszerkezet kicsiszolását.
A Muon a mátrix alakú paraméterek momentumfrissítését közelítőleg ortogonalizálja, például Newton–Schulz-iterációval. Nem számol explicit Hess-mátrixot; a Newton–Schulz eljárás neve nem teszi automatikusan másodrendű optimalizálóvá. Egyes kísérletekben kedvezőbb hatékonyságot ad az AdamW-nél, de ez nem általános rangsor. Más paramétercsoportokhoz gyakran AdamW-t használnak mellette. Az eredeti módszerleírás.
5.5 · Tanítás a gyakorlatban: adat, precizitás, párhuzamosítás
A fentiek egyetlen GPU-n is működnek — egy nagy modell tanítása azonban tíz- vagy százezer gyorsítón folyó, hónapokig tartó mérnöki művelet. A fő témák:
Adat. A több billió tokenes korpusz (web-crawl, könyvek, kód, tudományos szöveg, egyre inkább szintetikus adat) minősége a végeredmény első számú meghatározója. A pipeline: nyelvfelismerés, minőségszűrés (heurisztikák és tanult osztályozók), deduplikáció (a duplikátumok memorizációt és képesség-torzulást okoznak), PII- és toxicitás-szűrés, majd a keverékarányok gondos megtervezése — a tanítás vége felé gyakran „curriculum”: a legjobb minőségű adat felülsúlyozása.
Precizitás. A bfloat16 1 előjelbitet, 8 kitevőbitet és 7 tárolt törtrészbitet használ; a float32 rendre 1, 8 és 23 bitet. A kitevőtartományuk azonos, de a bfloat16 pontossága kisebb, a tárigénye feleakkora. Ez nem „feleakkora mantissza”. Vegyes pontosságú tanításkor a mátrixműveletek és az érzékeny akkumulációk eltérő formátumot használhatnak; FP8 is alkalmazható. A gyorsulás a hardvertől és a műveletektől függ, nem automatikus 2–4×. A loss scaling főként az FP16 szűkebb tartománya miatt fontos. BFLOAT16-tanulmány.
Párhuzamosítás. Egy nagy modell se súlyban, se aktivációban nem fér egyetlen GPU-ra, ezért a munkát három tengely mentén szeletelik, jellemzően egyszerre mindhárom mentén („3D parallelism”):
| Tengely | Mit oszt szét? | Kommunikáció |
|---|---|---|
| Data parallel | A batch példáit — minden replika a teljes modellt futtatja más adaton | Gradiens-összegzés (all-reduce) lépésenként; a ZeRO/FSDP a súlyokat és az optimalizáló-állapotot is szétosztja a replikák közt |
| Tensor parallel | Az egyes mátrixokat vágja fel GPU-k között (a fejek, az MLP oszlopai szétoszthatók) | Rétegenként kétszer all-reduce — csak gyors, csomóponton belüli összeköttetésen éri meg |
| Pipeline parallel | A rétegeket rakja különböző GPU-kra emeletekként | Aktivációk adogatása az emeletek közt; a „buborék” (üresjárat) mikrobatch-ütemezéssel csökkenthető |
Memória-trükkök. A backprophoz az előrefuttatás köztes aktivációit meg kell őrizni — hosszú szekvenciáknál ez dominálja a memóriát. A gradient checkpointing alkut köt: csak minden k-adik réteg aktivációit tárolja, a többit a visszafuttatáskor újraszámolja (~harmadával több számítás, töredék memória).
5.6 · Skálázási törvények: a mezőny fizikája
Számos kísérletben a teszt-loss jól közelíthető a modellméret, az adatmennyiség és a compute hatványfüggvényével. Ha van nem nulla padló E, akkor az ideális hatványtörvény log-log egyenese az L − E többletveszteségre vonatkozik. Az illesztés hasznos a tervezéshez, de csak a vizsgált adat-, architektúra- és mérettartományban alátámasztott. Egy alacsonyabb loss nem mondja meg automatikusan, hogy egy konkrét új feladatot megold-e a modell.
Matematika Kaplan, Chinchilla és a „compute-optimális” recept
A törvények alakja (Hoffmann et al., 2022 — „Chinchilla” — parametrizálásában):
Itt N a paraméterszám, D a tanítótokenek száma, E egy illesztett veszteségpadló; az utóbbi nem a nyelv függetlenül megmért entrópiája. A sűrű modellre használt C ≈ 6ND közelítésnél (ha nem a hosszú szekvenciák attention-költsége dominál) az optimum: Nopt ∝ Cβ/(α+β), Dopt ∝ Cα/(α+β). A közölt α ≈ 0,34 és β ≈ 0,28 illesztés így 0,45 és 0,55 kitevőt ad, nem pontosan 0,5-öt. A Chinchilla-cikk más becslései közel azonos ütemű skálázást javasolnak. A ~20 token/paraméter hasznos történeti ökölszabály, nem univerzális konstans; a compute sem két összeadható, fele-fele költségtétel.
Fontos finomság: a Chinchilla-optimum a tanítási compute-ot minimalizálja. Ha a modellt utána sokat futtatjuk, az inferencia-költség a kisebb modell felé tolja az optimumot: a gyakorlatban ezért tanítanak „túl” sok modellt messze 20 token/paraméter fölött (például több száz vagy több ezer token/paraméter) — a tanításkor elvesztett hatékonyságot a kiszolgálásnál nyerik vissza. A törvények emellett az adatfal kérdését is kiélezték: a jó minőségű webszöveg véges, a folytatás a szintetikus adat, a több epochás újrafelhasználás és az adatminőség-kutatás.
Kutatói mélység Emergencia-vita és a tesztidejű skálázás
Emergens képességek? A benchmark-teljesítmények gyakran nem simán, hanem látszólag ugrásszerűen jelennek meg a méret növelésével (pl. többlépéses aritmetika, bizonyos következtetési feladatok). Vitatott, mennyi ebből a mérés műterméke: Schaeffer et al. (2023) megmutatta, hogy sok „ugrás” eltűnik, ha a diszkrét, éles metrikát (pontos egyezés) simára (token-szintű log-likelihood) cseréljük — a mögöttes képesség folyamatosan épül, csak a küszöbös mérce ugrik. Ugyanakkor a loss-térben is dokumentáltak valódi töréspontokat (pl. az induction headek kialakulásához kötődő fázisátmenet a tanítás során, 8.3), tehát a kép árnyalt: a skálázás simasága az átlagos loss-ra igaz, az egyes áramkörök szintjén lehetnek éles átmenetek.
Tesztidejű számítás. Több próbálkozás, keresés, ellenőrzés és hosszabb gondolatmenet javíthatja egyes feladatok eredményét. A haszon függ a modelltől, a kérdés nehézségétől és attól, hogyan választjuk ki a végső választ. A pontosság nem nő korlátlanul vagy mindenhol log-lineárisan a compute-tal; a többletszámítás telítődhet vagy hibás irányba is vihet. A tanítási és tesztidejű ráfordítást külön kell mérni.
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
Finomhangolás és alignment: a nyers modellből asszisztens
Az előtanított „alapmodell” (base model) félelmetes tudású, de nem asszisztens: a „Hogyan süssek kenyeret?” kérdésre könnyen egy további kérdéslistával válaszol — mert a weben a kérdések gyakran így folytatódnak. A base model azt folytatja, ami valószínű, nem azt, ami hasznos. Az utótanítás (post-training) feladata ezt a rést bezárni: a modell viselkedését hasznossá, őszintévé és ártalmatlanná formálni — anélkül, hogy a nyers képességek sérülnének.
A három lépcső
1 · Felügyelt finomhangolás (SFT). A modellt kiváló minőségű mintapárbeszédeken tanítjuk tovább — ugyanazzal a next-token-loss-szal, mint eddig, csak most a „helyes viselkedés” példáin, és a loss-t jellemzően csak az asszisztens-válasz tokenjein számoljuk. Ez adja meg a szerepet: kérdésre válasz jön, nem újabb kérdés.
2 · Jutalommodell. A „jó válasz” fogalma nehezen írható le szabályokkal, de az embereknek könnyű két válasz közül a jobbat kiválasztani. Ilyen páros ítéletekből tanul egy külön modell — a jutalommodell —, amely bármely válaszhoz pontszámot rendel. Ez az emberi ízlés tömörített, gépi helyettesítője.
3 · Megerősítéses tanulás. A modell most már saját generált válaszaiból tanul: válaszol, a jutalommodell pontoz, és a paraméterek úgy módosulnak, hogy a magasra pontozott viselkedés valószínűbb legyen. Kritikus alkatrész a KL-fék: a modellt büntetjük, ha túl messze sodródik a kiinduló (referencia-) modelltől — enélkül a policy megtalálja a jutalommodell gyenge pontjait, és azokat aknázza ki (reward hacking: magabiztos halandzsa, hízelgés, mesterkélt hossz).
Matematika A célfüggvények: RLHF és DPO
Jutalommodell-tanítás. A Bradley–Terry-modell szerint annak a valószínűsége, hogy az emberek a yw választ preferálják yl-lel szemben, a pontszámkülönbség szigmoidja. A jutalommodell loss-a:
RLHF-célfüggvény. A policy-optimalizálás (jellemzően PPO vagy az egyszerűbb, kritikus-mentes GRPO) célja:
DPO (direct preference optimization). Kulcsészrevétel: a fenti célfüggvény optimuma zárt alakban kifejezhető, és visszahelyettesítve a jutalom kiiktatható — a preferenciapárokon közvetlenül optimalizálható a policy:
A DPO a választott és elutasított válasz referenciához viszonyított log-valószínűségarányának különbségét növeli. Nem garantálja, hogy a választott válasz abszolút valószínűsége minden lépésben nő. A β a levezetésben a KL-regularizációhoz kapcsolódik, a tényleges gradiensre és az optimális beállításra is hat; nem egyszerű „igazságosság-” vagy „minőségkapcsoló”. A standard offline DPO külön jutalommodell és online mintavételi hurok nélkül tanítható. Az eredeti DPO-cikk.
A DPO-ban a jutalom implicit módon, a policy és a referencia log-arányán keresztül jelenik meg. A különbségalapú veszteség csökkenhet akkor is, ha mindkét válasz valószínűsége csökken, de az elutasítotté jobban. A preferenciaadat torzításai, a válaszhossz és a túlilleszkedés külön értékelést igényelnek; a hosszabb válasz nem szükségképpen nyer. Iteratív adatgyűjtés vagy más célfüggvény segíthet, de nincs általános szabály, hogy egyetlen offline DPO-fázis nem használható.
Az iparban mindkét család él: a DPO (és rokonai: IPO, KTO, SimPO) olcsó és robusztus; az online RL (PPO/GRPO) jobban skálázódik friss, a policy saját hibáira célzott adattal — és az ellenőrizhető jutalmas (matek/kód) reasoning-tanítás alapvetően online RL.
Kutatói mélység Constitutional AI, RLAIF és a nyitott problémák
RLAIF és Constitutional AI. Az emberi címkézés drága és zajos — a skálázás útja, hogy az ítész is modell. Az Anthropic Constitutional AI megközelítésében a kritikát és a preferenciaítéletet egy explicit elvlista („alkotmány”) vezérli: a modell a saját válaszát az elvek fényében bírálja és javítja (SFT-fázis), majd AI-ítéletekből készül a preferenciaadat (RL-fázis). Az elvek szövege nyilvánossá és auditálhatóvá teszi azt, ami az emberi címkézésben implicit ízlés maradna.
Kalibráció és mellékhatások. A preferenciatanítás erősíthet nem kívánt stílust, túlzott magabiztosságot vagy hízelgést, de a hatás az adatoktól és a módszertől függ. Fontos különbség: egy token 70%-os valószínűsége nem egy állítás 70%-os igazságesélye. A válaszhelyesség kalibrációjához külön definiált becslés és teszthalmaz kell: a 70%-osnak becsült válaszok körülbelül 70%-a legyen helyes. Kísérletek bizonyos modelleknél és feladatformátumoknál jó önértékelést mutatnak; ez nem minden alapmodellre és kérdésre érvényes tulajdonság.
Nyitott kérdések. A jutalommodell a valódi cél közelítése; intenzív optimalizálása felerősítheti a hibáit. A KL-büntetés ezt korlátozhatja, de nem zárja ki a reward hackinget. Az alignment faking kutatás meghatározott, mesterségesen kialakított tanítási helyzetekben dokumentált stratégiai megfelelést. Ebből nem következik, hogy minden mai modell vagy hétköznapi beszélgetés így működik. Az értékelés és a belső számítás vizsgálata egymást kiegészítő kutatási eszköz; egyik sem általános biztonsági bizonyíték.
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
Inferencia: a kész modell futtatása
A tanítás megadta a súlyokat — de a modell használata saját mérnöki világ. A prefill a prompt feldolgozása: a pozíciók párhuzamosan számolhatók, ezért kellően hosszú promptnál gyakran a számolókapacitás a korlát. A dekódolás ezután tokenenként halad. Kis batchméretnél gyakran a súlyok és a KV-cache olvasásához szükséges memória-sávszélesség a szűk keresztmetszet. Ez nem általános törvény: a batchméret, a kontextushossz, az architektúra és a hardver megváltoztatja az arányokat. A KV-cache segítségével a korábbi tokenek kulcs- és értékvektorai újrahasználhatók. Ezért mérjük külön az első token késleltetését és a generálás ütemét. Részletes költségmodell és feltételezések.
Mintavételezés: az eloszlásból token
A modell kimenete eloszlás — de konkrét tokent kell választani. A mohó választás (mindig a legvalószínűbb) determinisztikus, de gyakran laposan ismétlődő szöveget ad. A gyakorlatban az eloszlásból mintát veszünk, és a mintavétel élességét a temperature paraméter szabályozza: a logitokat elosztjuk T-vel a softmax előtt. T<1 az eloszlást a csúcs felé élesíti (konzervatívabb, ismétlésre hajlamosabb), T>1 lapítja (kreatívabb, hibára hajlamosabb). Kiegészítésként a top-p (nucleus) szűrés levágja az eloszlás hosszú, zajos farkát: csak a legkisebb olyan tokenhalmazból mintázunk, amelynek együttes valószínűsége eléri p-t.
Húzd a csúszkát: alacsony T-nél az eloszlás a legjobb jelöltre koncentrálódik, magas T-nél kiegyenlítődik. A P(i) ∝ exp(zi/T) képlet fut élőben, rögzített példa-logitokkal.
KV-cache: hogy ne számoljunk mindent újra
Változatlan modell és prefix mellett a kauzális dekóder korábbi pozícióinak K/V-vektorai nem függnek az új tokenektől. A KV-cache ezeket tárolja rétegenként. Az új pozícióhoz továbbra is ki kell számolni a Q-, K- és V-vektort, az attentiont és az MLP-t; az új K/V hozzáadódik a cache-hez, a query a megengedett régi és saját kulcsokra figyel. Egyetlen új pozíció sűrű attentionje a kontextushosszban lineáris, nem kell a teljes prefixet újrafuttatni. A cache tárigénye is lineárisan nő, és hosszú kontextusnál meghaladhatja a súlyokét.
Matematika Kvantálás és spekulatív dekódolás
Kvantálás. A kisebb bitmélység csökkentheti a súlyok és a KV-cache memóriaigényét, illetve a memóriaforgalmat. Egyszerű egész kvantálásnál például w ≈ s·q, esetenként külön nullponttal; a skálát gyakran csoportonként tároljuk. A GPTQ és AWQ a kis bitmélységű súlyok hibáját mérsékli. A 4 bit hasznos kompromisszum lehet, de a minőségvesztést az adott modellen és feladaton mérni kell, különösen 2 bitnél. Az FP8 lebegőpontos formátum, nem 8 bites egész. A tárolás csökkenése önmagában nem garantál azonos arányú gyorsulást.
Spekulatív dekódolás. Egy gyors draftmodell k tokent javasol; a célmodell ezek feltételes eloszlásait párhuzamosan ellenőrizheti. Egzakt mintavételnél a q drafteloszlásból húzott x tokent min(1, p(x)/q(x)) valószínűséggel fogadjuk el. Elutasításkor a normalizált max(0, p − q) eloszlásból mintázunk, nem egyszerűen p-ből. Az első elutasítás utáni javaslatokat eldobjuk; ha mind elfogadható, a célmodell egy további tokent adhat. Így a cél-eloszlás megőrizhető. A gyorsulás függ az elfogadási aránytól, a draft és az ellenőrzés költségétől; nem ingyenes vagy garantált. Leviathan és mtsai., 2.3. szakasz.
Kiszolgálás. Éles rendszerben sok kérés fut együtt: a continuous batching a dekódoló lépéseket több kérés közt köti kötegbe (a GPU-t a súlybeolvasáson osztoztatja), a PagedAttention (vLLM) a KV-cache-t lapokra tördelve gazdálkodik a memóriával, a prefix-cache a közös promptkezdeteket (rendszerprompt!) osztja meg. A prefill és a dekódolás eltérő profilja miatt a nagy rendszerek a kettőt gyakran külön gépcsoportra bontják.
Kutatói mélység Mintavétel-kutatás: miért pont top-p, és mi romlik el?
A dekódolás hatása feladatfüggő. Szabad szöveggenerálásnál a korlátozás nélküli mintavétel kis valószínűségű, hibás folytatásokat is választhat; a mohó vagy beam search eljárás ismétlődésre hajlamos eredményt adhat. Ezek megfigyelt hibamódok, nem minden futásra érvényes törvények. A teacher forcing és a saját generált prefixek közti eltérést exposure bias néven tárgyalják. A top-p, min-p vagy typical sampling eltérő szűrési szabályokat használ; egyik sem általános helyességi garancia.
A legnagyobb modellvalószínűség és a feladaton mért minőség eltérő cél. Kreatív, nyitott szövegnél előnyös lehet a változatosság, más feladatokon a mohó vagy kereséses dekódolás is megfelelő. A temperature a feltételes eloszlás koncentrációját szabályozza; nem önmagában a kreativitást vagy igazságtartalmat. A választott stratégiát a célfeladaton érdemes összehasonlítani.
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
Mechanistic interpretability: mi történik odabent?
8.1 · A visszafejtés programja
Az eddigi fejezetek megadták, hogyan számol a modell — de nem azt, hogy mit. A súlyok tanultak, nem tervezettek: senki nem írta elő, melyik neuron mit jelentsen. A mechanistic interpretability (mech interp) kutatási programja az, hogy a betanított hálót visszafejtsük, mint egy ismeretlen gépet: azonosítsuk a belső változóit (feature-öket) és az őket összekötő algoritmusokat (circuit-öket, áramköröket). A tét nem csak tudományos kíváncsiság: ha látjuk, mit számol a modell, akkor a viselkedését nem csak kívülről, teszteléssel, hanem belülről is auditálhatjuk — vizsgálhatjuk például az őszinte válasz és a stratégiai megfelelés lehetséges belső különbségeit (6. fejezet), és kereshetjük a hibák okát. Ez kutatási cél: a jelenlegi módszerek nem adnak általános, megbízható „hazugságdetektort” vagy biztonsági garanciát.
8.2 · A residual stream nézet és a logit lens
A visszafejtés természetes koordinátarendszere a 4.2-ben megismert residual stream. Minden komponens — embedding, attention-fejek, MLP-k — ugyanabba a közös vektortérbe ír, additívan; a kimeneti logitok pedig az összeg végső normalizálása után kapott vektor lineáris leképezései. A direkt attribúcióhoz a megfigyelt futás normalizálási skáláját rögzíteni kell; a komponensek kivétele és a modell újrafuttatása más hatást adhat. Ebből két azonnali, gyakorlati eszköz esik ki. A direkt logit-attribúció: mivel minden komponens hozzájárulása egy összeg tagja, komponensenként kiszámolható, ki mennyivel tolta a „Párizs” logitot felfelé. És a logit lens: a stream köztes állapotát bármely réteg után átvezethetjük az unembeddingen — így rétegről rétegre nézhetjük, mivé „gondolja épp” a modell a folytatást. A tipikus kép: a korai rétegek még a felszíni tokenvilágban dolgoznak, a középső rétegekben áll össze a szemantika (és gyakran már a helyes válasz), a késeiek a megfogalmazást élesítik.
Fontos korlát: a nyers logit lens könnyen félrevezet. A korai rétegek reprezentációi még nem az unembedding terében „laknak” — a WU mátrix közvetlen alkalmazása rájuk gyakran értelmezhetetlen zajt vagy szisztematikusan torzított jóslatot ad, és modellcsaládonként erősen eltér, hogy meddig használható. Ezért fejlesztették ki a tuned lens változatot: rétegenként tanítanak egy affin transzformációt, amely a köztes állapotot a kimeneti térbe illeszti, mielőtt az unembedding jönne. Ez lényegesen simább és megbízhatóbb rétegpályát ad. A logit lenst tehát gyors, olcsó szondaként érdemes kezelni, nem mérőműszerként — és minden belőle levont következtetést oksági beavatkozással (8.6) kell megerősíteni.
8.3 · Induction headek: az első megértett áramkör
A legszebb tankönyvi példa arra, hogy a „circuit” nem metafora. A jelenség: sok transzformerben megfigyelhető egy egyszerű, de mindenütt hasznos algoritmus — „ha az [A][B] minta korábban előfordult, és most megint [A]-t látok, jósoljak [B]-t”. Ezt egy két fejből álló, két rétegen átívelő áramkör valósítja meg: egy korábbi rétegbeli előző-token-fej minden pozícióra rámásolja az őt megelőző token azonosítóját; erre építve egy későbbi rétegbeli induction head query-je az aktuális [A] tokennel megkeresi azt a pozíciót, amelynek „előző tokenje A volt” — vagyis a korábbi [B]-t —, és a talált token tartalmát a kimenet felé továbbítja. Két tanult fej kompozíciója = egy keresés-és-másolás algoritmus.
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
8.4 · Szuperpozíció: több fogalom, mint dimenzió
Miért nem elég a neuronokat nézegetni? A szuperpozíció hipotézise szerint a hálózat több jellemzőt tárolhat, mint ahány reprezentációs dimenziója van, ha ezek átfedő irányokban jelennek meg. Ez akkor működhet, ha a jellemzők ritkák — egyszerre csak kevés aktív —, hiszen a magas dimenziós térben exponenciálisan sok közel merőleges irány fér el. Egyszerű játékmodellekben ez részletesen vizsgálható: ott az optimalizálás valóban egymást enyhén átfedő irányokba tömöríti a jellemzőket. Az eredmény valódi nyelvi modellekre való kiterjesztése külön bizonyítékot igényel; a következő szakaszok módszerei (8.5) éppen ezt próbálják. Az ár: interferencia-zaj (az egyszerre aktív jellemzők kicsit „belebeszélnek” egymásba) — és az, hogy az egyes neuronok poliszemantikussá válnak, hiszen egy neuron sok jellemző-irány vetületét látja.
8.5 · Sparse autoencoderek: szótár a gondolatokhoz
Ha a jellemzők átfedő irányokban rejtőznek, kell egy eszköz, amely szétszálazza őket. Ez a sparse autoencoder (SAE): egy segéd-háló, amelyet arra tanítunk, hogy a modell aktivációit egy jóval bővebb, de ritka kódra bontsa — minden aktiváció álljon elő kevés „szótárelem” összegeként. A tanult szótárelemek meglepően gyakran monoszemantikusak: egy-egy emberi fogalomnak felelnek meg — a „gyakran” szó itt hangsúlyos, a módszer ismert korlátaira (rekonstrukciós maradék, feature splitting, seedfüggés) a fejezet kutatói blokkja tér ki. Nagy modellekből milliós szótárakkal olyan feature-öket emeltek ki, mint „Golden Gate híd”, „kódbeli biztonsági rés”, „hízelgés”, „belső konfliktus” — és a feature-ök okságilag is működnek: aktivációjuk mesterséges felerősítésével a viselkedés megjósolhatóan eltolható (a híres demó, a „Golden Gate Claude”, minden beszélgetést a hídra terelt).
8.6 · Módszertan: honnan tudjuk, hogy igazunk van?
A mech interp módszertani gerince az oksági beavatkozás: nem elég korrelációt látni („ez a fej nagy súlyt ad X-re”), meg kell mutatni, hogy a komponens okozza a viselkedést. A szerszámkészlet:
- Abláció: kapcsold ki (nullázd vagy átlagra cseréld) a komponenst — mi romlik el? Ha semmi, a komponens a vizsgált viselkedésben nem kritikus (vagy redundánsan tartalékolt).
- Activation patching: futtasd a modellt két bemeneten (pl. „A Colosseum városa:” / „az Eiffel-torony városa:”), és ültesd át egyetlen komponens aktivációját az egyik futásból a másikba. Ha a válasz Rómáról Párizsra vált, megtaláltad, hol utazik az információ. Szisztematikus végigpásztázással az információáramlás feltérképezhető.
- Attribúciós gráfok / circuit tracing: a legújabb generációs eszközök (2025) a modellt lokálisan egy értelmezhető „helyettesítő modellel” közelítik, és konkrét promptra megrajzolják a feature→feature hatásgráfot: melyik jellemző melyiket aktiválta a válaszig vezető úton. Ezzel vált először láthatóvá például, hogy a modell versírás közben előre megtervezi a rímszót, vagy hogy a fejben-összeadásnál párhuzamos közelítő- és pontos-számjegy-utak futnak.
Kutatói mélység A kutatási frontvonal és a nyitott problémák
Hűség (faithfulness). A modell kiírt gondolatmenete (chain of thought) nem megbízható ablak a tényleges számításra: kimutatták, hogy a modell néha utólag racionalizál — a választ más úton számolja, mint amit leír, sőt elhallgatja a valódi befolyásoló tényezőt (pl. egy promptba rejtett tippet). Ez az interp egyik fő motivációja: a belső számítás auditja nem helyettesíthető a modell önbeszámolójával. Az attribúciós gráfok e „hűtlen CoT” eseteket kísérletileg is elkapják.
A szótár-hipotézis határai. Az SAE-k ereje ellenére nyitott, hogy a feature-ök a modell „valódi” változói-e, vagy csak hasznos közelítés: a gyakorlatban rendszerint marad rekonstrukciós hiba (a maradék a „dark matter”), a szótárméret növelésével a feature-ök tovább hasadnak (feature splitting), és a különböző seedekkel tanított SAE-k szótárai csak részben fedik egymást. Alternatív és kiegészítő irányok: crosscoderek (rétegek/modellek közti közös szótár), transcoderek (az MLP-k helyettesítése értelmezhető ritka modullal), valamint a nemlineáris, többdimenziós reprezentációk (körök, rácsok) kutatása.
Skálázhatóság és automatizálás. Egy frontier-modell milliónyi feature-ének és áramkörének kézi elemzése reménytelen — a terület ezért az automatizált értelmezés felé megy: modellek magyarázzák modellek feature-eit, ellenőrző kísérleteket generálnak és pontoznak. A távlati cél egyfajta „mikroszkóp-pipeline”: adott viselkedésről (megtévesztés, jailbreak-fogékonyság, célkövetés) gombnyomásra oksági áramköri diagnózist adni. Ettől a terület még messze van — a mai eszközök a számítás töredékét magyarázzák —, de a haladás üteme az elmúlt néhány évben látványos: a 2021-es kétrétegű játékmodellektől 2025-re a frontier-modellek konkrét viselkedéseinek áramköri szintű eseteiig jutott a mezőny.
Öt kérdés, az átmenőhöz négy helyes válasz kell. Bukásnál azonnal újrapróbálható, ahányszor csak akarod — a kérdések és a válaszlehetőségek sorrendje minden körben más.
Képességek és korlátok: mit várhatunk a gépezettől?
Az előző fejezetek gépezetéből néhány jellegzetes viselkedés szükségszerűen következik — jó és rossz egyaránt. Ez a fejezet a kettőt köti össze: a képességeket és a hibamódokat egyaránt a mechanizmusból vezeti le.
In-context learning: tanulás súlyfrissítés nélkül
Az egyik legkülönösebb képesség: a modell a promptban kapott néhány példából „megtanul” egy új feladatot — pedig egyetlen súlya sem változik. A magyarázat az architektúrában van: az attention futásidőben tud információt mozgatni a példákból az aktuális kérdéshez, az induction-jellegű áramkörök (8.3) pedig épp mintaillesztést és -folytatást valósítanak meg. Fontos azonban, hogy az induction head nem az in-context learning teljes magyarázata: Olsson és mtsai a fejek kialakulása és a képesség ugrásszerű megjelenése közti erős együttjárást mutatták ki, de a mai kép szerint az ICL-ben másoló fejek, feladat- és formátumreprezentációt hordozó MLP-rétegek, valamint jóval összetettebb figyelem-mintázatok is részt vesznek. Az induction-áramkör a legjobban megértett összetevő, nem az egyetlen. A kontextus tehát egyfajta gyors, ideiglenes memória, amelyben a modell a tanult általános algoritmusait az adott feladatra hangolja. Kutatói olvasatban: a transzformer előrefuttatása bizonyos feltételek közt implicit optimalizálási lépéseket valósít meg a kontextusban lévő példákon („mesa-optimalizáció” irodalom).
Lépésenkénti gondolkodás
Egy előrefuttatás rögzített mélységű számítás: N réteg, pont annyi. Amit nem lehet ennyi lépésben kiszámolni, azt a modell egyetlen tokenben nem tudja helyesen kiadni — de a generált tokenek maguk is számítási munkatárrá tehetők. A chain of thought (gondolatmenet kiírása) pontosan ez: a modell a köztes eredményeit tokenként externalizálja, és a következő lépésben már rájuk kondicionál — a szekvenciahossz irányában „mélyíti” a számítást. A modern reasoning-modellek ezt teszik rendszerré: RL-lel tanulják meg (5.6, 6. fejezet), hogy a gondolkodási tokeneket hatékonyan használják — hibát visszavonni, elágazást kipróbálni, ellenőrizni.
Miért hallucinál?
A hallucináció — magabiztosan előadott valótlanság — nem rejtélyes meghibásodás, hanem a tanítási cél árnyéka. A mechanizmusból több forrása is levezethető:
- A loss folytatást jutalmaz, nem igazságot. A cross-entropy a plauzibilis szöveget díjazza; egy jól hangzó, hamis állítás loss-a alacsony, ha a felszíni mintázata gyakori. A „nem tudom” válasz ráadásul egyes értékelési rendszerekben rosszabbul pontozhat, mint egy tippelés — az utótanítás így akaratlanul a magabiztos tippelésre nevelhet (a vizsgázó-stratégia: üresen hagyni biztos pontvesztés).
- A tudás eloszlásba van tömörítve. A ritkán látott tények gyenge, zajos asszociációk (3. és 4.4 fejezet); a mintavétel (7. fejezet) egy rossz tokenje után a modell a saját hibájára kondicionál, és koherensen továbbépíti azt.
- A visszaidézés és a fogalmazás szétválik. Az interp-esettanulmányok (8.6) szerint van külön „ezt az entitást ismerem” jelzés a hálóban: ha ez tévesen bekapcsol, a válaszgeneráló áramkörök gátlása feloldódik, és a modell kitölti a részleteket — a szerkezet megvan, a tartalom nem.
A hibák mérséklését segítheti a bizonytalanság jelzésére és a válasz megtagadására tanítás, a külső források visszakeresése (RAG), az eszközhasználat és a válaszok ellenőrzése. Egy idézet puszta megléte nem bizonyítja, hogy valódi és alátámasztja az állítást. A hallucináció teljes megszüntetésére általános, nyitott feladatokon nincs bevált garancia. Ezt azonban nem bizonyítja önmagában az, hogy a modell valószínűségi: egy szűk, ellenőrizhető feladatnál formális korlátokkal vagy verifikációval erős helyességi garanciák is adhatók.
További jellegzetes határok
| Jelenség | Mechanikus ok |
|---|---|
| Reversal curse — „A szülője B”-ből nem következik automatikusan „B gyermeke A” | Az autoregresszív loss irányított asszociációkat tanít: a tény a „A → B” sorrendben kódolódott; a fordított irányú előhívás külön tanulást igényel. |
| Tokenszintű vakság — betűszámolás, anagrammák botladozása | A modell tokeneket lát, nem karaktereket (2. fejezet); a token belső szerkezete csak közvetve tanult. |
| „Elveszve a közepén” — a hosszú kontextus közepéről gyengébb a felidézés | Az attention-súlyok a pozíciós minták és a tanítóadat-eloszlás miatt a kontextus elejét-végét preferálják; a hosszú-kontextus tanítás ezt csak részben korrigálja. |
| Aritmetikai törékenység | A számolás tanult áramkörökön fut (párhuzamos közelítő + pontosító utak, 8.6), nem szimbolikus algoritmuson — nagy operandusoknál az általánosítás elfogy. Eszközhasználat (kódfuttatás) a tiszta megoldás. |
| Prompt-érzékenység | A kimenet feltételes eloszlás: a prompt minden felszíni jegye — sorrend, formázás, hangnem — legitim kondicionáló jel, és a modell használja is. |
Az utolsó öt kérdés, az átmenőhöz négy helyes válasz kell. Ez az állomás összeköti a korábbiakat: minden kérdés egy képességet vagy hibamódot vezet vissza a mechanizmusra.
Glosszárium
- Attention (figyelem)
- Mechanizmus, amellyel egy token-pozíció tanult relevancia-súlyokkal olvas információt a többi pozícióból (query–key illeszkedés, value-átvitel). 4.3.
- Autoregresszív
- Tokenről tokenre haladó generálás, ahol minden új token az addigi teljes szövegre kondicionál. 1. fejezet.
- Backpropagation
- A láncszabály hatékony, gráfalapú végrehajtása: minden paraméter gradiense egyetlen visszafuttatásban áll elő. 5.3.
- BPE (byte-pair encoding)
- Szótárépítő algoritmus: a leggyakoribb szomszédos szimbólumpárok ismételt összevonása. 2. fejezet.
- Chain of thought (CoT)
- A köztes gondolatmenet tokenként való kiírása, amely a számítást a szekvenciahossz irányában mélyíti. 9. fejezet.
- Circuit (áramkör)
- A háló komponenseinek (fejek, neuronok, feature-ök) azonosítható, emberi fogalmakkal leírható algoritmust megvalósító együttműködése. 8. fejezet.
- Cross-entropy loss
- A helyes token modell szerinti valószínűségének negatív logaritmusa; a tanítás célfüggvénye. 5.1.
- DPO (direct preference optimization)
- Preferenciapárokból közvetlenül optimalizáló alignment-módszer, külön jutalommodell és RL-hurok nélkül. 6. fejezet.
- Embedding
- Token → tanult vektor hozzárendelés; a jelentés geometriai reprezentációjának kiindulópontja. 3. fejezet.
- Feature (jellemző)
- A modell belső reprezentációjának egy egysége — a munkahipotézis szerint jó közelítéssel egy irány az aktivációtérben. 8. fejezet.
- Gradiens
- A loss parciális deriváltjainak vektora a paraméterek szerint; megmutatja, melyik paraméter kis változtatása mennyit javít. 5. fejezet.
- GQA (grouped-query attention)
- Több query-fej osztozik kevesebb key/value-fejen — a KV-cache zsugorítása. 4.8.
- Induction head
- Attention-fej, amely a kontextusban korábban látott mintázat ismétlődését találja meg és folytatja; az in-context learning egyik alapja. 8.3.
- Inferencia
- A betanított modell futtatása (prefill + tokenenkénti dekódolás). 7. fejezet.
- KV-cache
- A korábbi tokenek key/value-vektorainak tárolása, hogy dekódoláskor ne kelljen újraszámolni őket. 7. fejezet.
- KL-divergencia
- Két eloszlás eltérésének mértéke; az RLHF-ben a referencia-modelltől való elsodródás fékje. 6. fejezet.
- Logit
- A softmax előtti nyers pontszám egy-egy szótárelemre. 4.7.
- Logit lens
- Diagnosztika: a residual stream köztes állapotának átvezetése az unembeddingen — rétegről rétegre látszik a formálódó jóslat. 8.2.
- LayerNorm / RMSNorm
- A vektorok skálájának rétegenkénti standardizálása a tanítás stabilitásáért. 4.5.
- MLP (feed-forward réteg)
- Pozíciónként futó fel-levetítés nemlinearitással; a paraméterek és a tárolt asszociációk zöme itt él. 4.4.
- MoE (mixture of experts)
- Sok szakértő-MLP, amelyből tokenenként csak néhány aktiválódik — nagy kapacitás, kis per-token számítás. 4.8.
- Perplexitás
- A loss exponenciálisa: átlagosan hányfelé „tanácstalan” a modell tokenenként. 5.1.
- Poliszemantikus neuron
- Több, egymással össze nem függő fogalomra aktiválódó neuron — a szuperpozíció tünete. 8.4.
- Pretraining (előtanítás)
- A nyers képességeket adó, óriáskorpuszos next-token-tanítás. 5. fejezet.
- Residual stream
- A pozíciónkénti, rétegeken át additívan frissülő vektor — az architektúra kommunikációs gerince. 4.2.
- RLHF
- Reinforcement learning from human feedback: emberi preferenciákból tanult jutalommodellel vezérelt policy-optimalizálás. 6. fejezet.
- RoPE (rotary position embedding)
- Pozíciókódolás a query/key-vektorok pozícióarányos elforgatásával; az attention így relatív távolságot érzékel. 4.6.
- SAE (sparse autoencoder)
- Segédháló, amely az aktivációkat bő, ritka, gyakran monoszemantikus feature-szótárra bontja. 8.5.
- Softmax
- Pontszámvektor → valószínűség-eloszlás átalakítás exponenciálissal és normálással. 4.7.
- Szuperpozíció
- Több jellemző tárolása, mint ahány dimenzió van — átfedő, közel merőleges irányokban, a ritkaság kihasználásával. 8.4.
- SFT (supervised fine-tuning)
- Felügyelt finomhangolás minta-párbeszédeken; az asszisztens-viselkedés formájának megtanítása. 6. fejezet.
- Temperature
- Mintavételi paraméter: a logitok osztója, az eloszlás élesítése/lapítása. 7. fejezet.
- Token
- A szöveg atomi egysége a modell számára — jellemzően szórész (BPE-darab). 2. fejezet.
- Transzformer
- Attention- és MLP-blokkok residual streamre épülő, párhuzamosan tanítható architektúrája. 4. fejezet.
- Unembedding
- A végső streamvektort a szótár logitjaira vetítő mátrix. 4.7.
Irodalom — a kánon, olvasási sorrendben
Szakmai ellenőrzés · 2026. szeptember 19. (v1.1.1). Az ellenőrzés a 12 tanulási állomásra, a 60 kvízkérdésre, a végigszámolt példákra és a 14 interaktív laborra terjedt ki. A javítások és az eredeti források az ellenőrzési jegyzőkönyvben követhetők. A játékábrák nem valódi LLM-mérések; ez az átnézés nem független tudományos lektorálás.
A lista szándékosan rövid: a terület alapszövegei, nagyjából a jelen anyag fejezeteinek sorrendjében. A hivatkozott alapművek szabadon elérhetők; a közvetlenül linkelt címek az eredeti forráshoz vezetnek.
- Vaswani et al. (2017): Attention Is All You Need — az eredeti transzformer-cikk. (4. fejezet)
- Radford et al. (2019): Language Models are Unsupervised Multitask Learners (GPT-2) és Brown et al. (2020): Language Models are Few-Shot Learners (GPT-3) — a skálázás és az in-context learning felfedezése. (1., 9. fejezet)
- Sennrich et al. (2016): Neural Machine Translation of Rare Words with Subword Units — a BPE bevezetése az NLP-be. (2. fejezet)
- SentencePiece: hivatalos dokumentáció — a BPE- és unigram-tokenizálás implementációja és tanítása. (2. fejezet)
- Rumelhart, Hinton & Williams (1986): Learning representations by back-propagating errors — a backprop klasszikusa; modern kiegészítésként Karpathy: Neural Networks: Zero to Hero videósorozata a kézzel épített autogradtól a GPT-ig. (5. fejezet)
- Kingma & Ba (2015): Adam és Loshchilov & Hutter (2019): Decoupled Weight Decay Regularization (AdamW). (5.4)
- Kaplan et al. (2020): Scaling Laws for Neural Language Models és Hoffmann et al. (2022): Training Compute-Optimal Large Language Models (Chinchilla). (5.6)
- Su et al. (2021): RoFormer — a RoPE. (4.6)
- Ouyang et al. (2022): Training language models to follow instructions with human feedback (InstructGPT) — az RLHF-recept. (6. fejezet)
- Bai et al. (2022): Constitutional AI: Harmlessness from AI Feedback. (6. fejezet)
- Rafailov et al. (2023): Direct Preference Optimization. (6. fejezet)
- Dao et al. (2022): FlashAttention és Kwon et al. (2023): Efficient Memory Management for LLM Serving with PagedAttention (vLLM). (7. fejezet)
- Leviathan et al. (2023): Fast Inference from Transformers via Speculative Decoding. (7. fejezet)
- Elhage et al. (2021): A Mathematical Framework for Transformer Circuits — a residual stream / QK–OV formalizmus. (8.2)
- Olsson et al. (2022): In-context Learning and Induction Heads. (8.3)
- Elhage et al. (2022): Toy Models of Superposition. (8.4)
- Li et al. (2023): Emergent World Representations: Exploring a Sequence Model Trained on a Synthetic Task és Gurnee & Tegmark (2024): Language Models Represent Space and Time — belső „világ”-reprezentációk vizsgálata. (1. fejezet)
- Olshausen & Field (1996): Emergence of simple-cell receptive field properties by learning a sparse code for natural images — a ritka kódolás klasszikusa, az SAE-k gondolati őse. (8.5)
- Bricken et al. (2023): Towards Monosemanticity és Templeton et al. (2024): Scaling Monosemanticity — SAE-k kis és frontier-méretben. (8.5)
- Lindsey et al. (2025): On the Biology of a Large Language Model — attribúciós gráfok, esettanulmányok (tervezés, fejszámolás, hűtlen CoT). (8.6)
- Schaeffer et al. (2023): Are Emergent Abilities of Large Language Models a Mirage? — az emergencia-vita. (5.6)
- Berglund et al. (2023): The Reversal Curse. (9. fejezet)
- Greenblatt et al. (2024): Alignment Faking in Large Language Models. (6. fejezet)
Ez az anyag oktatási céllal készült. A szakmai tartalom a terület 2026. júliusi állapotát tükrözi; a kiadás utolsó frissítése 2026. szeptember 27. — a kettő közti különbség a változásnaplóban olvasható. A számszerű példák (méretek, arányok) tipikus nagyságrendeket illusztrálnak, nem konkrét termékek specifikációit. Az ábrák sematikusak. Hibajelzést, kiegészítési ötletet szívesen fogadok: csaplar.d@gmail.com. ◆
Változásnapló
Ez az anyag gyorsan mozgó területről szól. Az alábbi lista fordított időrendben mutatja, mi változott — így látszik, mikori állapotot olvasol.
- v1.2.0 — 2026. szeptember 27.
- Közös arculat az AI-tananyagokkal, alapból sötét mód. Szakmai pontosítások egy külső áttekintés alapján: a tananyag hatóköre (autoregresszív transzformerek), a generálási kör és a gyorsítótár összhangja, a világmodellezés és a szuperpozíció hatóköre (hipotézisként, játékmodell és valódi modell elkülönítve), az induction-ábra felirata; nyelvi javítások; közvetlen linkek az irodalomjegyzékben.
- 2026. szeptember 19. — Elnevezések
- Az interaktív példák egységes neve „Interaktív kísérletek” lett a menüben, a hivatkozásokban és a példák felirataiban.
- v1.1.3 — 2026. szeptember 19.
- Sorrendtől független kvízmagyarázatok; rokonsági, SAE-, Adam-, memória- és emergenciakérdések pontosítása; kezdőbarátabb megfogalmazás. Javított nyelvi build, új regressziós tesztekkel. A mentett haladás változatlan.
- v1.1.2 — 2026. szeptember 19.
- Kvízek: jelentősen csökkent a válaszhosszból adódó segítség; a magyarázatok ismét elmondják, miért jó a helyes válasz és miért csábító a rossz. A tanulási elemek nyelvenként külön épülnek, így az angol kiadásba nem kerül magyar szöveg, és fordítva. Új megosztókártya. A haladásod megmarad.
- v1.1.1 — 2026. szeptember 19.
- Szakmai felülvizsgálat: attention- és MLP-képletek, bfloat16, skálázási törvények, spekulatív dekódolás, KV-cache és kalibráció javítása; 28 kvízkérdés pontosítása. Új, képletből számolt skálázási ábra. A javításokat és az eredeti forrásokat az ellenőrzési jegyzőkönyv sorolja fel. A haladásod megmarad.
- v1.1 — 2026. szeptember 19.
- Tizennégy új interaktív műhely; végigszámolt alapozó példák; tizenkét hetes gyakorlási útvonal helyi feladatlistával; szabad és vezetett olvasás; külön elnevezés a magyarázati mélységnek és a haladási állomásoknak; szakmai pontosítások és kiegyensúlyozott bevezető kvízkérdések. Mindkét nyelvi változat önállóan, offline is működik.
- v1.0 — 2026. augusztus 30.
- Első nyilvános kiadás. A tizenkét fejezet szintalapú tanulórendszerré alakítva: fejezetenként ötkérdéses szintzáró kvíz, 4/5-ös átmenőküszöbbel, korlátlan újrapróbálkozással; a még nem teljesített fejezetek zárolva. A haladás a böngésző helyi tárolójában marad, szerverre semmi nem kerül. Világos és sötét mód külön tervezett palettával.