Det står et tall i modellkortet til Kungliga biblioteket som fortjener mer oppmerksomhet enn det har fått, og det er ikke det de selv satte i overskriften.

KBLab, datalaben ved Kungliga biblioteket i Sverige, publiserte i februar 2025 en samling talegjenkjenningsmodeller for svensk under navnet KB-Whisper. De bygger på OpenAIs Whisper og er finjustert på drøyt 50 000 timer svensk tale. Hovedpåstanden i deres eget modellkort er at den best presterende modellen senker ordfeilprosenten med 47 prosent i snitt sammenlignet med OpenAIs whisper-large-v3.

Det er et godt tall. Det er ikke det interessante.

Det interessante står på midtraden i den samme tabellen.

Ordfeilprosent (WER) på svensk, lavere er bedre. KBLabs egne publiserte målinger. FLEURS og Common Voice lå helt utenfor treningsdataene; NST-testen er en tilbakeholdt del av en innsamling modellen også er trent på.
ModellFLEURSCommon VoiceNST
KB-Whisper large5,44,15,2
KB-Whisper small7,36,46,6
OpenAI whisper-large-v37,89,511,3

KB-Whisper small har lavere feilprosent enn OpenAIs største Whisper-modell. På alle tre testmengdene. Small har 244 millioner parametere, large-v3 har 1,55 milliarder — en faktor på 6,4. KBLab skriver selv at deres small slår ”a model six times its size”.

En sjettedel av parameterne, og den vinner.

Hva tallene faktisk er

WER, word error rate, er andelen ord som blir feil — innsettinger, strykninger og erstatninger regnet mot en fasit og delt på fasitens lengde. Lavere er bedre. 5,4 betyr at drøyt fem ord av hundre ikke stemmer.

De tre kolonnene er tre offentlige testmengder for svensk. FLEURS er Googles flerspråklige korpus, der en håndfull morsmålstalere leser inn de samme setningene på 102 språk. Common Voice er Mozillas innsamlede opptak, hvorav 54 timer er svensk. NST er talekorpusene som ble samlet inn av selskapet Nordisk Språkteknologi, og som i dag forvaltes av Språkbanken ved Nasjonalbiblioteket.

La meg ta 47-prosenttallet fra hverandre, fordi snittet skjuler en spredning som er verdt å se. Sammenlignet med whisper-large-v3 senker KB-Whisper large feilene med 57 prosent på Common Voice, 54 prosent på NST — og 31 prosent på FLEURS. Snittet blir 47. At modellen mer enn halverer feilene stemmer altså på to av tre testmengder, ikke på alle tre. Det er en liten sak. Det er også nøyaktig den typen liten sak som skiller et tall du kan stole på fra et du ikke kan stole på.

Det tynne laget

whisper-large-v3 er ingen dårlig modell for svensk. Den er en modell som skal klare rundt hundre språk, og svensk er ett av dem. Selve forholdet er poenget.

KBLab redegjør i artikkelen sin for nøyaktig hvor tynt laget er. whisper-large-v3 ble trent på 680 000 timer tale. Av dem var 2 119 timer svensk. Det er tre promille.

KBLabs eget korpus ser annerledes ut: 34 261 timer teksted materiale — 18 468 fra SVT, 8 629 fra Svensk mediedatabas og 7 164 fra YouTube — pluss 21 949 timer debatter fra den svenske Riksdagen, 250 timer NST og 54 timer dialektopptak fra Institutet för språk och folkminnen. Til sammen 56 514 timer i det første treningstrinnet.

Tjuesju ganger mer svensk enn basismodellen noen gang fikk høre. Og tallet 50 000 er ikke tilfeldig: KBLab peker på at Whisper-forfatterne selv rapporterte at forbedringen begynner å flate ut et sted der, og bygde korpuset deretter.

Der ligger funnet, og det er ikke et svensk funn:

Når et språk eller et domene ligger tynt i basismodellens treningsdata, kjøper tilpasning mer enn størrelse gjør.

En modell på en sjettedel av størrelsen, med nok av de riktige dataene, slår en seks ganger større som bare fikk tre promille. Det sier ingenting om at svensker skulle være dyktigere enn amerikanere. Det sier noe om hvor den marginale avkastningen ligger når datagrunnlaget er skjevfordelt — og den konklusjonen er overførbar til ethvert domene som er underrepresentert i det modellene er trent på. Fagspråk. Bransjeterminologi. Journalnotater. Bildedomener utenfor internettfotografiet.

Det er også et argument som skjærer rett imot det som er lettest å selge, nemlig den neste større modellen.

Målingen på mitt eget bord

I dag lastet jeg ned KB-Whisper large til en Mac mini og kjørte den.

Det som overrasket meg, var at den planlagte konverteringen ikke trengtes. mlx_audio 0.4.3 leser Hugging Face-formatet direkte: ModelDimensions.from_dict mapper konfigurasjonens d_model og encoder_layers til mlx sine egne navn, og Model.sanitize gir vektene nye navn — encoder.layers. blir encoder.blocks., self_attn.q_proj blir attn.query. KBLabs offisielle safetensors lastes altså som de er, uten at en eneste vekt passerer et konverteringsverktøy. Det finnes tredjepartskonverteringer av den samme modellen på Hugging Face; de ble bevisst valgt bort, fordi opplasterne er ukjente og det ikke finnes noen grunn til å stole på dem når originalen fungerer.

Testen: 40,48 sekunder svensk nyhetsmateriale mot en kjent fasit. Lyden var syntetisk opplest — det er en av de daglige lydbriefene nettstedet selv publiserer — og det har betydning for hvordan resultatet skal leses. Mer om det straks.

Resultat: én feil på 94 ord. 1,1 prosent. Feilen var Xeon, Intels prosessorfamilie, som ble hørt som Action.

Tidene: modellen ble lastet på 13,0 sekunder kald og 1,5 sekunder varm. Selve transkriberingen av de 40,48 sekundene tok 13,3 sekunder første gang og 4,4 sekunder andre — altså 3,0 ganger sanntid kaldt og 9,2 ganger varmt. En talt kommando på ti sekunder blir tekst på omtrent ett sekund når modellen ligger lastet.

KB-Whisper large veier 3,22 GB på disk, small 0,56. Hele kjeden kjører lokalt: talegjenkjenningen, språkmodellen og talesyntesen ligger på den samme maskinen, og ingen av trinnene har en skyreserve. Det er ikke et prinsipp jeg hevder her, bare en beskrivelse av oppsettet.

Hva målingen ikke sier

Her kommer den delen som resten av teksten står og faller med, fordi 1,1 prosent er et tall som er lett å sitere feil.

Én feil på 94 ord er én feil. Usikkerheten rundt et enkelt utfall er bred nok til at tallet ikke meningsfullt lar seg skille fra null eller fra tre prosent. Det er en stikkprøve, ikke en måleserie, og jeg rapporterer det som en stikkprøve.

Alt som er målt, er opplest tale. FLEURS er innleste setninger. Common Voice er innleste setninger. NST består ifølge KBLabs egen beskrivelse av manuskriptleste setninger og enkeltord. Min egen test var ikke engang et menneske som leser, men en talesyntese. Ingenting i materialet sier noe om samtaler, om to personer som snakker i munnen på hverandre, om telefonlyd, om et verksted med maskiner i bakgrunnen eller om noen som avbryter seg selv midt i en setning. Det er der talegjenkjenning normalt bryter sammen, og det er nøyaktig det tilfellet ingen av disse tallene belyser.

Én av de tre kolonnene er hjemmebane. KBLab skriver rett ut at Common Voice og FLEURS ikke inngår i treningsdataene og derfor måler modellens prestasjon utenfor domenet. NST gjør ikke det: 250 timer NST ligger i treningskorpuset, og testen er en tilbakeholdt del av den samme innsamlingen. Det er korrekt metode, og KBLab opplyser om det åpent — men det betyr at NST-kolonnen måler noe annet enn de to andre. Verdt å merke seg: NST gir den nest største gevinsten, 54 prosent, mens FLEURS — den reneste sammenligningen — gir den minste, 31.

Lydfilen var avkortet. Manuset var lengre enn de drøye 40 sekundene som faktisk var spilt inn, og lyden tok slutt midt i en setning. Modellen hallusinerte da en hale: tolv ord ren oppfinnelse etter at lyden ble stille. Regnet over hele partiet fram til klippet gir det 14 feil på 95 referanseord, altså 14,7 prosent i stedet for 1,1. Jeg rapporterer begge tallene, for forskjellen mellom dem er ingen måleusikkerhet, men en kjent egenskap: Whisper-modeller finner på når lyden klippes brått. Den praktiske lærdommen er konkret nok til å være verdt å skrive ned — send hele ytringer til gjenkjenneren, aldri klippede segmenter, og trim stillheten på slutten.

En andre test ble underkjent, og jeg rapporterer ingen tall fra den. Jeg ville vite hvordan modellen håndterer mine egne domeneord — stedsnavn, selskapsnavn og verkstedstermer fra industrien jeg arbeider i. Testen ble gjort med syntetisk tale, og talesyntesen viste seg å ha skrevet om teksten før den ble lest opp: den første linjen forvandlet ett enkelt navn til fire helt andre ord. Dermed måler testen talesyntese og talegjenkjenning i serie, og feilene lar seg ikke skille fra hverandre. Sa syntesen ordet riktig og hørte modellen feil, eller sa syntesen allerede feil? Spørsmålet lar seg ikke besvare ut fra materialet, og et tall derfra ville være oppdiktet presisjon. Testen falt på metoden. Det eneste som kan sies, er at allmennsvensken i den samme lydfilen ble transkribert riktig hele veien. Spørsmålet om domeneordene står fortsatt ubesvart, og det som besvarer det, er et opptak av en ekte stemme.

Og måleren er også den målte. Tabellen er KBLabs egen, laget av det samme laben som bygde modellene, og ingen uavhengig replikering er rapportert. I tillegg kommer en detalj KBLab selv løfter fram som en svakhet: utvalget av treningsdata ble filtrert ved hjelp av whisper-large-v3 — altså med den modellen sammenligningen deretter gjøres mot. Tre testmengder er dessuten tre testmengder. Dette er sterke indisier. Det er ikke et bevis for at modellen er bedre overalt.

Hvorfor det likevel betyr noe

Modellen er fra februar 2025. Den har ligget åpen under Apache 2.0 i drøyt atten måneder, arbeidet ble presentert på Interspeech 2025, og large-versjonen lastes ned i størrelsesorden sytti tusen ganger i måneden ifølge telleren til Hugging Face, avlest 9. september 2026. Ingenting i denne teksten handler om en nylansering, og det er tilsiktet. Et måleresultat eldes ikke på samme måte som en lansering gjør.

Det som gjør sjettedelen interessant, er ikke nasjonalt. Det er at den flytter en grense for hva som lar seg gjøre uten sky. En modell på 0,56 GB som slår en på 3,09, er forskjellen mellom talegjenkjenning som en tjeneste du kjøper og talegjenkjenning som en fil du har. For alt som ikke får forlate huset — pasientlyd, forhandlinger, opptak fra et produksjonsgulv, myndighetsmateriale — er det ingen optimalisering, men en forutsetning.

Og for alle andre som sitter med et materiale som ligger tynt i treningen til de store modellene, peker målingen i en bestemt retning: den billige veien er ikke å vente på den neste større modellen. Den er å ta en mindre og gi den de riktige dataene.

Det er ingen glamorøs konklusjon. Den er bare tilfeldigvis den tallene støtter.

Kilder

  1. Vesterbacka, L., Rekathati, F., Kurtz, R., Sikora, J., Toftgård, A. (2025). Swedish Whispers; Leveraging a Massive Speech Corpus for Swedish Speech Recognition. Proc. Interspeech 2025, 758–762. Herfra: korpusets sammensetning (tabell 1), parametertallene (tabell 2), WER-tabellen (tabell 3), de 680 000 timene hvorav 2 119 svenske, og opplysningene om hvilke testmengder som ligger utenfor treningsdataene.
  2. KBLab, modellkortene for kb-whisper-large og kb-whisper-small, Hugging Face. Lisens, filstørrelser og nedlastingsteller.
  3. Kungliga biblioteket, pressemelding 20. februar 2025.
  4. Egen kjøring på Mac mini 9. september 2026: mlx_audio 0.4.3, KBLabs offisielle safetensors, 40,48 sekunder syntetisk opplest svensk nyhetsmateriale mot kjent fasit. Rådata og skript finnes hos forfatteren.