Helyi AI
Whisper
A Whisper nyílt, többnyelvű beszédfelismerő modellcsalád: hangból ír szöveget, felismeri a beszélt nyelvet és angolra is fordít, saját gépen futtatva.
A Whisper nyílt, általános célú beszédfelismerő modellcsalád. Transformer-alapú sequence-to-sequence modell, amelyet arra tanítottak, hogy a hangból közvetlenül szöveget jósoljon: a bemenet log-mel spektrogram, a kimenet tokenek sorozata. Mivel a feladatokat speciális tokenek jelölik, ugyanaz a modell több mindent elvégez: többnyelvű beszédfelismerés, beszédfordítás angolra, a beszélt nyelv azonosítása és beszédaktivitás-érzékelés. Ezért egyetlen modell kiváltja a hagyományos beszédfeldolgozó lánc több lépcsőjét.
A modellcsalád 680 000 óra internetről gyűjtött hangon és a hozzá tartozó átiratokon tanult. Ennek mintegy 17 százaléka nem angol nyelvű hang a saját nyelvén írt átirattal, összesen 98 nyelven, a fennmaradó rész angol vagy angolra fordított anyag. A kisebb és a nagyobb modell közötti választás mindig pontosság és futási igény közötti döntés, ezért érdemes a saját felvételeinken mérni.
Modellek és hardverigény
Hat méret létezik, a kisebbek angolra szakosodott .en változatban is elérhetők:
- tiny (39 M paraméter), base (74 M), small (244 M), medium (769 M): a hivatalos táblázat az első kettőhöz körülbelül 1 GB, a smallhoz 2 GB, a mediumhoz 5 GB GPU-memóriát ad meg.
- large (1550 M): körülbelül 10 GB memóriát igényel, és csak többnyelvű változatban létezik.
- turbo (809 M): a large-v3 futási sebességre optimalizált változata, körülbelül 6 GB memóriával. A turbo nem készült fordításra, angolra fordításhoz a tiny, base, small, medium vagy large modellek valók.
A táblázat értékei A100-on mért angol átírásra vonatkoznak, a valós igényt a nyelv, a beszédtempó és a hardver is befolyásolja. Az angolra szakosodott kisebb modellek angol szövegen általában jobbak, a különbség a small és a medium méretnél már kisebb.
Nyelvfelismerés és kimenet
- A nyelvet a modell magától is felismeri, a
detect_languagehívás valószínűségeket ad vissza. A nyelv kézzel is megadható, ez rövidebb és kiszámíthatóbb futást ad. - Az átírás szegmensekből áll, mindegyikhez kezdő és záró időpont tartozik. A
transcribea teljes fájlt beolvassa, és 30 másodperces csúszó ablakokban, autoregresszíven jósol. - Szószintű időbélyeg is kérhető (a faster-whisperben
word_timestamps=True), ez közelítő, igazításon alapul. - Beszélő-szegmentálás (diarizálás) nincs a modellben: a model card szerint ez külön megtanítandó képesség, vagy külső eszközzel oldható meg.
- A hivatalos megvalósítás rendszerszintű ffmpeg telepítést vár a hang dekódolásához.
Futtatás CPU-n és GPU-n
A referencia megvalósítás PyTorch alatt fut, és CPU-n is elindul, csak lassan. A faster-whisper ugyanezeket a súlyokat futtatja a CTranslate2 következtetési motoron, ami a projekt saját mérése szerint akár négyszer gyorsabb a referenciánál, kevesebb memóriával, és 8 bites kvantálást kínál CPU-n és GPU-n egyaránt. A kód és a súlyok MIT licenc alatt érhetők el.
- 13 perc hangból large-v2 modellel, GPU-n: a referencia 2 perc 23 másodpercet és 4708 MB memóriát használ, a faster-whisper 1 perc 3 másodpercet és 4525 MB-ot.
- Ugyanez int8 kvantálással 59 másodperc és 2926 MB, nyolcas kötegben pedig 16 másodperc és 4500 MB.
- CPU-n, small modellel: a referencia 6 perc 58 másodperc és 2335 MB, a faster-whisper int8 módban 1 perc 42 másodperc és 1477 MB.
- A faster-whisper PyAV-val dekódol, ezért nem kell rendszerszintű ffmpeg. GPU-hoz cuBLAS és cuDNN szükséges a CUDA 12-höz.
- Csend szűrésére a Silero VAD integrált, alapból a két másodpercnél hosszabb szüneteket vágja ki.
A GPU-s gépeken a LM Studio és a gpt-oss nyelvi modelljei ugyanazt a memóriát használják, ezért nálunk a beszédfelismerés és a szöveges modell nem fut egyszerre, vagy a szolgáltatás külön Docker konténert kap.
Korlátok
- A modellek gyenge felügyelettel, zajos adaton tanultak, ezért olyan szöveget is adhatnak, ami nem hangzott el (hallucináció). Ez csendben, zörejben és kevés adattal rendelkező nyelveken gyakoribb.
- A sequence-to-sequence felépítés ismétlődő szövegre hajlamos; a beam search és a hőmérséklet-ütemezés csökkenti, de nem szünteti meg.
- A nyelvi teljesítmény egyenetlen: a model card szerint körülbelül tíz nyelven erős az eredmény, ahol kevesebb tanítóadat van, ott gyengébb.
- A modellek nem valós idejű átírásra készültek, a közel valós idejű használat külön alkalmazásréteget igényel.
- A model card óv a beleegyezés nélkül készült felvételek átírásától és a hang alapján történő osztályozástól.
Tovább olvasás
A CyberElectrónál a beszédfelismerés a saját gépeinken fut: egy Whisper-alapú átíró alkalmazás (faster-whisper család) dolgozza fel a hangot, így a felvétel nem hagyja el a gépet.