omateq logo

Vad är en LLM egentligen?

Del 1 i en artikelserie som lär dig mer om LLMer

LLM har på kort tid blivit ett vardagsord. Modellerna skriver, sammanfattar, programmerar och samtalar ett sätt som lätt gör att tekniken känns mer mystisk / magisk än den faktisk är.

Den här artikelserien utgår från en enkel idé: om man skruvar ner hypen och tittar på tekniken blir både styrkor och begränsningar tydliga. Det blir även lättare att se igenom bruset och se vilket håll vi är på väg.

Målet är att ge dig som läsare en stabil och välunderbyggd modell för hur Large Language Models fungerar. En modell som gör det lättare att förstå nya genombrott och att se nästa steg. Serien är uppdelad i fem delar:

  1. Vad är en LLM egentligen?
  2. Var uppstår intelligensen?
  3. Hur tränas modellerna och var ligger kostnaden?
  4. Begränsningar, hallucinationer och missförstånd?
  5. Från modell till system: verktyg, agenter och rekursiva strukturer?

Så vad är en LLM egentligen

LLM används ofta som en synonym för AI. För att förstå tekniken räcker det långt att börja med den mest avskalade beskrivningen av vad modellen gör vid varje steg. LLMer arbetar med enheten Tokens. En token är normalt ett ord eller en del av ett ord (exempelvis kan springande vara två tokens: spring + ande).

I grunden tar en språkmodell en sekvens av dessa tokens och producerar en sannolikhetsfördelning över nästa token. Det kan skrivas som:

f(t₀…tₙ) → P(tₙ₊₁ | t₀…tₙ)

Det betyder att modellen, givet det som redan finns i sekvensen, beräknar vad som mest sannolikt kommer härnäst.

Text blir till steg för steg

När modellen genererar text upprepar den samma procedur:

  1. Först beräknas sannolikheter för nästa token
  2. Sedan väljs en token enligt en strategi som kan vara mer eller mindre deterministisk
  3. Token läggs till i sekvensen
  4. Processen körs igen, nu med en lite längre sekvens

Det är därför modellen kan skapa långa resonemang och sammanhängande texter. Det är också därför kvaliteten ibland varierar. Varje steg bygger vidare på tidigare steg, och små avvikelser / fel kan ackumuleras till något heltokigt.

Lite mer om tokens

I praktiken börjar och slutar allt med text, men inne i modellen behövs ett format som går att räkna på. Neuralnät arbetar med fasta numeriska representationer, så text måste först kodas om till diskreta index som sedan kan mappas till vektorer. Tokens är den uppdelning som gör det möjligt.

Det finns två huvudsakliga skäl till att man inte arbetar direkt med rå text. För det första behöver modellen en ändlig uppsättning symboler att välja mellan vid varje steg. En tokenisering ger ett begränsat “alfabet” som modellen kan ge sannolikheter över. För det andra gör tokens det praktiskt att hantera okända ord, böjningar och sammansättningar. I stället för att behöva ha ett separat tecken för varje tänkbart ord kan modellen bygga upp ord av delar.

Modellen ser alltså tokens, byggstenar som kan vara hela ord, delar av ord eller skiljetecken. Innan texten går in i modellen bryts den ned till tokens. När modellen genererar sker processen i motsatt riktning och tokens byggs upp till text igen.

Den här detaljen påverkar mycket. Den förklarar varför modellen ibland hanterar vissa ordformer elegant, men kan bli klumpig med andra, och varför språk, stavning och struktur kan bete sig på oväntade sätt.

Kontextfönstret är arbetsytan

En central begränsning är kontextfönstret. Det är den maximala mängd tokens modellen kan ta in i ett enskilt anrop. Allt som modellen ska kunna använda i stunden måste rymmas där.

t₀…tₙ är kontexten i uttrycket f(t₀…tₙ). Det är hela token-sekvensen som matas in vid anropet: prompten, instruktioner och eventuell historik som följer med.

Det leder till en praktisk konsekvens: information som hamnar utanför fönstret påverkar inte längre modellen, om den inte förs in igen genom att systemet runt modellen återger den. Det är också här många designmönster uppstår, till exempel sammanfattningar av historik, retrieval, eller externa minnessystem.

Vad finns kvar mellan anrop

I formeln ovan kan man se modellen som själva funktionen f.

Det viktiga är att f under träningen inte är en fast regelbok, utan en stor parametriserad funktion. Under träningen justeras dess parametrar så att funktionen blir bättre på att ta en kontext t₀…tₙ och producera en bra sannolikhetsfördelning för nästa token.

När modellen väl används är f statisk. Parametrarna förändras inte under en session. All ny information som modellen kan använda här och nu måste därför ligga i kontexten, alltså i t₀…tₙ som skickas in vid anropet.

När man säger att en modell har “lärt sig” något syftar man alltså på att informationen har tagit form i de här parametrarna. De fungerar som en komprimerad representation av mönster från enorma textmängder, till exempel språkstruktur, stil, vanliga samband mellan begrepp och typiska sätt att resonera i text.

Det är därför modellen kan svara kompetent i nya situationer utan att ha sett exakt samma fråga tidigare.

Träning och användning bygger på samma grundmekanik

Under träningen får modellen text och optimeras för att bli bättre på att förutsäga nästa token. Under användning gör modellen samma sorts beräkning, men nu är sekvensen som matas in en prompt som oftast innehåller instruktioner.

Man kan skriva träningsuppgiften i samma förenklade stil som tidigare:

träning: fθ(t₀…tₙ₋₁) → tₙ mål: maximera Pθ(tₙ | t₀…tₙ₋₁)

I praktiken görs detta över hela textkorpusen (testmassan), för varje position i varje sekvens. Parametrarna θ justeras så att den token som faktiskt kommer här får högre sannolikhet.

Det är därför en modell vid användning kan fortsätta en prompt på ett sätt som ofta känns strukturerat. Den gör samma typ av prediktion som under träningen, bara med din kontext som startpunkt.

Allt annat ligger runt modellen

Mycket av det vi upplever som kapacitet i moderna AI produkter är systemdesign. Verktygsanrop, minne, agenter, retrieval, flerstegsflöden och rekursion byggs runt kärnan.

Kärnan är fortfarande densamma: en sekvens in, sannolikheter ut, token för token.

När man ser modellen på det sättet blir det lättare att förstå både vad den kan göra bra och vad som blir svårt av princip. Det öppnar också för en mer intressant fråga:

Om kärnan är prediktion av nästa token, varifrån kommer då upplevelsen av intelligens och resonemang?

Den frågan vi till i nästa avsnitt.

Allt gott,

Emil

If you are looking for another cog in the machinery...

There are plenty of other consulting firms that offer those. But if you value key people with stellar development skills that will make a difference for your development team and your business. Then, leave it in our care!

DROP US AN EMAIL
laptop