A GPT-knél van ez a transformer-ek által megvalósított attention mechanizmus. Ezek csak működés közben tudják kezelni a kontextust, vagy a betanítás során is?
A ChatGPT válasza:
A GPT (Generative Pre-trained Transformer) architektúrájának lényege az, hogy először egy nagy, nem feladatspecifikus modellt betanítanak egy nagy mennyiségű szövegen, majd az ezt követő finomhangolással (fine-tuning) specializálják egy adott feladatra. A betanítási fázisban a GPT tanul egy generikus, kontextusérzékeny nyelvi reprezentációt.
A Transformer architektúra attention mechanizmusának alapja, hogy minden bemeneti token (például szó) figyelembe veszi a többi token kontextusát a kimeneti reprezentáció kiszámításakor. Az attention mechanizmus lehetővé teszi a modellek számára, hogy a bemeneti sorozat bármely részletére fókuszáljanak a kimeneti reprezentáció kiszámításakor, így képesek a kontextusérzékeny reprezentációra.
A GPT betanításának folyamata során az attention mechanizmus aktívan részt vesz a reprezentáció kiszámításában. Az attention mechanizmus nemcsak a kontextus felhasználását teszi lehetővé a bemeneti szövegen belül, hanem segít a modelnek megtanulni hosszú távú függéseket is. Tehát, már a betanítás során a GPT képes a kontextusérzékeny reprezentáció kialakítására.
Ami az epizódikus memóriához hasonló képességeket illeti, a GPT inkább a széles kontextuson alapuló tudást preferálja, mint az egzakt lexikális tudást. Az epizódikus memóriához hasonló képességei nem olyan explicitek, mint az emberi memóriában, és a GPT nem rendelkezik olyan szigorúan strukturált, visszaemlékező memóriával, mint az emberek. A GPT a szövegben található kontextusok alapján készít előrejelzéseket, de nincs explicit memóriája arról, hogy mikor és milyen kontextusban találkozott egy adott információval a betanítás során. A GPT képes érzékelni és használni a távoli kontextust a szövegekben, de az emlékezete implicit és széleskörűbb, mint az epizódikus emlékezet.
Jellemzően ugyanazt a hálózatot tanítod, mint amit utána használsz. A transzformerek sem különböznek.
A neurális háló két olyan eleméről tudok, ami tanítás során másképp viselkedik. Az egyik a Batch Normalization Layer: ez arról gondoskodik, hogy a neuronok kimenete adott eloszlást kövessen (mondjuk 0 átlagú, 1 szórású Gauss görbét). Ezt úgy éri el, hogy az átlagot kivonja, és a szórással osztja. Ezt az átlagot és szórást tanításkor kiszámolja, használatkor viszont a tanításkori értéken fixálja.
A másik: észrevették tapasztalati úton, hogy jobb, ha valamilyen tudást nem egy neuron tárol, hanem eloszlik több között. Ezt a legegyszerűbb úgy elérni, hogy tanításkor véletlenszerű neuronokat egyszerűen "kikapcsolnak" (nullázzák a kimenetüket, és úgy számolnak vele a továbbiakban, de a következő batch-nél mást kapcsolnak ki helyettük). Amikor a háló fut, akkor ez a réteg nem csinál semmit, akkor már inaktív. Ezt hívják dropoutnak.
Lehet, hogy van másik - esetleg részterületen használt réteg - is, ezek jutnak eszembe.
A hálónak kétféle "memóriája" van: amit a tanításkor a súlyokban megtanult, ez futáskor már nem változik. A másik a kontextusablak, ugyanis a tokenek generálásakor az inputot és az általa generált tokeneket is megkapja a bemenetére. Visszacsatolt hálók esetén van egy harmadik: a korábbi inputból ami információ benne marad a rendszerben (a GPT nem ilyen).
Nincs lexikális tudása, azt jól érted. Az Attention arról szól, hogy egy token környezetéről legyen valami információja. Eredetileg a Google fordítóhoz találták ki, márpedig szövegnél a szavak kapcsolata kiemelten fontos.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!