Kuidas ChatGPT tegelikult töötab?
ChatGPT on juturobot, mis põhineb suurel keelemudelil (kas GPT-3.5 või GPT-4). Kapoti all on ChatGPT eeltreenitud neuronivõrk, mis on treenitud muljetavaldava hulga avalikult kättesaadavate tekstide andmete põhjal internetist.
See suur andmehulk võimaldab mudelil õppida mustreid, grammatikat, konteksti ja isegi mõningaid tavateadmisi, mis võimaldab tal luua kasutaja päringutele sisukaid ja sidusaid vastuseid. ChatGPT-l on ainulaadne võime pidada kasutajatega interaktiivseid ja dünaamilisi vestlusi, mis muudab selle paljulubavaks vahendiks paljude rakenduste jaoks.
Mis on suur keelemudel
Suured keelemudelid on tehisintellekti algoritmid, mis kasutavad teksti lugemiseks, mõistmiseks, genereerimiseks ja prognoosimiseks süvaõppemeetodeid, mida nimetatakse loomulikuks keeletöötluseks.
Kui sisestate päringu, ei otsi mudel vastust internetist, vaid annab vastuse peast (kuigi tal ei ole pead). See genereerib vastuse üks sõna korraga, määrates iga järgmise sõna kindlaks tõenäosuste põhjal, mis on tuletatud tekstiandmetest, mille põhjal see on treenitud, ja seni genereeritud tekstist.
11 miljardit parameetrit: küsimustele vastamine, aritmeetika, keele mõistmine
Kuidas on see võimalik? Noh, ChatGPT ei pea internetist teavet otsima, sest ta teab juba kõike (noh, peaaegu kõike). Kõik Internetis kättesaadavad teadmised on ChatGPT-sse integreeritud 175 miljardi parameetri kaudu.
62 miljardit parameetrit: tõlkimine, loogiline mõtlemine, koodi täiendamine
Kui mudeli parameetrite arv suureneb, tekivad mudelis uued võimed, mida keegi ei ole tahtlikult kavandanud.
540 miljardit parameetrit: loogilised järeldusahelad, mustrite tuvastamine, lugemisoskus
Kuidas ChatGPT koolitati
ChatGPT on koolitatud sadade tuhandete raamatute, artiklite, dialoogide, sh:
- WebText2 (suur raamatukogu, mis sisaldab üle 45 terabaidi tekstiandmeid).
- Cornelli filmidialoogide korpus (andmekogum, mis sisaldab üle 200 000 vestluse 10 000 filmitegelase vahel filmiskriptides).
- Ubuntu Dialogue Corpus (kogumik, mis sisaldab 1 000 000 mitmepöördelist dialoogi Ubuntu kasutajate ja kogukonna tugimeeskonna vahel).
- miljardeid koodiridu GitHubist.
Kõigepealt lubati GPT-l töödelda kõiki andmeid, millele tal oli juurdepääs, ilma inimese juhendamiseta, mis võimaldas tal iseseisvalt haarata teksti valdkonda dikteerivaid reegleid ja seoseid (seda nimetatakse "järelevalveta õppimiseks").
Seejärel rakendati keelemudeli peenhäälestamiseks tehnikat, mida nimetatakse tugevdavaks õppeks koos inimtagasisidega:
- Inimeste tehisintellekti koolitajad viisid läbi vestlusi, kus nad mängisid mõlemat osapoolt - kasutajat ja tehisintellekti assistenti. Neil oli juurdepääs mudeli abil kirjutatud ettepanekutele, mis aitasid neil vastuseid koostada. Mudelit treeniti, kasutades juhendatud peenhäälestust, et ennustada assistendi järgmist sõnumit, arvestades dialoogi ajalugu.
- Tasustamismudeli loomiseks tugevdusõppe jaoks koguti võrdlusandmeid. Tehisintellekti koolitajad reastasid mitu mudeli vastust kvaliteedi järgi, võttes arvesse selliseid asju nagu see, kas vastus oli mõistlik ja kas see oli kasulik. Väljavalitud vastustest sai dialoogi andmestik koos uute mudeliga kirjutatud sõnumitega.
- Tasustamismudel loodi, kasutades tehnikat, mida nimetatakse tasustamise modelleerimiseks, kus mudel treeniti, et ennustada vastuse kvaliteeti eelmises etapis kogutud võrdlusandmete põhjal.
Lõppkokkuvõttes õppis ChatGPT, kuidas vastata igas olukorras, anda täpseid ja asjakohaseid vastuseid ning vältida potentsiaalselt kahjulikke teemasid.
Transformer arhitektuur
ChatGPT treeningprotsess hõlmab lause järgmise sõna ennustamist, arvestades eelnevaid sõnu. Selle saavutamiseks kasutatakse Transformer-arhitektuuri (muide, T ChatGPT-s tähendab Transformer), mis koosneb enesehäälestusmehhanismide kihtidest. Enesehäälestus võimaldab mudelil kaaluda erinevaid sõnu lauses nende tähtsuse ja asjakohasuse alusel, et ennustada täpselt järgmist sõna.
Vanemad rekursiivsed neuronivõrgud (RNN) loevad teksti vasakult paremale. Kuigi see toimib hästi, kui seotud sõnad on kõrvuti, muutub see keeruliseks, kui need on lause vastandlikes otstes.
Seega, kui RNN töötas ühe lehekülje pikkuse tekstiga, siis kolmanda lõigu keskel "unustas" ta juba selle, mis oli päris alguses.
Seevastu transformaatorid on võimelised töötlema samaaegselt iga sõna lauses ja võrdlema iga sõna kõigi teistega. See võimaldab neil koondada oma "tähelepanu" kõige olulisematele sõnadele, sõltumata nende asukohast sisendjärjestuses.
Tokeniseerimine
Oluline on märkida, et transformaatorid ei tööta üksikute sõnade alusel (nad ei oska lugeda nagu inimesed). Selle asemel jagatakse sisendtekst üksikuteks märkideks, sealhulgas sõnad, kirjavahemärgid ja erimärgid. ChatGPT-s on märgid, mis on tekstiühikud, mis on esitatud vektoritena (numbrid koos suuna ja asukohaga).
Märkide-vektorite lähedus ruumis määrab nende assotsieerumise taseme: mida lähemal nad on, seda rohkem on nad seotud. Lisaks on tähelepanu kodeeritud vektorina, mis võimaldab transformaatoritel põhinevatel närvivõrkudel säilitada olulist teavet eelnevatest lõikeosadest.
Kui kasutaja suhtleb ChatGPT-ga, saab mudel sisendina vestlusajaloo, sealhulgas nii kasutaja üleskutsed kui ka mudeli poolt genereeritud vastused. Sisend on märgistatud ja seejärel sisestatud neuronivõrku. Iga märgend on seotud varjundiga, mis esindab selle tähendust vestluse kontekstis.
GPT-3 treeniti ligikaudu 500 miljardi märgendi põhjal, mis võimaldab selle keelemudelitel hõlpsamini määrata tähendust ja ennustada usutavat järelteksti, kaardistades neid vektorruumis. Paljud sõnad moodustavad ühe märgi, kuigi pikemad või keerulisemad sõnad jagunevad sageli mitmeks märgiks. Keskmiselt on märgid umbes nelja tähemärgi pikkused.
Järeldamise etapis, kus mudel genereerib vastuseid, kasutatakse autoregressioonina tuntud protsessi. See tähendab, et mudel ennustab ühe sõna korraga, võttes samal ajal arvesse vestlusajalugu ja varem genereeritud sõnu. Selleks, et tagada, et genereeritud vastus on sidus ja asjakohane, kasutatakse selliseid tehnikaid nagu top-p-proovivõtmine ja temperatuuri skaalamine.
Lühidalt öeldes annab top-p parameeter mudelile valikuvõimaluste (žetoonide) kogumi, mille hulgast valida, samas kui temperatuur määrab kindlaks teatud žetooni valimise tõenäosuse. Kui temperatuur on seatud 0, valib mudel ainult kõige "populaarsemad" märgid (sõnad, mis esinevad kõige sagedamini koos tekstiandmetes, mida ChatGPT treeniti):
See ei ole alati suurepärane. Kõrgemad temperatuurid muudavad tulemused mitmekesisemaks:
Lisateave ChatGPT parameetrite kohta: