Vissza az eszközökhöz

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.

3 perc olvasás

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_language hí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 transcribe a 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.

Címkék
  • beszédfelismerés
  • hang
  • többnyelvű
  • helyi futtatás
  • modell