Hogyan működik a ChatGPT: A modell a robot mögött
Rövid bevezetés a chatbot mögött rejlő intuícióról és módszertanról, amiről folyamatosan hallani lehet.
Ez a könnyed bevezetés a ChatGPT-t működtető gépi tanulási modellbe a nyelvi modellek bemutatásával kezdődik, aztán megismerkedünk a forradalmi önreflexiós mechanizmussal, amely lehetővé tette a GPT-3 létrejöttét, majd betekintést nyerünk az emberi visszacsatolásból történő megerősítéses tanulásba, amely kivételessé teszi a ChatGPT-t.
Nagyméretű nyelvi modellek
A ChatGPT a nagy nyelvi modellek (Large Language Model, LLM) néven ismert gépi tanulású természetes nyelvfeldolgozó modellek egy osztályának kiterjesztése. Az LLM-ek hatalmas mennyiségű szöveges adatot dolgoznak fel, és a szövegben lévő szavak közötti kapcsolatokra következtetnek. Ezek a modellek az elmúlt néhány évben a számítási teljesítmény fejlődésének köszönhetően egyre nagyobb mértékben fejlődtek. Az LLM-ek képességei a bemeneti adathalmazok és a paramétertér méretének növekedésével nőnek.
A nyelvi modellek legalapvetőbb képessége egy szó előrejelzésével történik egy szósorozatban. Leggyakrabban ezt vagy next-token-prediction (következő szó-előrejelzés) vagy maszkolt nyelvi modellezés formájában figyelhetjük meg.
Ebben az alapvető sorrendi módszerben, amelyet gyakran egy LSTM (Long-Short-Term-Memory) modellen keresztül alkalmaznak, a modell a környező kontextus alapján a statisztikailag legvalószínűbb szóval tölti ki az üres helyet. Ennek a szekvenciális modellezési struktúrának két fő korlátja van:
- A modell nem képes egyes környező szavakat jobban értékelni, mint másokat. A fenti példában, míg az „enni” szó leggyakrabban a „gyűlöl” szóval társulhat, az adatbázisban „Tibor” lehet, hogy olyan lelkes evő, hogy a modellnek nagyobb súlyt kell adnia a „Tibor”-nak, mint az „evésnek”, és a „gyűlöl” helyett a „szeret” szót kell választania.
- A bemeneti adatok feldolgozása egyenként és szekvenciálisan történik, nem pedig egy teljes testként. Ez azt jelenti, hogy amikor egy LSTM-et betanítunk, a kontextus ablaka rögzített, és csak a szekvencia több lépésénél terjed ki az egyedi bemeneten túlra. Ez korlátozza a szavak közötti kapcsolatok és a levezethető jelentések összetettségét.
Erre a problémára válaszul 2017-ben a Google Brain egyik csapata bevezette a transzformátorokat. Az LSTM-ekkel ellentétben a transzformátorok az összes bemeneti adatot egyszerre képesek feldolgozni. Egy önfigyelési mechanizmus segítségével a modell a bemeneti adatok különböző részeinek különböző súlyt tud adni a nyelvi szekvencia bármelyik pozíciójához képest. Ez a tulajdonság lehetővé tette a jelentés LLM-ekbe való bevitelének hatalmas javulását, és lényegesen nagyobb adathalmazok feldolgozását teszi lehetővé.
GPT és az önfigyelési mechanizmus
A Generative Pre-training Transformer (GPT) modelleket először 2018-ban indította el az openAI GPT-1 néven. A modellek 2019 folyamán tovább fejlődtek a GPT-2, 2020-ban a GPT-3, és legutóbb 2022-ben az InstructGPT és a ChatGPT modellekkel. Az emberi visszajelzés rendszerbe való integrálása előtt a GPT-modellek evolúciójának legnagyobb előrelépését a számítási hatékonyság terén elért eredmények hajtották, amelyek lehetővé tették, hogy a GPT-3-at lényegesen több adaton képezzék ki, mint a GPT-2-t, így változatosabb tudásbázist és a feladatok szélesebb körének elvégzésére való képességet biztosított.
Minden GPT modell a transzformációs architektúrát használja, ami azt jelenti, hogy van egy kódoló a bemeneti szekvencia feldolgozásához és egy dekódoló a kimeneti szekvencia létrehozásához. Mind a kódoló, mind a dekódoló rendelkezik egy számos önfigyelési mechanizmussal, amely lehetővé teszi a modell számára, hogy a szekvencia egyes részeit differenciáltan súlyozza a jelentés és a kontextus kikövetkeztetése érdekében. Ezenkívül a dekóder kihasználja a maszkolt nyelvi modellezést, hogy megértse a szavak közötti kapcsolatot, és érthetőbb válaszokat adjon.
A GPT-t működtető önfigyelési mechanizmus úgy működik, hogy a tokeneket (szövegdarabokat, amelyek lehetnek szavak, mondatok vagy más szövegcsoportok) olyan vektorokká alakítja, amelyek a tokenek fontosságát képviselik a bemeneti szekvenciában. Ehhez a modell,
- Létrehoz egy lekérdezési, kulcs- és értékvektort a bemeneti szekvencia minden egyes tokenjéhez.
- Kiszámítja a hasonlóságot az első lépésből származó lekérdezési vektor és minden más token kulcsvektora között a két vektor pontszorzatának kiszámításával.
- Normalizált súlypontokat generál a 2. lépés kimenetének egy softmax függvénybe történő betáplálásával.
- A 3. lépésben generált értékek és az egyes tokenek értékvektorainak szorzatával létrehoz egy végső vektort, amely a tokenek fontosságát jelzi a szekvencián belül.
A GPT által használt „multihead” figyelemszerkezet az önreflexió evolúciója. Ahelyett, hogy az 1-4. lépést egyszer hajtaná végre, a modell párhuzamosan többször ismétli ezt a mechanizmust, minden alkalommal új lineáris vetületet generálva a lekérdezés, a kulcs és az értékvektorokból. Az önfigyelem ilyen módon történő kiterjesztésével a modell képes a bemeneti adatokon belüli aljelentések és összetettebb kapcsolatok megragadására.
Bár a GPT-3 figyelemre méltó előrelépést hozott a természetes nyelvi feldolgozás terén, korlátozottan képes a felhasználói szándékokhoz igazodni.
- Válaszokból hiányzik a segítőkészség, ami azt jelenti, hogy nem követik a felhasználó kifejezett utasításait.
- Megtévesztőek lehetnek, nem létező vagy téves tényeket tükröző képzavarokat tartalmaznak.
- Nehezen értelmezhető, ami megnehezíti az emberek számára annak megértését, hogy a modell hogyan jutott egy adott döntésre vagy előrejelzésre.
- Uszító vagy elfogult tartalmakat közvetíthetnek, amelyek károsak vagy sértőek, és félretájékoztathatják az olvasót.
Ezt megelőzendő ChatGPT-ben innovatív képzési módszereket vezettek be, hogy ellensúlyozzák a standard LLM-ek fent felsorolt problémáit.
A végén talán még azt érdemes megemlíteni, hogy a ChatGPT az InstructGPT mellékága, amely újszerű megközelítést vezetett be az emberi visszajelzés beépítésére a képzési folyamatba, hogy a modell kimenetei jobban igazodjanak a felhasználói szándékhoz.
A ChatGPT és az InstructGPT létrehozásához használt módszertanokról bővebben az OpenAI által közzétett eredeti dokumentumban olvashatsz:
https://arxiv.org/pdf/2203.02155.pdf
