Svaka riječ gleda sve ostale.
Vodič kroz transformere, arhitekturu na kojoj počivaju današnji jezični modeli. Krenimo od jedne rečenice i pogledajmo kako je model čita.
Prijeđite mišem preko riječi ili je dodirnite. Težine su ilustrativne: pravi model ima desetke slojeva i mnogo glava pažnje.
Što je transformer
Transformer je vrsta neuronske mreže predstavljena 2017. godine. Prije njega jezični modeli čitali su tekst riječ po riječ, slijeva nadesno, i usput zaboravljali početak dugih rečenica.
Transformer čita cijeli niz odjednom. Za svaku riječ izračuna koliko su joj važne sve ostale i od toga gradi njezino značenje u kontekstu. Taj korak zove se samopažnja.
Budući da se sve riječi obrađuju istodobno, treniranje se može raspodijeliti na tisuće grafičkih procesora. Upravo je to omogućilo današnje velike modele.
Kako radi pažnja
Svaka riječ dobiva tri vektora: upit, ključ i vrijednost. Upit pita što riječ traži, ključ govori što nudi, a vrijednost nosi sam sadržaj.
Riječ usporedi svoj upit s ključevima svih ostalih riječi, rezultate funkcijom softmax pretvori u postotke i zbroji vrijednosti prema tim postocima.
Pažnja(Q, K, V) = softmax(QKT / √dk) V
Dijeljenje s √dk nije ukras. Skalarni produkti rastu s dimenzijom vektora, a preveliki brojevi tjeraju softmax da gotovo svu pažnju preda jednoj riječi.
Pažnja riječi „bila”
Isti rezultati usporedbe, različito skaliranje.
Arhitektura, sloj po sloj
Tokenizacija
Tekst se dijeli na tokene, cijele riječi ili njihove dijelove. „Preumorna” može postati „pre” i „umorna”.
Vektorske reprezentacije
Svaki token pretvara se u vektor od nekoliko stotina ili tisuća brojeva. Slične riječi dobivaju slične vektore.
Pozicijsko kodiranje
Pažnja sama po sebi ne zna redoslijed riječi, pa se svakom položaju dodaje jedinstven uzorak valova.
Višeglava pažnja
Nekoliko glava paralelno gleda istu rečenicu. Jedna prati gramatiku, druga značenje, treća udaljene veze.
Unaprijedna mreža
Svaki token zasebno prolazi kroz malu neuronsku mrežu koja obrađuje ono što je pažnja skupila.
Rezidualne veze i normalizacija
Ulaz svakog podsloja dodaje se njegovu izlazu. Zahvaljujući tome slojevi se mogu slagati u desetke.
Izlaz
Nakon posljednjeg sloja model daje vjerojatnost za svaki mogući sljedeći token i bira jedan od njih.
Kratka povijest
- 2014.
Mehanizam pažnje pojavljuje se u neuronskom strojnom prevođenju, još kao dodatak rekurentnim mrežama.
- 2017.
Rad „Attention Is All You Need” predstavlja transformer: model bez rekurencije, izgrađen samo od pažnje.
- 2018.
BERT i prvi GPT pokazuju da se jedan model, prethodno treniran na velikoj količini teksta, može prilagoditi gotovo svakom jezičnom zadatku.
- 2020.
GPT-3 pokazuje koliko donosi samo povećanje modela, a Vision Transformer dijeli sliku na komadiće i čita ih kao riječi.
- 2022.
Konverzacijski asistenti dovode jezične modele do stotina milijuna ljudi.
- Danas
Isti osnovni blok pokreće modele za tekst, slike, zvuk i programski kod.
O projektu
Ovo je moj osobni projekt. Učim strojno učenje i ovu stranicu radim usput, kao bilježnicu kakva mi je trebala na početku.
Sve vizualizacije rade izravno u pregledniku, bez kolačića i bez praćenja.
Stranica se postupno nadopunjuje. Sljedeće na redu su dekoder, maskirana pažnja i način na koji modeli generiraju tekst token po token.