Ett hemmabygge, hösten 2026

Peppen som ska flytta in i telefonen

Del 1 · Vad vi bygger och hur det gårUppdateras medan träningen pågår · senast 4/10 23:13

Vad det är

Anders bygger Yatzy Crown, ett yatzyspel för mobilen. Efter varje parti mot en annan spelare skriver appen en kort kommentar om hur det gick: en mening eller två som lyfter fram något verkligt ur partiet. Vi kallar den peppen.

I dag skrivs peppen av Gemini, Googles stora språkmodell, i molnet. Appen skickar ett sammandrag av partiet, och Gemini skickar tillbaka meningen. Det här projektet ska lära en liten, öppen språkmodell att skriva samma sorts pepp, så att den kan köras direkt i telefonen.

Sammandraget som skickas
Din poäng229
Motståndarens poäng123
Övre delen (63 krävs)69
Bonus, marginal6
Mot den här motståndaren4–1
Tärningarnatydligt över väntat
Ditt snitt193,8
“A solid upper section secured the bonus by 6 points, powering a dominant win over Lisa and lifting your record against them to 4-1. 🎯”
Peppen som Gemini skrev. Sammandraget har 56 uppgifter; här visas ett urval. Varje siffra i peppen finns i sammandraget. Lisa står för motståndaren: modellen skriver en platshållare, och appen sätter in det riktiga namnet.

Peppen är på engelska. Engelska är första språket för den lilla modellen; de andra språken fortsätter att gå via Gemini tills vidare.

Varför vi bygger den

Den ska fungera utan nät. Yatzy spelas på tåget och i sommarstugan. Med en modell i telefonen kan peppen skrivas även i flygplansläge.

Den ska inte kosta per parti. Varje anrop till Gemini kostar en liten summa. En modell i telefonen kostar ingenting att köra, hur många partier som än spelas.

Partiet stannar i telefonen. När meningen skrivs på telefonen behöver sammandraget av partiet aldrig skickas någonstans.

Gemini blir kvar som reserv tills den lilla modellen bevisligen är lika bra. Det är Anders som avgör det, i ett blindtest: samma parti med två peppar sida vid sida, utan att veta vilken som är vilken.

Vad en språkmodell är

En språkmodell gör en enda sak: givet en text gissar den nästa lilla bit text, om och om igen. En sådan bit kallas token och är ofta en halv eller en hel stavelse. Peppen ovan är 37 tokens. Modellen skriver den genom att gissa 37 gånger i rad, och varje gissning bygger på allt som står före.

Gissningarna kommer ur modellens parametrar: miljontals eller miljardtals tal som har justerats under träningen. Fler tal ger mer allmänbildning. En modell som ska rymmas i en telefon måste klara sig med väldigt få.

Staplarna växer tiofaldigt för varje steg, annars skulle de små modellerna inte synas alls.

Men peppen kräver ingen allmänbildning. Modellen behöver inte veta vem som vann Melodifestivalen. Den behöver kunna en enda sak väl: läsa ett sammandrag av ett yatzyparti och skriva en träffande mening om det.

Hur den lär sig, i korthet

Vi tränar inte från noll. Det skulle kräva enorma mängder text och miljontals kronor i datorkraft. Vi lånar i stället en färdig, öppen modell som redan kan engelska, och lär den bara att låta som Yatzy Crowns pepp. Gemini är läraren, den lilla modellen är eleven.

1
Läraren skriverDatorn hittar på 8 000 trovärdiga partier. Gemini skriver en pepp till vart och ett, precis som i appen.
2
Eleven härmarDen lilla modellen får se sammandrag och pepp, sida vid sida, och justerar sina tal tills den skriver likadant.
3
Domaren kontrollerar1 000 nya partier som eleven aldrig sett. Varje pepp den skriver granskas automatiskt.

Eleven ändrar inte alla sina tal. Med en metod som heter LoRA fryses hela den lånade modellen, och bara ett litet tillägg tränas: sju till tio miljoner tal, ett par procent av modellen. Det gör att träningen ryms på ett vanligt grafikkort hemma, ett RTX 2080 Super på 8 GB i Anders stationära Ubuntu-dator, och tar ungefär en halvtimme per modell.

Koden räknar, modellen formulerar

En liten modell hittar lättare på saker än en stor. Därför får den aldrig räkna själv. Allt som är siffror tas fram av vanlig kod och står färdigt i sammandraget: snitt, svit, bonusmarginal, rank i världen. Även turen är redan bedömd i ord, till exempel «tydligt bättre än väntat», så att modellen inte behöver tolka några råa tal. Modellen väljer bara vad den ska lyfta fram och hur det ska låta.

Efteråt kontrollerar en faktavakt varje pepp: varje siffra i texten måste gå att hitta i sammandraget. Avrundningar är tillåtna, liksom skillnader och procent av sammandragets egna tal. Men står det 68 procent och sammandraget säger 69, då är det fel.

Tre kandidater

Det finns många små öppna språkmodeller. Vi valde tre, alla med licensen Apache 2.0, som tillåter att modellen används och säljs i en app utan villkor om intäkter eller användning. Flera kända modeller föll bort just på licensen, bland annat Googles Gemma och Metas Llama, som har egna villkor.

ModellFrånParametrarLäge
SmolLM2-360MHugging Face360 miljonerklar: 97,6 % klarar alla kontroller, 1,8 % hittar på en siffra
Granite 4.0 350MIBM350 miljonerklar: 99,1 % klarar alla kontroller, 0,5 % hittar på en siffra
Qwen3 0.6B BaseAlibaba (Qwen)600 miljonerklar: 98,6 % klarar alla kontroller, 0,6 % hittar på en siffra

SmolLM2 kommer från Hugging Face, den stora mötesplatsen för öppna AI-modeller, och släpptes i november 2024. Den är byggd för att vara liten från början och har förtränats på ungefär 4 biljoner tokens, mest engelsk text.

Granite är IBM:s modellfamilj för företag. Den minsta versionen av Granite 4.0 släpptes hösten 2025 och är avsedd att köras på telefoner och andra små enheter.

Qwen3 kommer från Alibabas forskningslag Qwen och släpptes i april 2025. Den har förtränats på omkring 36 biljoner tokens på 119 språk. Vi använder basversionen, den som bara har läst text och ännu inte lärt sig att föra samtal. Med 0,6 miljarder parametrar är den den största av de tre, och som färdig fil blir den lite för stor för målet på 300 MB. Den är med för att visa vad den extra storleken ger.

Resan

Hur det går

Måttet bestämdes innan träningen startade, så att resultatet inte kan tolkas i efterhand. En kandidat vinner om den på 1 000 nya partier hittar på en siffra i färre än 1 av 100 peppar, och om minst 97 av 100 klarar alla kontroller. Bland vinnarna går den minsta vidare till Anders blindtest.

Hur fel eleven gissar under träningen, mätt på 317 exempel som den inte tränar på. Talet är ett mått på förvåning: hur oväntad Geminis riktiga pepp är för modellen, ord för ord. Lägre är bättre. Kurvan planar ut när det mesta som går att lära är inlärt.

SmolLM2: 97,6 % av peppen klarar alla kontroller, men 18 av 1 000 hittar på en siffra (1,8 %). Gränsen var under 1 %, så SmolLM2 klarar inte måttet som det skrevs i förväg.

Granite: 99,1 % av peppen klarar alla kontroller, men 5 av 1 000 hittar på en siffra (0,5 %). Gränsen var under 1 %, så Granite klarar måttet som det skrevs i förväg.

Qwen3: 98,6 % av peppen klarar alla kontroller, men 6 av 1 000 hittar på en siffra (0,6 %). Gränsen var under 1 %, så Qwen3 klarar måttet som det skrevs i förväg.

Vad den skriver

Här är peppar som SmolLM2 skrev till partier den aldrig hade sett.

Rätt
“A 50-point Yatzy sealed the win against Lisa, pushing your 219 well past your 190 career average. 🎲”
Yatzyn, 219 poäng och snittet 189,7 stämmer.
Rätt
“A 218-175 win over Lisa powered by a lucky roll and 40 points on Large Straight! 🎲”
Resultatet, den stora stegen och turen stämmer.
Fångad av faktavakten
“The dice were clearly against you with four strikes, but your 68% win rate against Lisa still holds strong.”
Två fel på en gång. Spelarens vinstandel i alla partier är 69 procent, och mot Lisa bara 41 procent. Modellen blandade ihop två siffror och avrundade fel.
Fångad av faktavakten
“A 50-point Yatzy and a brand new personal best of 241! That shatters your old record by 10 points. 🎉”
Det gamla rekordet var 230, så marginalen är 11. Eleven försöker räkna, och det är just det den inte ska göra.
Missad av faktavakten
“Four strikes including Yatzy made it a tough uphill climb against Lisa, but your 121 still beats your 134 career average.”
Båda siffrorna finns i sammandraget, så faktavakten släpper igenom den. Men 121 slår inte 134. Sådana fel syns bara när en människa läser, och det är därför blindtestet finns.

Vad som händer sedan

När alla kandidater är mätta väljer Anders vilken som går vidare. Sedan kommer blindtestet mot Gemini. Klarar den lilla modellen det komprimeras den: varje tal sparas med färre bitar, och filen krymper till 200–250 MB. Den laddas ned till telefonen första gången den behövs, inte med appen. Till sist mäts hur snabbt den skriver på riktiga telefoner, både nya och gamla.

Frågor och svar

Är det ChatGPT?

Nej. Det är en liten öppen modell som vi tränar själva för en enda uppgift. Den kan inte svara på frågor eller föra samtal, bara skriva pepp om ett yatzyparti. Koden är skriven tillsammans med Claude, Anthropics AI-assistent, men modellen i telefonen är vår egen.

Varför inte bara fortsätta med Gemini?

Gemini skriver bra pepp, och det är därför den är lärare. Men den kräver nät, kostar per anrop och tar emot sammandraget av varje parti. En modell i telefonen gör ingetdera.

Kan den hitta på saker?

Ja, det är den stora risken med små modeller, och därför är hela bygget format kring den. Koden räknar ut alla siffror i förväg, faktavakten stoppar peppar med siffror som inte finns, och en pepp som inte klarar kontrollen visas inte. Då tar appen Gemini eller en färdig mening i stället.

Hur skiljer det sig från Juno och Vali?

Juno och Vali lärde sig spela helt själva, utan att se en enda människa spela. Det kallas förstärkningsinlärning. Peppmodellen lär sig i stället genom att härma en lärare. Det är samma sätt som de stora språkmodellerna lär sig skriva, fast i miniatyr och för en enda uppgift.

Varför bara engelska?

För att börja smalt. Yatzy Crown finns på 49 språk, och varje språk behöver egna exempel och en egen läsare som kan bedöma tonen. Engelska går först. Fungerar det kommer fler språk samma väg.

Träningen pågår på en Ubuntu-dator med ett RTX 2080 Super, 8 GB. Korpusen: 8 000 syntetiska partier, 7 819 efter faktavakten, skrivna av Gemini 3.5 Flash Lite för 5,15 dollar. Måttet: 1 000 partier som ingen modell tränat på, en pepp var, granskad automatiskt.