Hogyan működik a ChatGPT valójában?
A ChatGPT egy nagy nyelvi modellen (GPT-3.5 vagy GPT-4) alapuló chatbot. A motorháztető alatt a ChatGPT egy előre betanított neurális hálózat, amelyet az internetről származó, nyilvánosan elérhető szöveges adatok lenyűgöző mennyiségén képeztek ki.
Ez a hatalmas adatmennyiség lehetővé teszi a modell számára, hogy megtanuljon mintákat, nyelvtant, kontextust és még némi józan tudást is, így értelmes és koherens válaszokat tud generálni a felhasználói lekérdezésekre. A ChatGPT egyedülálló módon képes interaktív és dinamikus beszélgetésekbe bocsátkozni a felhasználókkal, ami alkalmazások széles körének ígéretes eszközévé teszi.
Mi az a nagy nyelvi modell
A nagy nyelvi modellek olyan mesterséges intelligencia-algoritmusok, amelyek természetes nyelvi feldolgozásként ismert mély tanulási technikákat használnak szövegek olvasására, megértésére, generálására és előrejelzésére.
Amikor beírsz egy kérdést, a modell nem keres rá a válaszra az interneten, hanem fejből adja meg a választ (bár nincs is feje). A választ szóról szóra generálja, minden következő szót a betanított szövegadatokból és az eddig generált szövegből származó valószínűségek alapján határoz meg.
11 milliárd paraméter: kérdések megválaszolása, számtan, nyelvi megértés
Hogyan lehetséges ez? Nos, a ChatGPT-nek nem kell az interneten keresgélnie információkért, mert már mindent tud (vagyis majdnem mindent). Az interneten elérhető összes tudás a ChatGPT 175 milliárd paraméterén keresztül beépül a ChatGPT-be.
62 milliárd paraméter: fordítás, józan gondolkodás, kódkiegészítés
A modellparaméterek számának növekedésével olyan új képességek jelennek meg a modellben, amelyeket senki sem tervezett szándékosan.
540 milliárd paraméter: logikai következtetési láncok, mintafelismerés, olvasásértés
Hogyan képezték ki a ChatGPT-t
A ChatGPT-t több százezer könyv, cikk, dialógus alapján képezték ki, többek között:
WebText2 (több mint 45 terabájtnyi szöveges adatot tartalmazó nagy könyvtár)
Cornell Movie Dialogs Corpus (egy olyan adathalmaz, amely több mint 200 000 beszélgetést tartalmaz 10 000 filmszereplő között filmforgatókönyvekben).
Ubuntu Dialogue Corpus (1 000 000 többfordulós párbeszédet tartalmazó gyűjtemény az Ubuntu felhasználók és a közösségi támogató csapat között)
több milliárd sornyi kód a GitHubról
Először is a GPT-nek megengedték, hogy emberi irányítás nélkül dolgozza fel az összes adatot, amihez hozzáférhetett, így önállóan megragadhatta a szövegek birodalmát meghatározó szabályozásokat és összefüggéseket (ezt nevezik "felügyelet nélküli tanulásnak").
Ezután a nyelvi modell finomhangolásához az emberi visszajelzéssel történő megerősített tanulásnak nevezett technikát alkalmazták:
- Az emberi AI-oktatók olyan beszélgetéseket folytattak, amelyekben mindkét felet - a felhasználót és az AI-asszisztenst - eljátszották. Hozzáférésük volt a modell által megírt javaslatokhoz, hogy segítsenek a válaszok összeállításában. A modellt felügyelt finomhangolással képezték ki, hogy a párbeszéd előzményei alapján megjósolja az asszisztens következő üzenetét.
- A megerősítéses tanulás jutalommodelljének létrehozásához összehasonlító adatokat gyűjtöttek. A mesterséges intelligencia oktatói a modell több válaszát minőség szerint rangsorolták, figyelembe véve olyan dolgokat, mint például, hogy a válasznak van-e értelme, és hogy hasznos volt-e. A kiválasztott válaszokból egy párbeszéd-adathalmaz lett, amely új, modell által írt üzeneteket tartalmazott.
- A jutalmazási modellt a jutalommodellezésnek nevezett technika segítségével hozták létre, ahol egy modellt képeztek ki arra, hogy az előző lépésben gyűjtött összehasonlító adatok alapján megjósolja a válasz minőségét.
Végül a ChatGPT megtanulta, hogyan kell válaszolni minden adott helyzetben, pontos és releváns válaszokat adni, és kikerülni a potenciálisan káros témákat.
Transformer architektúra
A ChatGPT képzési folyamata a mondat következő szavának megjóslását jelenti az előző szavak alapján. Ennek eléréséhez egy Transformer-architektúrát alkalmazunk (a T a ChatGPT-ben egyébként a Transformer rövidítése), amely önfigyelő mechanizmusok rétegeiből áll. Az önfigyelés lehetővé teszi a modell számára, hogy a mondatban lévő különböző szavakat fontosságuk és relevanciájuk alapján mérlegelje a következő szó pontos előrejelzése érdekében.
A régebbi rekurrens neurális hálózatok (RNN) a szöveget balról jobbra haladva olvassák. Ez jól működik, ha a kapcsolódó szavak egymás mellett vannak, de kihívást jelent, ha a mondat ellentétes végén vannak.
Ezért amikor egy RNN egy egyoldalas szöveggel dolgozik, a harmadik bekezdés közepére már "elfelejti", hogy mi volt a legelején.
Ezzel szemben a transzformátorok képesek egyszerre feldolgozni egy mondat minden szavát, és minden szót összehasonlítani az összes többivel. Ez lehetővé teszi számukra, hogy a "figyelmüket" a legfontosabb szavakra összpontosítsák, függetlenül azok helyétől a bemeneti szekvencián belül.
Tokenizálás
Fontos megjegyezni, hogy a transzformátorok nem az egyes szavakkal dolgoznak (nem tudnak úgy olvasni, mint az emberek). Ehelyett a bemeneti szöveget egyedi tokenekre bontják, beleértve a szavakat, az írásjeleket és a speciális tokeneket. A ChatGPT-ben a tokenek olyan szövegdarabok, amelyek vektorokként (irányt és pozíciót tartalmazó számok) vannak ábrázolva.
A token-vektorok térbeli közelsége határozza meg a társításuk szintjét: minél közelebb vannak egymáshoz, annál inkább kapcsolódnak egymáshoz. Továbbá a figyelem vektorként van kódolva, ami lehetővé teszi a transzformátor-alapú neurális hálózatok számára, hogy megőrizzék a bekezdés előző részeinek kulcsfontosságú információit.
Amikor egy felhasználó interakcióba lép a ChatGPT-vel, a modell bemenetként megkapja a beszélgetés előzményeit, beleértve mind a felhasználói kéréseket, mind a modell által generált válaszokat. A bemenetet tokenizálják, majd betáplálják a neurális hálózatba. Minden tokenhez egy beágyazás tartozik, amely a beszélgetés kontextusában a jelentését reprezentálja.
A GPT-3 nagyjából 500 milliárd tokenre lett kiképezve, ami lehetővé teszi a nyelvi modellek számára, hogy könnyebben hozzárendeljék a jelentést, és a vektortérben való leképezésük révén könnyebben megjósolják a következő szövegek valószínűségét. Sok szó egyetlen tokenre tagolódik, bár a hosszabb vagy összetettebb szavak gyakran több tokenre bomlanak. A tokenek átlagosan nagyjából négy karakter hosszúak.
A következtetési szakaszban, amikor a modell válaszokat generál, egy autoregressziónak nevezett folyamatot használunk. Ez azt jelenti, hogy a modell egyszerre egy-egy szót jósol meg, miközben a beszélgetés előzményeit és a korábban generált szavakat kondicionálja. Annak érdekében, hogy a generált válasz koherens és releváns legyen, olyan technikákat használunk, mint a top-p mintavételezés és a hőmérséklet skálázás.
Röviden, a top-p paraméter a modellnek egy választási lehetőségek (tokenek) tárházát adja meg, amelyek közül választhat, míg a hőmérséklet meghatározza egy bizonyos token kiválasztásának valószínűségét. Ha a hőmérséklet 0-ra van állítva, a modell csak a "legnépszerűbb" tokeneket fogja kiválasztani (olyan szavakat, amelyek a leggyakrabban fordulnak elő együtt a ChatGPT betanított szöveges adataiban):
Ez nem mindig nagyszerű. A magasabb hőmérséklet változatosabbá teszi az eredményeket:
További információ a ChatGPT paraméterekről: