Ako vlastne ChatGPT funguje?
ChatGPT je chatbot založený na veľkom jazykovom modeli (buď GPT-3.5 alebo GPT-4). ChatGPT je predtrénovaná neurónová sieť, ktorá bola vyškolená na pôsobivom množstve verejne dostupných textových údajov z internetu.
Toto obrovské množstvo údajov umožňuje modelu naučiť sa vzory, gramatiku, kontext a dokonca aj niektoré znalosti zdravého rozumu, čo mu umožňuje vytvárať zmysluplné a koherentné odpovede na otázky používateľov. ChatGPT má jedinečnú schopnosť zapojiť sa do interaktívnej a dynamickej konverzácie s používateľmi, čo z neho robí sľubný nástroj pre širokú škálu aplikácií.
Čo je veľký jazykový model
Veľké jazykové modely sú algoritmy umelej inteligencie, ktoré používajú techniky hlbokého učenia známe ako spracovanie prirodzeného jazyka na čítanie, porozumenie, generovanie a predpovedanie textu.
Keď zadáte otázku, model nevyhľadá odpoveď na internete, ale odpovie vám z hlavy (hoci žiadnu hlavu nemá). Odpoveď generuje po jednom slove, pričom každé ďalšie slovo určuje na základe pravdepodobností odvodených z textových údajov, na ktorých bol vycvičený, a z textu, ktorý doteraz vygeneroval.
11 miliárd parametrov: odpovede na otázky, aritmetika, porozumenie jazyku
Ako je to možné? ChatGPT nepotrebuje hľadať informácie na internete, pretože už všetko vie (teda takmer). Všetky vedomosti dostupné na internete sú zahrnuté do ChatGPT prostredníctvom 175 miliárd parametrov.
62 miliárd parametrov: preklad, uvažovanie zdravým rozumom, dokončovanie kódu
S rastúcim počtom parametrov modelu sa v ňom objavujú nové schopnosti, ktoré neboli nikým zámerne navrhnuté.
540 miliárd parametrov: logické odvodzovacie reťazce, rozpoznávanie vzorov, porozumenie textu
Ako bol ChatGPT vyškolený
ChatGPT bol vyškolený na stovkách tisíc kníh, článkov, dialógov, vrátane:
- WebText2 (rozsiahla knižnica s viac ako 45 terabajtmi textových údajov)
- Cornell Movie Dialogs Corpus (súbor údajov obsahujúci viac ako 200 000 rozhovorov medzi 10 000 filmovými postavami vo filmových scenároch)
- Ubuntu Dialogue Corpus (zbierka 1 000 000 viacslovných dialógov medzi používateľmi Ubuntu a tímom komunitnej podpory)
- miliardy riadkov kódu zo služby GitHub
Najprv bolo GPT umožnené spracovať všetky údaje, ku ktorým mal prístup, bez akéhokoľvek ľudského vedenia, čo mu umožnilo samostatne pochopiť predpisy a súvislosti, ktoré diktujú oblasť textu (to je to, čo sa nazýva "učenie bez dozoru").
Potom sa na doladenie jazykového modelu použila technika nazývaná reinforcement learning so spätnou väzbou od človeka:
- Ľudskí školitelia viedli rozhovory, v ktorých hrali obe strany - používateľa aj asistenta s umelou inteligenciou. Mali prístup k modelovým návrhom, ktoré im pomáhali pri zostavovaní odpovedí. Model bol vycvičený pomocou dolaďovania pod dohľadom, aby predpovedal ďalšiu správu asistenta vzhľadom na históriu dialógu.
- Na vytvorenie modelu odmeňovania pre posilňovacie učenie boli zozbierané porovnávacie údaje. Tréneri umelej inteligencie hodnotili viaceré modelové odpovede podľa kvality, pričom zohľadňovali také veci, ako či odpoveď dávala zmysel a či bola užitočná. Vybrané odpovede sa stali dialógovým súborom údajov s novými správami napísanými modelom.
- Model odmeňovania bol vytvorený pomocou techniky nazývanej modelovanie odmeňovania, pri ktorej bol model vycvičený na predpovedanie kvality odpovede na základe porovnávacích údajov zhromaždených v predchádzajúcom kroku.
Nakoniec sa ChatGPT naučil, ako reagovať v každej situácii, poskytovať presné a relevantné odpovede a vyhýbať sa potenciálne škodlivým témam.
Architektúra Transformer
Proces trénovania ChatGPT zahŕňa predpovedanie nasledujúceho slova vo vete vzhľadom na predchádzajúce slová. Na dosiahnutie tohto cieľa sa používa architektúra Transformer (mimochodom, T v ChatGPT znamená Transformer), ktorá sa skladá z vrstiev mechanizmov vlastnej pozornosti. Vlastná pozornosť umožňuje modelu zvážiť rôzne slová vo vete na základe ich dôležitosti a významu, aby bolo možné presne predpovedať nasledujúce slovo.
Staršie rekurentné neurónové siete (RNN) čítajú text zľava doprava. Hoci to funguje dobre, keď sú príbuzné slová vedľa seba, stáva sa to náročné, keď sú na opačných koncoch vety.
Preto keď RNN pracuje s jednostránkovým textom, v polovici tretieho odseku už "zabudne", čo bolo na samom začiatku.
Naproti tomu transformery dokážu súčasne spracovať každé slovo vo vete a porovnať každé slovo so všetkými ostatnými. To im umožňuje zamerať svoju "pozornosť" na najdôležitejšie slová bez ohľadu na ich pozíciu vo vstupnej sekvencii.
Tokenizácia
Je dôležité poznamenať, že transformery nepracujú s jednotlivými slovami (nevedia čítať ako ľudia). Namiesto toho sa vstupný text rozdelí na jednotlivé tokeny vrátane slov, interpunkčných znamienok a špeciálnych tokenov. Tokeny v ChatGPT sú, čo sú textové kusy reprezentované ako vektory (čísla so smerom a pozíciou).
Blízkosť token-vektorov v priestore určuje úroveň ich asociácie: čím sú bližšie, tým sú príbuznejšie. Okrem toho je pozornosť zakódovaná ako vektor, čo umožňuje neurónovým sieťam založeným na transformátore zachovať kľúčové informácie z predchádzajúcich častí odseku.
Keď používateľ komunikuje s ChatGPT, model dostáva ako vstup históriu konverzácie vrátane podnetov používateľa a odpovedí vytvorených modelom. Vstup sa tokenizuje a potom sa vloží do neurónovej siete. Ku každému tokenu je priradený embedding, ktorý predstavuje jeho význam v kontexte konverzácie.
GPT-3 bol vycvičený na približne 500 miliardách tokenov, čo umožňuje jeho jazykovým modelom ľahšie priradiť význam a predpovedať pravdepodobný následný text ich mapovaním vo vektorovom priestore. Mnohé slová sa mapujú na jednotlivé tokeny, hoci dlhšie alebo zložitejšie slová sa často rozpadajú na viacero tokenov. Tokeny majú v priemere približne štyri znaky.
Vo fáze odvodzovania, v ktorej model generuje odpovede, sa používa proces známy ako autoregresia. To znamená, že model predpovedá po jednom slove, pričom je podmienený históriou konverzácie a predtým vygenerovanými slovami. Na zabezpečenie koherentnosti a relevantnosti generovanej odpovede sa využívajú techniky ako top-p vzorkovanie a teplotné škálovanie.
Stručne povedané, parameter top-p dáva modelu na výber z množiny možností (žetónov), zatiaľ čo teplota určuje pravdepodobnosť výberu určitého žetónu. Ak je teplota nastavená na 0, model si vyberie len "najpopulárnejšie" tokeny (slová, ktoré sa v textových údajoch, na ktoré bol ChatGPT natrénovaný, vyskytujú najčastejšie spolu):
To nie je vždy skvelé. Pri vyšších teplotách sú výsledky rôznorodejšie:
Viac informácií o parametroch ChatGPT: