Nyelvi modell nulláról · Lecke 03

Az első nyelvi modell, a bigram

Nevekből tanulunk neveket gyártani. A lehető legbutább nyelvi modell, amiben már minden lényeg benne van.

Vissza a tananyaghoz


A feladat

A makemore sorozat egy szándékosan pici feladattal indul. Adott sok ezer keresztnév, és a cél új, hihető neveket gyártani. Ez ugyanaz a feladat, mint a nagy modelleké, a következő elem megjóslása, csak itt az elem egyetlen karakter, és a modell először csupán annyit tud, milyen karakter után milyen jön gyakran.

Ez a bigram modell. Egy táblázat, semmi több, és mégis megjelenik benne minden fogalom, ami a nagyokban is él. A valószínűségi eloszlás, a mintavételezés, és a veszteségfüggvény, ami megmondja, mennyire lepődött meg a modell a valódi adaton.


A veszteség, amit érdemes megszeretni

Itt jelenik meg a negatív log-valószínűség, a nyelvi modellek közös mércéje. A gondolat egyszerű. A jó modell nagy valószínűséget ad annak, ami tényleg történt. A veszteség ennek a valószínűségnek a negatív logaritmusa, tehát akkor kicsi, ha a modell nem lepődik meg. A sorozat összes további modellje, a legkisebbtől a GPT-ig, ugyanezt az egy számot próbálja lejjebb tornászni.

1
Számolás táblázattal. A karakterpárok megszámolása, normalizálás, mintavétel. Az első működő nyelvi modell.
2
Ugyanez tanulással. A táblázat helyett egy súlymátrix, amit gradiens módszerrel tanítunk ugyanarra az eredményre.
3
A felismerés. A számolgatós és a tanulós út ugyanoda jut, tehát a tanítás nem más, mint rugalmas számolás olyan helyzetekre, ahol a táblázat már nem fér el.
4
A korlát. Egyetlen karakternyi emlékezet kevés. A következő lépés a hosszabb kontextus, és ott kezdődik az igazi történet.

A bigram modell a legjobb ellenszere a nagy modellek körüli miszticizmusnak. Ugyanaz a cél, ugyanaz a veszteség, ugyanaz a mintavétel, csak a közbülső gépezet nő. Aki ezt látta, az a csúcsmodellre is tudja, mit kérdezzen.


Források és további olvasnivaló

A tananyag Andrej Karpathy ingyenes Neural Networks: Zero to Hero videósorozatát követi, amelyben minden sor kód a szemünk előtt születik meg.


← A visszaterjesztés kézzelTöbbrétegű háló és a kontextusablak →