Whistle: Tale-til-tekst på 16,9 MB – raskere enn Whisper base, men ikke på norsk
Cactus Compute har pakket en flerspråklig talegjenkjenner inn i én fil som er mindre enn et gjennomsnittlig feriebilde. Den trenger ingen GPU. Den trenger heller ikke å forstå norsk, viser det seg.
Hva Whistle er
Whistle er en åpen tale-til-tekst-modell fra Cactus Compute, sluppet 2. oktober under Apache 2.0-lisens. Hele modellen er én fil på 16,9 MB, kvantisert ned til 2–4 bit, og kjører på CPU i den samme motoren som selskapet bruker for sin lille språkmodell Needle. Ingen avhengigheter, ingen grafikkort.
Til sammenligning er Whisper base fra OpenAI rundt 140 MB. Cactus sier selv at Whistle «stort sett slår» Whisper base med en niendedel av filstørrelsen og seks ganger høyere hastighet.
Hva den kan
Modellen tar inn 16 kHz monolyd, opptil 30 sekunder om gangen, og gjenkjenner språket automatisk. Du kan også tvinge et språk hvis du vet hva som kommer. Støttede språk er engelsk, tysk, fransk, spansk, italiensk, nederlandsk og polsk.
Det er tre detaljer som gjør den mer interessant enn bare «liten Whisper». For det første får hvert ord start, slutt og sannsynlighet, hentet fra dekoderens egen attention, slik at en app kan markere, spole eller klippe på ordnivå. For det andre kan du gi den en liste med nøkkelord – navn og fagtermer brukerne dine faktisk sier – som den skal favorisere. Og for det tredje returnerer den tom tekst ved stillhet, i stedet for å dikte opp setninger slik Whisper er beryktet for.
Den kan også levere bare encoder-utdataene som tale-embeddings, nyttig hvis du vil matche eller søke i lydklipp uten å transkribere dem.
Tallene – og forbeholdene
På en Apple M4 Pro-CPU måler Cactus 11 millisekunder til første token og rundt 1300 tokens i sekundet. Det er raskt nok til at transkripsjonen i praksis føles øyeblikkelig for korte klipp.
Feilraten er der det blir mer nyansert. Ifølge Cactus' egen blogg leder Whistle på LibriSpeech, SPGISpeech, Earnings-22 og FLEURS-snittet, mens Whisper base vinner på TED-LIUM, møteopptakene i AMI og flerspråklige MLS. Med andre ord: ren opplest tale og finansprat går fint, mens rotete møterom fortsatt er vanskelig for en modell på 17 MB. Alle tallene er leverandørens egne.
Grensen på 30 sekunder betyr også at lengre opptak må deles opp før de sendes inn.
Prøv selv
Installasjonen er én linje:
pip install cactus-needle
Deretter laster du modellen fra Hugging Face og sender inn en lydfil. Med word_timestamps=True får du tidsstempler per ord, og language="de" låser språket.
Brukere har allerede foreslått den som backend i lokale dikteringsverktøy som Handy og VoxType, der lav ventetid på vanlig CPU er hele poenget.
For norske brukere
Norsk står ikke på listen, og det er den viktigste begrensningen for oss. Whistle er et godt eksempel på hvor små og raske talemodeller har blitt, og den er verdt å se på hvis du bygger noe for engelsk eller et av de andre seks språkene, på Raspberry Pi, mobil eller annen svak maskinvare. Trenger du norsk, er Whisper-familien fortsatt veien å gå. Vi har skrevet om flere alternativer, blant annet CrisperWhisper 2.0 og sanntidsmodellen R2T2, som heller ikke kan norsk ennå.
Ressurser
- Whistle på Hugging Face – modellkort, lisens og eksempler
- Whistle: Speech to Text in 16.9 MB – Cactus' egen gjennomgang med arkitektur og benchmarks
- Needle på GitHub – motoren Whistle kjører i