Prenosimo post dr. Vladice Veličkovića s Causality lab, uz odobrenje autora. Veoma je važno shvatiti kako nastaju ovi alati, kako se razvijaju. Neke analogije kojima se laicima pokušava objasniti vještačka inteligencija i veliki jezički modeli možda zapravo nude pogrešnu sliku. Ovo je mala škola AI – vještačke inteligencije.
Kako je treniran ChatGPT?
Dosta priče na ovu temu, uglavnom naivna pretpostavka je gomila podataka sa neta pohranjena u duboku neuralnu mrežu te je ova progovorila sve jezike sveta. Da je tako lako svaki bi klinac sa Kaggle imao po jedan svoj ChatGPT.
Prvo, šta znači “trenirati” model?
To je postupak u kome developer koristeći ulazne podatke pripremljene za analizu (dakle prevedenih na jezik matematike) pokušava da konstruiše matematički predikcioni model tako da napravi dobar balans između nečega što nazivamo “weights” i nečega što nazivamo “bias” kako bi tzv. cost funkcija tog modela bila što je moguće manja, što bi omogućilo da taj model može da uradi predikciju ishoda na osnovu novih podataka u budućnosti (predvidi tekst koji treba da upotrebi kao odgovor na Vaše pitanje).
“Cost” funkcija je mjera koliko je model pogrešan – razlika između predviđene i stvarne vrednosti ishoda koji model pokušava da predvidi. Ovo jeste tehnički jezik, ali neophodno je da shvatimo da je trening matematičko modelovanje, a ne pasivni proces na gomili podataka. Matematika je ogromno polje, te postoje na hiljade metoda koje mogu biti korišćene za predikcije. U slučaju mašinskog učenja matematičke operacije su automatizovane.
- Korak 1. U ChatGPT slučaju korišten je za bazični trening specifičan tip duboke neuronske mreže zvani autoencoder. Korišten je ogroman materijal sa interneta da bi neuronska mreža naučila da radi predikciju teksta.
- Korak 2. “Instruction Tuning”: u ovom koraku se bazični model testira i svaki nepoželjan odgovor se koriguje na način na koji bi trebalo da ChatGPT odgovori, onda se to vraća u njegovu trening bazu i model popravlja svoju predikciju teksta.
- Korak 3. Deep Reinforcement Learning: kod ovog tipa učenja model treba da stupi u interakciju sa okruženjem (simuliranim) izvodeći radnje da bi dobio nagradu. Cilj modela je da maksimizira svoje nagrade i uči prilagođavajući se na osnovu nagrada. U ovom koraku je ChatGPT bi produkovao nekoliko odgovora na isto pitanje, dok bi osoba zadužena za asistenciju dala ocenu za svaki ponudjeni odgovor na isto pitanje. Npr. 5 odgovora ocenjenih od -2 do +2. Te ocene bi zatim bile korišćene za ponovno trening duboke neuralne mreže, tako da se postigne da odgovore za koje je dobija nagradu (visoke ocene) budu češći, dok odgovori za koje je dobijao kaznu (niže ocene) budu isključeni ili retki.
I ovo je samo ono što je OpenAI do sada objavio javno, ali detalji procesa nisu poznati.
Dakle, mogli biste da dobijete isti ishod ili bolji (AI sličan ChatGPTu) koristeći potpuno drugačiju trening strategiju i drugačije bazične matematičke tehnike.
Takodje sve vaše diskusije sa ChatGPTom biće korišćene za dalji trening ChatGPTa, a pogotovo su dobre one gde na odgovor odreagujete sa like/dislike.
Važno je shvatiti da sve o čemu govorimo je deskripcija matematičkih operacija (nagrada je pojednostavljeno broj minus 2 konektovan za nepoželjni odgovor u bazi podataka, taj nepoželjni odgovor je takodje u numeričkoj formi). Ne postoji nikakav pandam ljudskom mozgu već ogroman broj matematičkih operacija kako biste na prompt koji napišete dobili odgovor.
Ono što jeste fascinantno je da ovakva kompleksna matematička struktura može na tako sofisticiran način da generiše ljudski govor.
Dr. Vladica Veličković naglašava kako postoji mala jezička kvaka. “Model” treniran. To bi značilo da je model postojao, pa je treniran. Osim ako ne koristimo pre-trenirane modele, model se konstruiše tokom inicijalnog treninga. U statistici se koristi bolji i tačniji termin: “derivacija modela” umesto “trening modela”.
mala škola AI, upoznajmo vještačku inteligenciju