Sådan fungerer det

Så hvordan virker det egentligt?

En LLM er et kunstigt neuralt netværk. Grundlæggende er det en samling af tal, eller parametre, forbundet med hinanden, ligesom vores hjerne er en samling af neuroner, eller hjerneceller, forbundet med hinanden.

Internt arbejder neurale netværk kun med tal. Du sender tal ind, og afhængigt af hvordan parametrene er indstillet, kommer der andre tal ud. Men alle former for indhold, såsom tekst eller billeder, kan repræsenteres som tal. Så neurale netværk kan faktisk bruges til alle former for medier. For eksempel bruger selvkørende biler neurale netværk til at behandle visuelle input fra kameraer og andre sensorer, og genererer som ouput kontrolsignaler som “drej 5 grader til højre” eller “brug 20% bremsekraft”.

LLM’er er neurale netværk, der er optimeret til at forstå og generere tekst. Du har måske hørt udtrykkene “token” og “token-grænser”. Et token er et lille stykke tekst, typisk et ord eller en del af et ord. LLM’er læser og genererer tokens internt. Det som du ser, er ord og sætninger. Teknisk set arbejder LLM’er med tokens frem for ord, men jeg vil bare kalde det “ord” i dette kapitel for at gøre det nemmere at forstå.

Lad os sige, at jeg skriver: “Hunde er”. Når jeg sender det til en LLM, bliver det konverteret til tal, behandlet af det neurale netværk, og derefter bliver de resulterende tal konverteret tilbage til tekst. I dette tilfælde er outputtet “dyr”. Så vi får “Hunde er dyr”.

Hvordan bestemmer den sig for ordet “dyr”? Den beregner sandsynligheder for alle mulige næste ord baseret på det input, du gav den, plus de data, den blev trænet på (se næste kapitel for mere info om træning). Den vælger derefter et ord ved at balancere sandsynlighed med en vis tilfældighed for at skabe kreativ variation.

Så en LLM er grundlæggende en “gæt det næste ord”-maskine.

Der foregår faktisk mere end bare statistisk tekstforudsigelse - der sker en vis grad af forståelse. Husker du “Attention is All You Need”-artiklen nævnt i det forrige kapitel? Et af de centrale begreber, der blev introduceret i den artikel, er opmærksomhedsmekanismen.

Tænk på, hvordan du læser en sætning. Din hjerne fokuserer automatisk på de vigtige ord, og springer let hen over de mindre vigtige (som “den”). Det er grundlæggende det, som opmærksomhedsmekanismen gør - den hjælper AI’en med at finde ud af, hvilke dele af teksten der virkelig betyder noget. Hvis for eksempel sætningen “musen spiser af osten” behandles, så hjælper opmærksomhedsmekanismen modellen med at fokusere mere på ordet “spiser” for at forstå, at “mus” henviser til dyret mus frem for en mus til en computer. At forstå relationerne og afhængighederne mellem ord er nøglen til at forstå menneskeligt sprog.

Det interessante er, at hvis vi tager outputtet og kombinerer det med inputtet, og sender det gennem det neurale netværk igen, vil det fortsætte med at tilføje nye ord. Og når vi gentager det, får vi sætninger og afsnit. Det er det, din AI-klient gør, når den svarer på dine prompts.

Her er for eksempel, hvad jeg fik, da jeg skrev: “Generer en kort historie om en flyvende hvalp”.

Max var ikke nogen almindelig hvalp. Mens andre hunde jagede egern og gravede huller i baghaven, brugte Max sine dage på længselsfuldt at stirre op mod himlen. Hans ejere syntes, at det var sødt, hvordan han kunne sidde i timevis og se på fugle, der svævede forbi, men de anede ikke, hvad der faktisk foregik i Max’ lille, lodne hoved. For ser du, Max havde en hemmelighed - en der ville sætte hele kvarteret på den anden ende, hvis nogen nogensinde opdagede den. Denne legesyge golden retriever-hvalp kunne flyve.

Så skrev jeg: “Tilføj en mørk drejning til historien”, og historien fortsatte:

Max’ evne til at trodse tyngdekraften var en kilde til undren og glæde, indtil den dag hvor alt ændrede sig. En kølig efterårsaften, mens Max svævede højt over tagene, fik han øje på noget, der fik hans lille hjerte til at banke af frygt. I skyggerne ved et forladt varehus i udkanten af byen så han mænd i mørke jakkesæt læsse bure ind i varevogne. I burene var der hvalpe - dusinvis af dem, der klynkede og græd. Max indså med en kuldegysning, at dette ikke bare var almindelige hvalpe; de havde alle en overjordisk glød omkring sig, præcis som han selv havde, når han begav sig op i luften. Nogen havde opdaget hemmeligheden om flyvende hunde, og de var i gang med at jage dem én efter én.

Dette kunne i princippet fortsætte i det uendelige ved at tilføje flere prompts.

Så hvordan ved sprogmodellen, hvornår den skal stoppe med at generere? Hvorfor bliver den ikke ved i det uendelige? Tja, den kan genkende naturlige stoppesteder (som slutningen på en historie) eller stoppe, når den rammer en token-grænse. I vores hvalpehistorie stoppede den naturligt efter at have introduceret flyveevnen og igen efter at have afsløret den mørke drejning om hvalpekidnapperne. Hvert svar var en komplet del af en fortælling. Men jeg kunne være blevet ved med at prompte den til at fortsætte historien.

Ræsonneringsmodeller

En måde hvorpå store sprogmodeller er blevet forbedret, er gennem evnen til at ræsonnere. Ræsonnering efterligner den måde, mennesker tænker på.

Lad os tage et eksempel. Du beslutter dig for at skrive en artikel. Hvad gør du først? Du starter sandsynligvis med at tænke over emnet, og identificerer måske nogle vigtige pointer, du vil dække. Så skriver du et udkast, gennemarbejder det nogle gange, beder om feedback, går tilbage og laver ændringer og så videre. Det er en iterativ proces, der involverer, tja, ræsonnering.

Mange af de tidligere sprogmodeller kan ikke ræsonnere. De begynder bare straks at generere tekst, baseret på det, der grundlæggende svarer til AI’ens mavefornemmelse eller intuition. Det er ret bizart, når man tænker over det. Forestil dig, at du er studerende, og du bliver bedt om at skrive en opgave. Men der er et twist: du skal begynde at skrive med det samme, uden at tænke over det, og du skal blive ved med at skrive, indtil du er færdig. Og der er ingen backspace- eller slette-tast på dit tastatur, dvs. at du ikke kan gå tilbage og redigere eller ændre noget!

Det er næsten umuligt for et menneske at gøre. Alligevel klarer de fleste sprogmodeller sig overraskende godt på den måde.

Men når det kommer til mere kompleks problemløsning, har selv sprogmodeller svært ved den arbejdsmetode. Så nyere sprogmodeller (såsom GPT o1) er blevet designet til at ræsonnere. Når du prompter den, svarer den ikke med det samme. I stedet går den ind i en intern løkke, hvor den faktisk taler med sig selv, analyserer problemet og lægger en plan. Og først derefter kommer den med svaret. Meget lig hvordan vi planlægger en opgave, før vi skriver den, eller analyserer et matematisk problem, før vi løser det.

Diagram der sammenligner ikke-ræsonnerende sprogmodeller og ræsonnerende sprogmodeller. Til venstre viser ikke-ræsonnerende sprogmodeller en bruger, der giver en prompt og modtager et svar. Til højre inkluderer ræsonnerende sprogmodeller et ekstra ræsonneringstrin før svaret. Begge sektioner viser en figur, der interagerer med en skyagtig struktur, der repræsenterer sprogmodellerne.

Dette gør modellen noget langsommere, men gør den meget mere kraftfuld. Perfekt til at udføre kompleks problemløsning!

For eksempel brugte jeg i morges GPT o1-modellen til at udrede nogle komplekse skattemæssige problemer i mit firma. Jeg beskrev min situation i detaljer, og hvad jeg ønskede at opnå. Den analyserede min kontekst og analyserede mit lands skattelovgivning, identificerede forskellige muligheder med angivelse af fordele og ulemper, og gav mig nogle meget brugbare råd - den slags råd jeg normalt skulle have betalt en skatterådgiver for at få.