Grunnlag

Hvordan språkmodeller fungerer

En forklaring uten matematikk: hvordan en språkmodell gjetter seg frem ett ord om gangen, hva attention egentlig er, og hvorfor den kan være overbevisende selv når den tar feil.

Forklaringer på hvordan store språkmodeller fungerer er ofte skrevet for folk med teknisk bakgrunn. Denne er ikke det.

Du trenger verken matematikken eller de tekniske detaljene. Du trenger bare den riktige intuisjonen for å forstå hva de gjør og hva de ikke gjør. Og det starter med et enkelt spørsmål: Hva skjer egentlig når du skriver noe inn i en chatbot som ChatGPT?

Før vi starter, prøv å gjette ordet jeg tenker på:

?

Hva gjettet du? Det er veldig mange ord å velge mellom. Du har sannsynligvis feil. Så det var ikke helt fair. La meg gi deg et hint, ordene rett før:

medseg?

Hjelper det? Ikke så mye. La meg gi deg litt mer:

hantokmedseg?

Du klarer nok ikke å bestemme deg ennå. La meg gi deg resten:

Detbegynteåregne,såhantokmedseg?

Nå tenker du nesten helt sikkert «paraplyen». Og det er riktig!

Hva var hele poenget? Ordene som kom før er ledetråder. De gjør visse neste ord mer sannsynlige, og du gjorde en kvalifisert gjetning basert på de mest sannsynlige ordkombinasjonene. Jo flere ord du får se, desto lettere er det å gjette riktig.

Hvis du velger det mest sannsynlige ordet og legger det til slutten av setningen, har du nettopp generert et nytt ord. Og hvis du fortsetter å se tilbake på den voksende listen av ord og velger sannsynlige ord, kan du generere setninger, så avsnitt, så hele dokumenter.

Det er akkurat det en språkmodell gjør. Det er det hele.

Tenk deg nå at du ikke bare har én setning å jobbe med, men alt jeg noensinne har sagt eller skrevet. Hver samtale, tekstmelding, e-post, kommentar. Alt lagt ut foran deg, og du har evnen til å fordøye det hele. Da ville du kjent mønstrene mine. Du ville visst hvilke ord jeg favoriserer, at setningene mine ser helt annerledes ut når jeg er entusiastisk enn når jeg tviler, og hvilke temaer jeg stadig vender tilbake til. Sjansen for at du gjettet mitt neste ord riktig ville skutt i været.

Det er trikset bak språkmodeller: De har ikke blitt trent på dine tekster spesifikt, men de har blitt trent på en absurd mengde tekst skrevet av mennesker generelt. Milliarder av setninger, dokumenter, bøker, artikler og samtaler. Som om noen ga dem tilgang til alt menneskeheten har skrevet, og sa: «Lær deg mønstrene.» Og det gjorde de. Derfor er de så overraskende gode til å gjette. Ikke fordi de forstår hva de sier, men fordi de har sett så mange eksempler på hva mennesker pleier å si i akkurat den typen situasjon.

Språkmodeller gjetter seg frem, ord for ord

La oss se på et litt mer komplisert eksempel:

Forførstegangløphungjennomdenlange,mørke?

Du siktet deg nok inn mot «gangen», som er riktig. Men legg merke til noe: Ordet «gang» finnes allerede i setningen, med en helt annen betydning enn «gangen» du nettopp gjettet. I «første gang» betyr det en forekomst. Men «gangen» i svaret betyr et fysisk rom. Samme grunnord, to helt ulike ting.

Hvorfor lot du deg ikke lure? Fordi ikke alle ord i setningen påvirket gjetningen din like mye. Du ga mer vekt til noen ord enn andre. Helt intuitivt.

Når?HandlingHvem?RetningBeskriver stedet!Forførstegangløphungjennomdenlange,mørke?
Ikke alle ordene betyr like mye for gjetningen.

«Første» og «gang» hører sammen som et fast uttrykk om tid. «Lange» og «mørke» svarer på «hva slags sted er dette?», og peker mot et fysisk rom. «Gjennom» forsterker dette. Du løper gjennom noe fysisk.

Du jobbet deg gjennom hvordan ordene påvirker hverandre, fikk en følelse av hva som var viktig og hva som var uviktig, og brukte dette til å kvalifisere gjetningen din. Husk denne følelsen. Vi kommer tilbake til den.

Hvert ord du gir en språkmodell er en ledetråd, og jo flere ledetråder den har, desto bedre gjetter den. Alt den lærte under trening er som et stort, litt uklart bibliotek i bakhodet. Det meste stemmer, men noen hyller er rotete. Teksten du sender inn er som en beskjed noen nettopp hvisket til den. Jo mer presis beskjeden er, desto bedre vet den hvor i biblioteket den skal lete.

Det er her «prompting» kommer inn, som du kanskje har hørt om. Vi skal ikke gå i dybden på det her, men tenk på det slik: Hvis du selv skulle gjettet deg frem, slik som i eksemplene over, hvilken kontekst hadde du trengt for å klare det? Språkmodellene trenger ikke like mye kontekst, men det er en fin forenklet mental modell å ha.

historiematelefantersportmusikkgeografikunstteknologimedisinpolitikklitteraturmotefilmnaturfilosofijusarkitekturpsykologiøkonomibiologispråkfysikkdansreiser
Din prompt prioriterer og styrer
↓
relevantpresistfokusert
Fokusert svar
Konteksten du gir, snevrer inn hvor i «biblioteket» modellen leter.

En annen ting: språkmodeller tenker ikke slik vi tenker. De vet ikke alt, de husker ikke alt riktig. De har egentlig ingen forståelse av hva de skriver, eller noe forhold til ting. De bare gjetter seg fremover, ett ord om gangen.

De prøver å gjette det du vil høre

Når du stiller et spørsmål, gjetter språkmodellen seg frem til noe som ligner et svar. Ofte treffer den riktig, fordi fakta rett og slett dukker opp oftere i tekst enn usannheter. Men det er ingen garanti. Og hvis du leter etter bekreftelse snarere enn sannhet, vil den gjerne gi deg det også. Den gjetter det du vil høre, enten du har rett, tar feil, eller er på vei ned i et kaninhull.

Hvis du bruker en chatbot, bør du alltid ha to ting i bakhodet:

  1. Chatboten prøver å gjette ordene du har lyst til å lese.
  2. Chatboten tenker ikke over konsekvensene av ordene sine, hva du prøver å oppnå, hvorfor du vil ha svaret, eller hva som skjer med deg hvis den gjetter feil.

Hvis du vil stoppe å lese nå, har du allerede den intuisjonen du trenger for å beskytte deg mot å overvurdere hva disse modellene kan uten ekstra systemer rundt.

Hvordan fungerer det egentlig?

For de som fortsatt vil gå litt dypere, la oss se nærmere på hva som faktisk skjer mellom det du skriver inn og det du får tilbake. Det kan vi gjøre helt uten å dra inn matematikk eller diagrammer av nevrale nettverk.

Hva skjer inni en språkmodell når jeg skriver inn en setning som:

Forførstegangløphungjennomdenlange,mørke?

Språkmodeller er en type kunstig nevralt nettverk som kalles en Transformer. Den tar ordene dine og transformerer dem gjennom flere steg til noe den kan gjette videre fra. La oss ta det steg for steg.

Ord blir til tall

Alt begynner med at ordene dine blir gjort om til tall. Hvert ord (eller del av et ord) slås opp i en tabell som gir en lang rekke tall. Tenk på det som ordets koordinater i et stort rom. Denne prosessen kalles embedding.

Embedding: ord blir til tallrekker
Lignende begreper ender ofte opp nær hverandre i tallrommet.
«gangen»
−0.73+1.42−0.08+0.91−1.20+0.34+0.67−0.55+1.08−0.19…
Ligger ofte nær: korridoren, tunnelen
«tunnelen»
−0.68+1.35+0.11+0.84−1.09+0.41+0.59−0.47+0.96−0.25…
Ligger ofte nær: gangen, korridoren
«skogen»
+1.31−0.46+0.07−0.62+0.29−1.15−0.30+1.13−0.71+0.56…
Ligger ofte nær: parken, trærne
Tallene er illustrative. Ekte embeddinger kan ha negative verdier, og likhet måles på helheten. Forenklet: her vises 10 av typisk 768–12 000 dimensjoner.

Tallrekkene er hundrevis eller tusenvis av tall lange. Vi viser bare noen få her for å gi en følelse av hvordan det ser ut. Men husk: Fra nå av er hvert ord bare en lang rekke med tall.

Og de tallene fanger opp overraskende mye mening. Hvis du tegner ordene som punkter i dette tallrommet, havner ord som brukes i lignende sammenhenger nær hverandre. Men det stopper ikke der. Ta tallrekken for «konge». Trekk fra «mann». Legg til «kvinne». Resultatet? Du havner gjerne nær «dronning». Det samme mønsteret kan dukke opp for andre relasjoner også: «Paris» minus «Frankrike» pluss «Italia» kan gi deg «Roma». Ingen har lagt inn disse sammenhengene manuelt. De oppstår fordi disse tallene blir finjustert litt og litt, om og om igjen, mens modellen lærer. Etter hvert begynner de å speile mønstre i hvordan vi faktisk bruker språk. Hvilke ord som hører sammen, og på hvilke måter.

Slik kan du se for deg dette visuelt: Hvert ord får en start-vektor (en tallrekke). Og hvis vi tegner vektorene som punkter i et stort «tallrom», havner ord som ofte brukes i lignende sammenhenger gjerne nær hverandre.

Embedding: forenklet 2D-kart
Lignende begreper ender opp nær hverandre i et høydimensjonalt rom, her projisert ned til 2 dimensjoner.
Passasje / romNatur / utendørsBevegelseKongeliglangt unnanærgangentunnelenkorridorenpassasjenskogenstiendalenløpgjennomkongedronning
Figuren er forenklet. I virkeligheten har rommet hundre- til tusenvis av dimensjoner.

Men denne oppslagstabellen ser bare på ett ord om gangen. Den vet ingenting om setningen rundt. Det betyr at «gang» får de samme tallene uansett om det står i «første gang» eller «en lang, mørk gang». Ordet får sin startposisjon uten å ta hensyn til konteksten.

Så hvordan klarer modellen å skille mellom dem? Det er her neste steg kommer inn.

Ordene ser på hverandre

Husk da du gjettet «gangen». Du brukte ikke alle ordene like mye. «Lange» og «mørke» var viktigere enn «for» og «første». Du ga ulik vekt til ulike ord. Det er akkurat det neste steg gjør, og det kalles attention.

Attention lar hvert ord «se på» alle ordene som kom før det og finne ut hvilke som henger mest sammen med det den skal skrive nå. Den gir mer vekt til ordene som betyr mest, og mindre til resten. Dette skjer ikke bare én gang. Modellen har flere «attention-hoder» som fokuserer på ulike typer sammenhenger samtidig.

0.030.050.080.350.250.820.450.780.75Forførstegangløphungjennomdenlange,mørke?
  • «gjennom» (0,82) sterkeste signal: man går gjennom et rom
  • «lange, mørke» (0,78 / 0,75) og «den» (0,45) beskriver rommet
  • «løp» (0,35) og «hun» (0,25) handlingen og hvem
  • «for første gang» (0,03–0,08) tidsuttrykk: sier når, ikke hva som kommer
Modellen er forenklet. Vektene er illustrative.

At dette ligner setningsanalyse fra skolen er ingen tilfeldighet. Men modellen har ingen pene merkelapper som forklarer hva forholdet er. Den har bare lært at disse ordene trekker i hverandre.

Og det er her «gang» endelig får sin betydning. Når «gang» ser på «første», blir det dyttet i retning av tid og forekomst. Når det manglende ordet ser på «lange», «mørke» og «gjennom», blir det dyttet mot et fysisk sted. Etter attention har de to «gang»-ene blitt til helt ulike tallrekker, fordi konteksten har trukket dem i ulike retninger.

Modellen bygger opp forståelse i lag

Attention og en videre bearbeiding av resultatet gjentas mange ganger. For hver runde blir konseptene mer sammensatte. Først kobles enkle ordpar. Etter noen runder har modellen bygget opp noe som ligner et indre bilde: en jente som løper gjennom en lang, mørk gang for aller første gang.

«for første gang»«en lang, mørk gang»
Lag 0 · start (embedding)
for · første · gang
en · lang, mørk · gang
Lag 1 · litt kontekst
gang (= tid/antall?)
gang (= fysisk sted?)
Lag 2 · mer kontekst
for første tidsuttrykk → gang forekomst, hendelse
en lang, mørk beskriver rommet → gang korridor, passasje
Lag 3 · betydningen blir tydelig
gang = én forekomst
gang = korridor
Samme ord, ulike representasjoner: «gang» blir «forekomst» til venstre og «korridor» til høyre.
Modellen er forenklet. Attention og videre bearbeiding gjentas i mange lag.

Prøv dette: Se for deg ordet «gang» i setningen «for første gang». Se så for deg en lang, mørk gang du må løpe gjennom. Du har to helt ulike bilder i hodet. Det er dette modellen gjør gjennom alle disse rundene. Den bygger opp unike representasjoner som skiller mellom ting vi mennesker bruker samme ord for.

Fra ledetråder til neste ord

Når modellen har bearbeidet teksten gjennom alle rundene, må den bestemme hva som kommer neste. Den lager en poengsum for hvert mulig ord i ordlisten sin. Jo høyere poengsum, jo bedre passer ordet som fortsettelse. Poengsummene gjøres om til sannsynligheter som til sammen blir 100 prosent.

Poengsummer og sannsynlighet
«For første gang løp hun gjennom den lange, mørke ___»
gangen38 %
tunnelen16 %
korridoren11 %
passasjen9 %
skogen8 %
parken7 %
  • «gangen» scorer høyest: en lang, mørk passasje man løper gjennom.
  • «parken» scorer lavt: «den lange, mørke parken» er uvanlig og forekommer sjelden.
Modellen er forenklet.

Utvelgelse

Den enkleste løsningen er å alltid velge det mest sannsynlige ordet. Da blir teksten trygg, men monoton og ofte for generisk. Derfor velger mange systemer heller et ord ved å trekke fra sannsynlighetene. Ord med høy sannsynlighet velges oftere, men ikke alltid. Det gir mer variasjon og en mer naturlig flyt, slik at modellen ikke svarer helt likt hver gang.

tilfeldig tall: 0,22
gangen38 %tunnelen16 %korridoren11 %passasjen9 %skogen8 %parken7 %andre11 %
0 %100 %
1Sannsynligheter

Hvert ord får en plass på tallinjen basert på scoren. Større sannsynlighet gir større felt.

2Trekk et tall

Modellen trekker et tilfeldig tall mellom 0 og 1. Tallet lander i ett av feltene, og det ordet velges.

3Gjenta

Valgt ord legges til teksten, og hele prosessen kjører på nytt for neste ord.

Resultat«For første gang løp hun gjennom den lange, mørke gangen.»
Modellen er forenklet. Derfor kan en chatbot svare litt ulikt på samme spørsmål; «temperatur» styrer hvor tilfeldig trekningen er.

Systemet har innstillinger som påvirker hvor tilfeldig valget blir. Det kan begrense valget til de mest sannsynlige alternativene og justere hvor mye variasjon som er lov. Derfor kan samme spørsmål gi litt ulike svar.

Når ordet er valgt, legges det til teksten, og hele prosessen kjører på nytt for neste ord.

Det var det

Ordene dine blir til tall. Tallene ser på hverandre og finner sammenhenger. Sammenhengene bygges opp lag for lag til rike ledetråder. Ledetrådene blir til poengsummer. Det beste ordet velges. Og så gjentar det seg.

Alt annet er fancy matematikk som får denne intuisjonen til å virke i praksis.

Noen implikasjoner

Nå som vi forstår prosessen, kan vi snakke om hva det betyr i praksis.

Flere ord betyr flere ledetråder. Jo mer spesifikk bestillingen din er, og jo mer relevant kontekst du gir, desto bedre blir svaret. Men for mye irrelevant info kan dra den i feil retning.

Språkmodeller fungerer best når du vet nok til å vurdere om svaret er riktig. Hvis du ikke har det, bør du sjekke svaret mot andre kilder. Se på språkmodeller som ett verktøy i verktøykassen, ikke løsningen på alt.

Språkmodeller er ikke pålagt å snakke sant.

Chatbotene får gjerne instruksjoner om å gi faktiske, riktige svar. Men det er bare flere ord, flere ledetråder som dyttes i riktig retning. Det finnes ingen del av selve prosessen som sjekker om noe er sant før det sendes ut.

Noen ganger blir feil ord koblet sammen. Det gir villedende ledetråder, som fører til dårlige gjetninger. Et dårlig valgt ord legges til teksten, blir en del av konteksten, og fører til enda flere feil. Og modellen har ingen måte å gå tilbake og si «ops, jeg tok feil». Den bare kjører på.

I 2025 sanksjonerte en føderal dommer i Alabama tre advokater etter at de leverte inn rettsdokumenter som inneholdt oppdiktede juridiske referanser generert av ChatGPT. Referansene så helt troverdige ut, med saksnumre, sitater og kildehenvisninger, men ingen av dem eksisterte. Modellen hadde gjettet seg frem til hva en rettsavgjørelse sannsynligvis ville hete og inneholde, og gjettet feil. Den er kjip.

Når dette skjer, kaller vi det en hallusinasjon.

Det er irriterende (eller morsomt) når vi oppdager det. Men når vi ikke oppdager det, er vi i farlig farvann uten å vite det. Vi kan ende opp med å ta viktige avgjørelser basert på informasjon som ikke stemmer med virkeligheten.

Det finnes stadig bedre mekanismer for å redusere hallusinasjoner. Som å la modellen resonnere steg for steg, søke i eksterne kilder, eller dobbeltsjekke sine egne svar. Men ingen av disse er vanntette. Hallusinasjoner er ikke et løst problem, og du bør aldri anta at svaret du får er riktig uten å sjekke det.

Språkmodeller gjetter hva du vil høre. De treffer ofte bra. Jo bedre ledetråder, desto større sjanse for treff. Men det er aldri en garanti, og de kan være svært overbevisende selv når de tar feil. De har ingen «tells» eller kroppsspråk som avslører dem, slik mennesker har når de lyver.

I neste artikkel dykker vi dypere ned i hallusinasjoner og hvordan du kan oppdage og forebygge dem.

Først publisert .

← Alle artikler