Steg 4
king − man + woman = queen
Ta talen som betyder kung. Dra bort man. Lägg till kvinna. Du landar på drottning. Det är vanlig subtraktion, inte en liknelse. Nedan tränas modellen som klarar det, från noll, i din webbläsare.
I steg 3 blev texten tokens, men siffrorna betydde ingenting. Token 412 låg inte närmare 413 än 9000. Nu får varje token 32 tal i stället för ett, och träningen flyttar runt dem tills orden hamnar där de hör hemma. Ingen talar om för modellen vad ett ord betyder. Den ser bara vilka ord som brukar stå bredvid varandra.
Det tar ungefär fyra sekunder. Titta på kartan under tiden.
Kartan medan den ritas
24 ord ur korpusen. Färgerna är vår indelning. Modellen har aldrig fått veta att pizza och pasta hör ihop.
Tryck på Träna embeddings så börjar orden röra sig.
Varje ord har 32 tal, och bara två av dem får plats på en skärm. Kartan visar den vinkel där orden sprider ut sig mest, resten faller bort. Grannlistorna längre ner räknas på hela vektorerna, så lita på dem före avstånden här.
Räkna med ord
Träna modellen först, så går det att räkna.
Den första analogin fungerar. De fyra andra gör det inte. king − man + woman landar på queen i 26 körningar av 40, med en likhet kring 0.65. Frö 42, det du får utan att kryssa i rutan längst upp, är ett av dem där den träffar. Kryssa i rutan och kör om några gånger, så ser du de andra.
Att den missar två gånger av fem är inget fel på demon. Det är vad 34 sagor och 2 900 ord räcker till. Word2Vec-papperet från 2013 tränade på sex miljarder.
Närmaste grannar
Träna modellen först.
De tre första fungerar. doctor får teacher och nurse på 0.79, bread får meat, cheese och rice. Ingen har berättat för modellen att det finns yrken eller att det finns mat.
De två sista visar var det tar slut. king får också teacher som närmaste granne, och det beror på samma sak: i våra sagor står kungar och lärare på samma plats i meningen. Modellen har lärt sig var i en mening ett ord brukar hamna, och på 34 sagor räcker den ledtråden inte längre än så.
Temat till steg 6: platt jord
I steg 3 bad jag er rösta på vad modellen ska tränas på. Det kom in för få röster för att kalla det en omröstning, så jag valde själv: platt jord. Korpusen skrivs den här veckan och modellen tränas den 26 augusti.
Det är valt med flit. En språkmodell har ingen uppfattning om vad som är sant, bara om vad som brukar stå bredvid vad. Ger man den text där jorden är platt skriver den att jorden är platt, med samma tonfall som den annars hade skrivit motsatsen. Modellen i steg 6 kommer alltså att påstå felaktiga saker, och det är meningen.
Vad som hände
Algoritmen heter Word2Vec och gör en enda sak. Gå igenom texten, dra varje ord närmare sina grannar och bort från några slumpade ord, börja om. Hundra varv senare ligger orden på plats. Det är precis det som händer i en vektordatabas när du söker semantiskt, och det avgör om en RAG-lösning hämtar rätt dokument eller fel.
Men varje ord har fortfarande bara en betydelse. Banken i "jag gick till banken och tog ut pengar" och banken i "vi satt på banken i parken" får exakt samma 32 tal, för modellen läser ett ord i taget. Det tar vi i steg 5.