Det står ett tal i Kungliga bibliotekets modellkort som förtjänar mer uppmärksamhet än det har fått, och det är inte det de själva satte i rubriken.
KBLab, datalabbet på Kungliga biblioteket, publicerade i februari 2025 en uppsättning taligenkänningsmodeller för svenska under namnet KB-Whisper. De bygger på OpenAI:s Whisper och är finetunade på drygt 50 000 timmar svenskt tal. Rubrikpåståendet i deras eget modellkort är att den bäst presterande modellen sänker ordfelprocenten med 47 procent i snitt jämfört med OpenAI:s whisper-large-v3.
Det är en bra siffra. Den är inte den intressanta.
Den intressanta står på mittenraden i samma tabell.
| Modell | FLEURS | Common Voice | NST |
|---|---|---|---|
| KB-Whisper large | 5,4 | 4,1 | 5,2 |
| KB-Whisper small | 7,3 | 6,4 | 6,6 |
| OpenAI whisper-large-v3 | 7,8 | 9,5 | 11,3 |
KB-Whisper small har lägre felprocent än OpenAI:s största Whisper-modell. På alla tre testmängderna. Small har 244 miljoner parametrar, large-v3 har 1,55 miljarder — en faktor 6,4. KBLab skriver själva att deras small slår ”a model six times its size”.
En sjättedel av parametrarna, och den vinner.
Vad talen faktiskt är
WER, word error rate, är andelen ord som blir fel — insättningar, strykningar och ersättningar räknade mot ett facit och delade med facitets längd. Lägre är bättre. 5,4 betyder att drygt fem ord av hundra inte stämmer.
De tre kolumnerna är tre offentliga testmängder för svenska. FLEURS är Googles flerspråkiga korpus med ett par modersmålstalare som läser in samma meningar på 102 språk. Common Voice är Mozillas inläsningar, varav 54 timmar är svenska. NST är de talkorpusar som samlades in av företaget Nordisk Språkteknologi och som i dag förvaltas av Språkbanken vid Nasjonalbiblioteket i Norge.
Låt mig ta 47-procentssiffran isär, eftersom snittet döljer en spridning som är värd att se. Jämfört med whisper-large-v3 sänker KB-Whisper large felen med 57 procent på Common Voice, 54 procent på NST — och 31 procent på FLEURS. Snittet blir 47. Att modellen mer än halverar felen stämmer alltså på två av tre testmängder, inte på alla tre. Det är en liten sak. Det är också precis den sortens lilla sak som skiljer en siffra man kan lita på från en man inte kan lita på.
Det tunna lagret
whisper-large-v3 är ingen dålig modell för svenska. Den är en modell som ska klara ett hundratal språk, och svenska är ett av dem. Det är själva förhållandet som är poängen.
KBLab redovisar i sin artikel exakt hur tunt lagret är. whisper-large-v3 tränades på 680 000 timmar tal. Av dem var 2 119 timmar svenska. Det är tre promille.
KBLab:s egen korpus ser annorlunda ut: 34 261 timmar undertextat material — 18 468 från SVT, 8 629 ur Svensk mediedatabas och 7 164 från YouTube — plus 21 949 timmar riksdagsdebatter, 250 timmar NST och 54 timmar dialektinspelningar från Institutet för språk och folkminnen. Sammanlagt 56 514 timmar i det första träningssteget.
Tjugosju gånger mer svenska än basmodellen någonsin fick höra. Och siffran 50 000 är inte godtycklig: KBLab pekar på att Whisper-författarna själva rapporterade att förbättringen börjar plana ut någonstans där, och byggde korpusen därefter.
Där ligger fyndet, och det är inte ett svenskt fynd:
När ett språk eller en domän ligger tunt i basmodellens träningsdata köper anpassning mer än storlek gör.
En sjättedels modell med tillräckligt med rätt data slår en sex gånger större som bara fick tre promille. Det säger ingenting om att svenskar skulle vara skickligare än amerikaner. Det säger något om var den marginella avkastningen sitter när underlaget är snedfördelat — och den slutsatsen är överförbar till varje domän som är underrepresenterad i det modellerna tränats på. Fackspråk. Branschterminologi. Journalanteckningar. Bilddomäner utanför internetfotot.
Det är också ett argument som skär rakt mot det som är lättast att sälja, nämligen nästa större modell.
Mätningen på mitt eget bord
I dag laddade jag ner KB-Whisper large till en Mac mini och körde den.
Det som överraskade mig var att den planerade konverteringen inte behövdes. mlx_audio 0.4.3 läser Hugging Face-formatet direkt: ModelDimensions.from_dict mappar konfigurationens d_model och encoder_layers till mlx:s egna namn, och Model.sanitize döper om vikterna — encoder.layers. blir encoder.blocks., self_attn.q_proj blir attn.query. KBLab:s officiella safetensors laddas alltså som de är, utan att en enda vikt passerar ett konverteringsverktyg. Det finns tredjepartskonverteringar av samma modell på Hugging Face; de valdes bort medvetet, eftersom uppladdarna är okända och det inte finns något skäl att lita på dem när originalet fungerar.
Provet: 40,48 sekunder svenskt nyhetsmaterial mot ett känt facit. Ljudet var syntetiskt uppläst — det är en av de dagliga ljudbriefer sajten själv publicerar — och det har betydelse för hur resultatet ska läsas. Mer om det strax.
Resultat: ett fel på 94 ord. 1,1 procent. Felet var Xeon, Intels processorfamilj, som hördes som Action.
Tiderna: modellen laddades på 13,0 sekunder kall och 1,5 sekunder varm. Själva transkriberingen av de 40,48 sekunderna tog 13,3 sekunder första gången och 4,4 sekunder andra — alltså 3,0 gånger realtid kallt och 9,2 gånger varmt. Ett talat kommando på tio sekunder blir text på ungefär en sekund när modellen ligger laddad.
KB-Whisper large väger 3,22 GB på disk, small 0,56. Hela kedjan körs lokalt: taligenkänningen, språkmodellen och talsyntesen ligger på samma maskin, och inget av stegen har en molnreserv. Det är ingen princip jag hävdar här, bara en beskrivning av uppsättningen.
Vad mätningen inte säger
Här kommer den del av texten som resten står och faller med, eftersom 1,1 procent är en siffra som är lätt att citera fel.
Ett fel på 94 ord är ett fel. Osäkerheten kring ett enda utfall är bred nog att talet inte meningsfullt går att skilja från noll eller från tre procent. Det är ett stickprov, inte en mätserie, och jag redovisar det som ett stickprov.
Allt som mätts är uppläst tal. FLEURS är inlästa meningar. Common Voice är inlästa meningar. NST består enligt KBLab:s egen beskrivning av manuskriptlästa meningar och enstaka ord. Mitt eget prov var inte ens en människa som läser, utan en talsyntes. Ingenting i materialet säger något om samtal, om två personer som talar i mun på varandra, om telefonljud, om en verkstad med maskiner i bakgrunden eller om någon som avbryter sig själv mitt i en mening. Det är där taligenkänning normalt går sönder, och det är precis det fall som ingen av de här siffrorna belyser.
En av de tre kolumnerna är hemmaplan. KBLab skriver rakt ut att Common Voice och FLEURS inte ingår i träningsdatan och därför mäter modellens utomdomänprestanda. NST gör det inte: 250 timmar NST ligger i träningskorpusen, och testet är en undanhållen del av samma insamling. Det är korrekt metod och KBLab redovisar det öppet — men det betyder att NST-kolumnen mäter något annat än de två andra. Värt att notera: NST ger den näst största vinsten, 54 procent, medan FLEURS — den renaste jämförelsen — ger den minsta, 31.
Ljudfilen var beskuren. Manuset var längre än de dryga 40 sekunder som fanns inspelade, och ljudet tog slut mitt i en mening. Modellen hallucinerade då en svans: tolv ord ren uppfinning efter att ljudet tystnat. Räknat på hela partiet fram till klippet blir det 14 fel på 95 referensord, alltså 14,7 procent i stället för 1,1. Jag redovisar båda talen, för skillnaden mellan dem är ingen mätosäkerhet utan en känd egenskap: Whisper-modeller hittar på när ljudet klipps abrupt. Den praktiska lärdomen är konkret nog att vara värd att skriva ner — skicka hela yttranden till taligenkänningen, aldrig klippta segment, och trimma tystnaden i slutet.
Ett andra prov underkändes, och jag redovisar ingen siffra från det. Jag ville veta hur modellen klarar mina egna domänord — ortnamn, bolagsnamn och verkstadstermer från industrin jag arbetar i. Provet gjordes med syntetiskt tal, och talsyntesen visade sig ha skrivit om texten innan den lästes upp: första raden förvandlade ett enda namn till fyra helt andra ord. Därmed mäter provet talsyntes och taligenkänning i serie, och felen går inte att skilja åt. Sade syntesen ordet rätt och hörde modellen fel, eller sade syntesen redan fel? Frågan går inte att besvara ur materialet, och en siffra därifrån vore påhittad precision. Provet föll på metoden. Det enda som kan sägas är att allmänsvenskan i samma ljudfil transkriberades rätt rakt igenom. Frågan om domänorden är fortfarande obesvarad, och det som besvarar den är en inspelning av en riktig röst.
Och mätaren är också den mätta. Tabellen är KBLab:s egen, framtagen av samma labb som byggde modellerna, och någon oberoende replikering finns inte redovisad. Till det kommer en detalj som KBLab själva lyfter som en svaghet: urvalet av träningsdata filtrerades med hjälp av whisper-large-v3 — alltså med den modell jämförelsen sedan görs mot. Tre testmängder är dessutom tre testmängder. Det här är starka indicier. Det är inte ett bevis för att modellen är bättre överallt.
Varför det ändå betyder något
Modellen är från februari 2025. Den har legat öppen under Apache 2.0 i drygt arton månader, arbetet presenterades på Interspeech 2025, och large-versionen laddas ner i storleksordningen sjuttiotusen gånger i månaden enligt Hugging Faces räknare vid läsning den 9 september 2026. Ingenting i den här texten handlar om ett nysläpp, och det är avsiktligt. Ett mätresultat åldras inte på samma sätt som en release gör.
Det som gör sjättedelen intressant är inte nationellt. Det är att den flyttar en gräns för vad som går att göra utan moln. En modell på 0,56 GB som slår en på 3,09 är skillnaden mellan taligenkänning som en tjänst man köper och taligenkänning som en fil man har. För allt som inte får lämna huset — patientljud, förhandlingar, inspelningar från ett produktionsgolv, myndighetsmaterial — är det ingen optimering utan en förutsättning.
Och för alla andra som sitter med ett underlag som ligger tunt i de stora modellernas träning pekar mätningen åt ett bestämt håll: den billiga vägen är inte att vänta på nästa större modell. Den är att ta en mindre och ge den rätt data.
Det är ingen glamorös slutsats. Den råkar bara vara den som siffrorna stöder.
Källor
- 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. Härifrån: korpusens sammansättning (tabell 1), parametertalen (tabell 2), WER-tabellen (tabell 3), de 680 000 timmarna varav 2 119 svenska, och beskeden om vilka testmängder som ligger utanför träningsdatan.
- KBLab, modellkorten för kb-whisper-large och kb-whisper-small, Hugging Face. Licens, filstorlekar och nedladdningsräknare.
- Kungliga biblioteket, pressmeddelande 20 februari 2025.
- Egen körning på Mac mini den 9 september 2026:
mlx_audio0.4.3, KBLab:s officiella safetensors, 40,48 sekunder syntetiskt uppläst svenskt nyhetsmaterial mot känt facit. Rådata och skript finns hos författaren.