omateq logo

Del 4: Begränsningar, hallucinationer och missförstånd

I vår artikelserie om hur en LLM fungerar egentligen har vi nu kommit till det fjärde och näst sista avsnittet.

Syftet med artikelserien är att öppna upp den svarta lådan och ge dig som läsare en konkret bild av hur modellerna fungerar. Och varför de inte fungerar, vilket råkar vara temat för denna veckas artikel.

Det är nu alltså dags att vända på perspektivet. Om man förstår hur modellen faktiskt fungerar kan man också förstå var och varför den riskerar att misslyckas. De flesta begränsningar och problem vi ser är inte slumpmässiga buggar utan direkta konsekvenser av arkitektur.

Hallucinationer är ett sannolikhetsutfall

Termen hallucination har blivit ett paraplybegrepp för allt som en LLM "hittar på". Även om termen är fantasieggande så är det en missvisande metafor. Där mänskliga hallucinationer är avvikelser från normalt beteende som har sin uppkomst i sjukdom, droganvändning, osv är LLMers tendens att ibland avge felaktiga svar en direkt konsekvens av hur de är byggda och med andra ett normalt (om än felaktigt) beteende.

Vad som händer mer precist:

Modellen väljer i varje steg den token som är mest sannolik givet kontexten. Det finns i det läget ingen verifikation av att vald token korresponderar mot ett faktum i världen utanför kontexten.

Det kan beskrivas som att modellen optimerar för koherens, snarare än korrekthet. En text som hänger ihop stilmässigt och strukturellt är mer sannolik än en text som är faktamässigt korrekt men syntaktiskt avvikande. I de flesta fall sammanfaller dessa; texter som hänger ihop är också mer vanliga i träningsdatan. Men vid ovanliga frågor, domäner där tillgången på data är tunn eller ledande formuleringar, kan de divergera.

Resultatet är att modellen med hög konfidens kan generera plausibla men felaktiga fakta: påhittade referenser, icke-existerande lagar, osv.

Konfidensproblemet: modellen vet inte vad den inte vet

Ett besläktat problem är kalibrering. En välkalibrerad sannolikhetsmodell bör ha hög osäkerhet i sina prediktioner i de fall då den har tillgång till liten information. Textmodeller tenderar tyvärr att vara dåligt kalibrerade i detta avseende.

Förklaringen är återigen strukturell. Under träningen optimeras modellen mot sannolikheten för rätt token, inte mot att uttrycka osäkerhet. Det finns ingen direkt signal som belönar tveksamhet som korrelerar med faktisk korrekthet.

Vi har i tidigare avsnitt diskuterat formeln fθ(t₀…tₙ₋₁) som tydligt visar att modellen när den genererar sitt svar endast tillgång till:

Kontexten (t₀…tₙ₋₁) och θ där θ är en komprimerad representation av mönster i träningstext, inte en strukturerad faktabas.

Konsekvensen blir att en modell kan formulera sig med identisk säkerhet när den svarar korrekt om något välbelagt som när den genererar ett hallucinerande påstående om något den aldrig sett.

Det finns fine-tuning-tekniker som delvis adresserar detta såsom RLHF (Reinforcement Learning from Human Feedback) där mänsklig feedback på genererade svar belönar modellen för att uttrycka osäkerhet i rätt lägen. Även om detta kan minska sannolikheten för problem så löser det inte det underliggande problemet. Modellen är fortfarande en sannolikhetsförskjutning, inte en verifieringsmekanism.

En liknande teknik som vi tar upp i nästa artikel är att lägga verifiering i ett separat lager utanför kärnmodellen. Även detta kan minska risken för fel men inte lösa grundproblemet eftersom faktagranskarmodellen har samma inbyggda problem som kärnmodellen.

Kontextfönstret är inte ett minne

En vanlig missuppfattning är att kontextfönstret fungerar som ett minne där modellen "minns" vad som sagts. Precis som med termen hallucinationer är detta en vilseledande analogi.

Kontextfönstret är modellens arbetsyta vid ett enskilt anrop. Allt inom detta fönster används i beräkningen medan ingenting utanför kontextfönstret existerar för modellen i det anropet. Tidigare konversationer eller implicit bakgrundskunskap från tidigare sessioner hamnar utanför om det inte explicit inkluderas.

Det finns alltså inget tredje lager med "minne utöver kontexten" vilket syns i formeln

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

där t₀…tₙ är hela informationsunderlaget. θ är statisk.

Den praktiska konsekvensen blir alltså att modellen inte kan kontrollera konsistens mot något den sa för tio anrop sedan om den inte fått det returnerat i kontexten.

Så varför löser man inte detta genom att helt enkelt inkludera mer i kontexten såsom fler tidigare konversationer?

Därför att kontext är kostsamt. Attention-mekanismen i transformatorarkitekturen bygger på skalärprodukter som beräknas för förhållandet mellan samtliga tokens baserat på den ena tokens query vektor (vad letar jag efter?) och den andra tokens key vektor (vad erbjuder jag?). En hög skalärprodukt indikerar att en token är av hög relevans för den andra token.

Det här innebär att när antalet token fördubblas, exempelvis från 10 till 20 så behöver 400 skalärprodukter beräknas i stället för 100 (något förenklar men konceptuellt korrekt). Med andra ord stiger kostnaden per anrop snabbt med kvadraten av antalet tokens.

Det är just det här gapet som motiverar arkitekturer med externt minne, retrieval-augmented generation och sammanfattningssystem. De kompenserar för vad kontextfönstret inte kan vara men precis som i fallet med hallucinationer så påverkar de inte vad modellen faktiskt är.

Positionseffekter och kontextblindhet

Som jag har skrivit om tidigare så är det inte säkert att modellen utnyttjar all information uniformt även om den ryms i kontextfönstret. Forskning visar att transformatormodeller tenderar att ge högre uppmärksamhet åt tokens i början och i slutet av kontexten. Information placerad mitt i en lång kontext löper risk att viktas lägre.

Det kallas ibland lost in the middle och är ett direkt utfall av hur attention-mekanismen fungerar. Attention-vikterna beräknas relativt alla tokens i kontexten, men forskning har visat att kausal maskning, positional encodings och träningsdistributionen gör att extrempositionerna tenderar att dominera. Att extrempositionerna tenderar att dominera spåras till att de flesta texter naturligt har sin viktigaste information i början och slutet. Modellen har alltså lärt sig att extrempositioner statistiskt sätt bär mer signal.

Konsekvensen är att ett systems verkliga kontextkapacitet är lägre än det nominella fönstret antyder. En modell med 128 000 tokens kontext kan fungera utmärkt på information som lagts tidigt eller sent, men mer opålitligt på information som hamnat i mitten av en lång prompt.

Symbolisk manipulation utan semantisk förankring

En sista strukturell begränsning handlar om vad det faktiskt innebär att arbeta med tokens.

Tokens är diskreta symboler. Relationen mellan symbol och mening är inte inbyggd utan emergent ur träning. Det fungerar för de flesta naturliga språkuppgifter eftersom det finns enormt mycket data men det kan skapa problem i domäner där den symboliska representationen är tätt förknippat med implicit struktur:

  • Aritmetik. Siffror är tokens. Modellen lär sig mönster för hur räkneoperationer brukar se ut i text, men den utför inte beräkningar i en numerisk motor. Den interpolerar sannolikheter.
  • Spatiala och topologiska resonemang. Begrepp som "ovanför", "innanför" eller "roterad 90 grader" finns i text, men den stabila geometriska representation som krävs för att härleda konsekvenser av dem kräver mer än språkliga mönster.
  • Formell logik med högt djup. Tidiga felaktiga sannolikhetsval i resonemangskedjor med många steg ackumuleras i en lång chain-of-thought och kan ge fullständigt avvikande slutsatser.

Sammanfatting: vad är inte en hallucination?

För att sammanfatta så uppstår felaktiga påståenden av samma mekanism som korrekta påståenden: sannolikhetsmaximering givet kontexten. Det är inte ett problem som helt försvinner med mer träning i sig. Mer data och större modeller förbättrar täckning och kalibrering i genomsnitt, men löser inte det principiella problemet att modellen inte har tillgång till en extern sanningskälla vid generering.

Dessa begränsningar är konsekvenser av vad modellen är: en sannolikhetsmaskin tränad på text, utan ett separat verifieringslager, utan persistent minne, utan tillgång till världen bortom träningsdatan och den givna kontexten.

Det är också just det som gör nästa fråga intressant. Om modellen i sig inte kan verifiera, minnas eller agera, hur bör man gå till väga när man bygger system runt den?

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