Enhjørningene bodde i Andesfjellene og snakket engelsk. Så langt hadde et menneske kommet. Språkmodellen ga dem en forsker.

Han het Jorge Pérez, var evolusjonsbiolog og kom fra universitetet i La Paz. Snart fortalte han om ekspedisjonen og uttalte seg om dyrenes opphav. Bortsett fra at også Pérez var oppdiktet. Navnet, stillingen og uttalelsene var en del av fortsettelsen GPT-2 skrev i 2019. Forskerne bak modellen valgte denne teksten blant ti forsøk. De hadde gitt den en oppdiktet begynnelse og bedt den fortsette.

Pérez ble dermed historiens kilde. Opplysningene fikk en mann med navn og stilling bak seg, omtrent som i en avisartikkel. Ingen hadde behøvd å finne ham og spørre hva han mente om enhjørningene. Det holdt å skrive ham inn.

GPT-2 gjorde det i små biter. Hver gang en ny bit var valgt, ble den lagt til det som allerede sto der, og modellen beregnet hva som kunne komme etter. Da forskernavnet først var på plass, inngikk det i grunnlaget for de neste setningene. Pérez kunne komme tilbake fordi teksten allerede hadde gitt ham en plass.

Før noe av dette kan skje, må teksten gjøres om til noe en maskin kan regne på. Et program kalt en tokenizer deler den i enheter som kalles token. Vi lot GPT-2s tokenizer ta den norske setningen «En forsker fant en enhjørning.» Den kom ut i elleve biter. Selv «forsker» måtte deles: «fors» og «ker», med mellomrommet foran ordet festet til den første biten. Vår norske prøve.

GPT-2s tokenizer deler setningen i elleve tekstbiter. Tallene under tekstbitene er deres ID-er.

GPT-2: modell og tokenizer

Det er ikke slik vi vanligvis deler opp en setning. Til gjengjeld slipper modellen å ha en egen oppføring for hvert navn og hvert sammensatte ord den kan møte. En bit kan være et helt ord, en del av et ord eller et tegn, og de mindre bitene kan settes sammen til ord som ikke sto i listen fra før. Slike oppdelinger ble utviklet for å få håndtert de sjeldne og ukjente ordene.

Hver tekstbit får et nummer. Det nummeret er en adresse i en tabell, og på adressen ligger en rekke tall modellen har lært under trening. Det er denne tallrekken, kalt en representasjon, modellen arbeider videre med. Å gi teksten et nummer er altså bare oppslaget. Tallene på adressen gjør det mulig å beregne forbindelser mellom tekstbitene.

Et vindu mot gaten er noe annet enn et vindu i nettleseren. Vi trenger teksten rundt for å vite hvilken bruk av ordet vi har med å gjøre, og hva som kan følge. De lærte tallrekkene gir modellen mulighet til å uttrykke fellestrekk mellom måter å bruke språket på, slik at det den lærer fra én formulering, også kan komme til nytte i en annen. Men oppslaget i tabellen er bare et utgangspunkt. Videre beregninger lar resten av teksten påvirke tallrekkene.

I vår norske setning er det punktumet som står sist. Tallrekken ved denne posisjonen skal til slutt brukes til å beregne fortsettelsen. Da hjelper det lite å behandle punktumet som om resten av setningen ikke fantes.

Her kommer attention inn. Det er en beregning som lar opplysninger fra forskjellige tekstposisjoner påvirke hverandre. Modellen omformer tallrekkene og sammenligner dem på tvers av posisjonene. Sammenligningene gir vekter: Hver vekt ganges med en omformet tallrekke fra den tilhørende posisjonen, før resultatene legges sammen. En posisjon langt tilbake kan dermed få mer å si enn en som står rett ved siden av. I GPT-2 går grensen ved teksten frem til den aktuelle posisjonen. Senere tekst får ikke lekke bakover og hjelpe til med beregningen av det som skulle komme før.

Flere slike beregninger foregår parallelt, i hvert sitt attention-hode. Bidragene kombineres, og et annet nettverk bearbeider tallene ved hver posisjon. Til sammen inngår dette i et lag. Deretter fortsetter nye lag arbeidet, hvert med sine egne parametre: de lærte tallene som bestemmer hvordan beregningen skal utføres.

GPT-2 blander informasjon fra de elleve tekstposisjonene ved punktumet i «En forsker fant en enhjørning.». Vektene er fra første lag og første oppmerksomhetshode.

GPT-2: modell og tokenizer

Rekkefølgen må også med. Modellen får opplysninger om hvor tekstbitene står, slik at samme ord på forskjellige steder ikke blir behandlet som om plasseringen var likegyldig. Alle lagene bidrar før den nye tekstbiten kan beregnes.

Pérez går igjen i den ferdige historien, men teksten gir oss ingen oversikt over hvilke attention-beregninger som bidro hvor mye til gjentakelsen.

Til slutt omregnes den bearbeidede representasjonen ved den siste posisjonen til en fordeling over mulige neste tekstbiter. Hver får en beregnet sannsynlighet, og hele fordelingen summerer seg til én. Nå har vi modellens anslag for hva som kan følge, gitt parametrene og teksten den har tilgjengelig. Det er en annen sak enn å beregne om den navngitte forskeren finnes. En usann påstand kan også være en nærliggende fortsettelse.

Så må én bit velges. Vi kan ta den med høyest sannsynlighet, eller trekke blant flere alternativer slik at de mer sannsynlige har større sjanse for å bli valgt. I enhjørningseksemplet trakk systemet fra de 40 høyest rangerte alternativene i hver runde. Det fantes altså flere veier videre, også etter at den samme begynnelsen var gitt.

Da vi lot GPT-2 fortsette den norske setningen, valgte vi derimot alltid tekstbiten med høyest sannsynlighet. Den første var et linjeskift, med 13,4 prosent. Vi la det til teksten og lot modellen beregne på nytt. Nå fikk enda et linjeskift 99,0 prosent. Punktumet og punktumet fulgt av et linjeskift ga svært forskjellige utsikter for hva som skulle komme etter. Vår GPT-2-beregning.

En forsker fant en enhjørning.

Linjeskift13,4 %

Øvrige tekstbiter: 86,6 %

En forsker fant en enhjørning.

Et nytt linjeskift99,0 %

Øvrige tekstbiter: 1,0 %

viser ett linjeskift. «Øvrige tekstbiter» er summen av 50 256 andre alternativer. GPT-2, egen beregning.

Modellen ble ikke trent på nytt mellom de to beregningene. Parametrene lå fast. Det som endret seg, var konteksten, teksten den hadde tilgjengelig, og tallene som ble beregnet fra den. Når Pérez vender tilbake senere i historien, behøver ikke modellen å ha lært ham som en ny og varig opplysning. Navnet står allerede i teksten den fortsetter på.

Under treningen var arbeidet et annet. Da fikk modellen tekst som allerede fantes, og beregnet sannsynligheten for tekstbitene som fulgte. Treningsmetoden målte anslagene mot det som faktisk sto i materialet, og justerte parametrene for å forbedre dem. Over mange eksempler ble de samme beregningene tilpasset stadig flere sammenhenger.

Det er et ganske hendig trekk ved tekst: Etter en begynnelse står det allerede en fortsettelse å måle mot. Materialet leverer mye av sitt eget treningssignal. Ingen trenger først å skrive en regel for hver forbindelse mellom ord eller for hvordan hver sjanger skal bygges opp. Modellen kan lære slike forbindelser fra eksemplene og bruke dem i nye kombinasjoner. At formuleringen er ny, betyr ikke at ordene er tilfeldig satt sammen.

Men å ha lært å fortsette tekst er ikke det samme som å ha lært å utføre en bestilling. En instruksjon kan jo også være begynnelsen på en liste med flere instruksjoner. Da fortsetter modellen listen, mens den som ba om hjelp, venter på at arbeidet skal bli gjort.

I InstructGPT-arbeidet fra 2022 ba forskerne om en fransk fortelling om en frosk som reiste til antikkens Hellas. Grunnmodellen GPT-3 svarte med flere forslag til hva man kunne skrive om. Den ettertrente modellen begynte på historien. Dette var et utvalgt spørsmål fra en egen undersøkelse, flere år etter enhjørningene.

GPT-3 og InstructGPT har 175 milliarder parametere. Svarene er tilfeldig trukket med ulike temperaturinnstillinger. Utdragene er oversatt til norsk.

Ouyang mfl., figur 42 (2022)

Mennesker hadde skrevet eksempelsvar som ble brukt til finjustering, og rangert modellens forslag. En egen vurderingsmodell lærte å forutsi hvilke svar menneskene foretrakk. Deretter ble denne vurderingen brukt som belønning i videre trening av språkmodellen. Parametrene endret seg igjen, nå med en mer bestemt retning enn å produsere en fortsettelse: Modellen skulle svare slik vurdererne ønsket på oppgaven som var gitt.

Ettertreningen endrer hva modellen har lett for å skrive. Ordene kommer fortsatt bit for bit, og hver ny bit blir en del av grunnlaget for den neste.

For enhjørningene var det nettopp en oppdiktet fortsettelse som var bestilt. Pérez behøvde aldri å ha vært i fjellene. Navnet hans fylte en plass i teksten, ble del av konteksten og kunne brukes i de neste beregningene. Dermed hadde de engelsktalende dyrene fått en forsker som kunne uttale seg om dem.