Instructions to use sarpba/whisper-base-hungarian-soup with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use sarpba/whisper-base-hungarian-soup with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="sarpba/whisper-base-hungarian-soup")# Load model directly from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq processor = AutoProcessor.from_pretrained("sarpba/whisper-base-hungarian-soup") model = AutoModelForSpeechSeq2Seq.from_pretrained("sarpba/whisper-base-hungarian-soup", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Whisper Base Hungarian Soup
Magyar nyelvre finomhangolt openai/whisper-base modell, amely két korábbi finomhangolás súlyátlagolásával (model soup) készült.
A modell a 90%-ban a whisper-hu-base-finetuned-V2 és 10%-ban a whisper-base-hungarian_v4 súlyaiból áll — és mindkét alapmodellnél jobban teljesít.
Hogyan készült — a merge részletei
A módszer: súlyátlagolás (model soup)
Mindkét alapmodell ugyanabból az openai/whisper-base súlykészletből indult, ezért a hálózati topológiájuk és a state dict kulcsaik azonosak. A merge minden egyes paraméterre kiszámolja a súlyozott átlagot:
w_merged = α · w_V2 + (1 − α) · w_V4
minden rétegre és paraméterre külön-külön (encoder, decoder, embeddignek, fejek — a teljes state dict).
Az arány keresése
Az α arányt empirikusan hangoltuk a FLEURS hu_hu test készleten (beam=1, normalizált WER):
| α (V2 aránya) | FLEURS WER |
|---|---|
| 0.50 | 25.83 |
| 0.60 | 25.60 |
| 0.70 | 25.44 |
| 0.75 | 25.11 |
| 0.80 | 24.30 |
| 0.85 | 24.07 |
| 0.90 | 24.05 ← legjobb |
| 0.95 | 24.52 |
| 1.00 (tiszta V2) | 25.79 |
| 0.00 (tiszta V4) | 26.68 |
Az optimum α = 0.90 (90% V2 + 10% V4). A V4 10%-nyi súlya épp annyi zaj-robusztusságot és adatváltozatosságot ad hozzá, hogy a V2 hibáit kisimítsa anélkül, hogy a tiszta teljesítményét rontaná.
Eredmények
Tiszta anyag — FLEURS hu_hu test (normalizált WER)
| Modell | beam=1 | beam=2 | beam=3 | beam=4 | beam=5 |
|---|---|---|---|---|---|
| whisper-base-hungarian-soup (ez) | 24.05 | 23.33 | 23.09 | 23.04 | 22.94 |
| whisper-hu-base-finetuned-V2 | 25.79 | 24.26 | 23.80 | 23.77 | 23.67 |
| whisper-base-hungarian_v4 | 26.68 | 25.29 | 24.81 | 24.71 | 24.73 |
| whisper-base-hungarian_v3 | 29.81 | 29.07 | 28.84 | 28.57 | 29.28 |
| whisper-base-hungarian_v1 | 30.91 | 29.19 | 28.94 | 29.04 | 28.77 |
Common Voice 17.0 hu test (normalizált WER)
| Modell | beam=1 | beam=2 | beam=3 | beam=4 | beam=5 |
|---|---|---|---|---|---|
| whisper-hu-base-finetuned-V2* | 14.73 | 14.03 | 13.90 | 13.85 | 13.81 |
| whisper-base-hungarian-soup (ez) | 15.20 | 14.60 | 14.48 | 14.46 | 14.46 |
| whisper-base-hungarian_v4 | 19.47 | 18.72 | 18.61 | 18.54 | 18.62 |
| whisper-base-hungarian_v3 | 21.80 | 21.23 | 21.11 | 21.06 | 21.09 |
| whisper-base-hungarian_v1 | 21.48 | 20.75 | 20.57 | 20.54 | 20.51 |
*A Common Voice 17.0 train+valid spliteket a V2 tréningje tartalmazta, ezért ott az eredményei nem teljesen függetlenek. Ennek ellenére a soup csak ~0.5 ponttal marad el tőle, miközben a többi készleten veri.
Zajos anyag (~10 dB MUSAN zaj, 905 minta, beam=1)
| Modell | WER |
|---|---|
| whisper-base-hungarian-soup (ez) | 40.2 |
| whisper-hu-base-finetuned-V2 | 41.6 |
| whisper-base-hungarian_v4 | 47.5 |
| whisper-base-hungarian_v3 | 51.0 |
| whisper-base-hungarian_v1 | 56.2 |
Összegzés
- FLEURS: 1.7 ponttal jobb, mint a legjobb alapmodell (V2)
- Zajos anyag: 1.4 ponttal jobb, mint a legjobb alapmodell (V2)
- CV17: ~0.5 ponttal a V2 mögött (amely a CV17 train/valid-ot látta), de 4 ponttal a V4 előtt
Az alapmodellek
| V2 (whisper-hu-base-finetuned-V2) | V4 (whisper-base-hungarian_v4) | |
|---|---|---|
| Adat | ~2000 óra (CV17 train+valid splitekkel bővítve) | ~1617 óra (hangoskönyv + film + közösségi) |
| Célok | normalizált (számok szövegesen, nagybetűk nélkül) | nyers átiratok |
| Zaj-augmentáció | nincs | 20%, SNR 10–25 dB (MUSAN) |
| Hyperparaméterek | lr 7e-5, 3 epoch, gradient checkpointing | lr 3e-4, 3 epoch, batch 256 |
A két modell eltérő adaton és célokkal tanult — a soup pontosan ezt a kiegészítő információt hasznosítja.
Intended uses & limitations
Magyar nyelvű beszédfelismerésre készült. Felolvasott, stúdióminőségű beszéd mellett zajos környezetben is megbízhatóan működik. Élőbeszéd, telefonbeszélgetés vagy erős akusztikai torzítás esetén a teljesítmény elmaradhat a felolvasott anyagon mért értékektől.
A modell kereskedelmi felhasználása a hozzájárulás nélkül nem engedélyezett. Magáncélra a Whisper eredeti licencfeltételei szerint szabadon használható.
Használat
from transformers import pipeline
pipe = pipeline(
"automatic-speech-recognition",
model="sarpba/whisper-base-hungarian-soup",
)
result = pipe("magyar_beszed.wav", generate_kwargs={"language": "hungarian", "task": "transcribe"})
print(result["text"])
Reprodukálás
A soup a következő képlettel reprodukálható a két alapmodellből:
import torch
from transformers import AutoModelForSpeechSeq2Seq
alpha = 0.90 # V2 aránya
m2 = AutoModelForSpeechSeq2Seq.from_pretrained("sarpba/whisper-hu-base-finetuned-V2")
m4 = AutoModelForSpeechSeq2Seq.from_pretrained("sarpba/whisper-base-hungarian_v4")
sd2, sd4 = m2.state_dict(), m4.state_dict()
merged = {k: alpha * sd2[k].float() + (1 - alpha) * sd4[k].float() for k in sd2}
m = AutoModelForSpeechSeq2Seq.from_pretrained("openai/whisper-base")
m.load_state_dict(merged, strict=True)
- Downloads last month
- 120
Model tree for sarpba/whisper-base-hungarian-soup
Base model
openai/whisper-baseEvaluation results
- Wer on google/fleurstest set self-reported24.050