Kako uči jezički model

Mali jezički model koji uči ovdje, u vašem pregledniku, ispred vas. Ima isti osnovni princip kao ChatGPT: gleda prethodna slova i pogađa koje slovo dolazi sljedeće. Samo je hiljadama puta manji.

1 tekst2 učenje3 kako bira slovo

1. Tekst za učenje

Model zna samo ono što pročita ovdje. Zalijepite svoj tekst. Što ga je više, to bolje.

Sva slova se pretvaraju u mala.
Model ima – parametara (brojeva koje uči)

2. Učenje

Model hiljadama puta pogađa sljedeće slovo, mjeri grešku i malo popravi svoje brojeve.

Korak
0
Greška
–
Sigurnost
–
Koraka/s
–
Greška pokazuje koliko je model „iznenađen“ pravim slovom. Na početku pogađa nasumično (isprekidana linija). Sigurnost je koliku prosječnu vjerovatnoću model daje tačnom slovu.

3. Kako model bira sljedeće slovo

Ovo možete gledati i prije učenja (tada bira skoro nasumično), i tokom ili poslije učenja.

Model gleda samo zadnjih 8 slova:
…i za svako moguće slovo računa vjerovatnoću (prikazano najvjerovatnijih 12):
Onda „baci kocku“: svako slovo dobije dio trake veličine svoje vjerovatnoće, a strelica nasumično padne negdje.
▼
Boja slova = koliko je model bio siguran: nesiguran srednje siguran · pređite mišem preko slova
Kako nastaje riječ: model ne zna riječi, nego ih gradi slovo po slovo:
Za radoznale: kako se tačno računaju postoci?

1. Svako od zadnjih slova pretvori se u niz od 16 brojeva (tabela slova). Ti nizovi se spoje u jedan dugi niz.

2. Taj niz prolazi kroz „skrivene neurone“: svaki neuron pomnoži ulaze svojim težinama, sabere ih i provuče kroz funkciju tanh.

3. Izlazni sloj daje po jedan broj (logit) za svako slovo. Veći broj znači da model više „misli“ da je to slovo sljedeće.

4. Softmax pretvara te brojeve u postotke koji zajedno daju 100%: p = e^(logit / T) / zbir svih e^(logit / T). T je temperatura. Mala T pojačava razlike (model je oprezan), velika T ih izravnava (model je „lud“).

5. Učenje: ako je tačno slovo dobilo mali postotak, greška je velika. Model izračuna u kojem smjeru da pomjeri svaki od svojih brojeva da bi tačno slovo sljedeći put dobilo više (backpropagation), pa ih malo pomjeri. Ponovi to hiljadama puta.