CoolFace
Modelpublic

wrice/whisper-tiny-grpo-d46ed86-cv22-tiny-sftanneal2

sourceHugging Facemitupdated 3mo agoView on Hugging Face
0likes9downloads
Model Card

whisper-tiny-grpo-d46ed86-cv22-tiny-sftanneal2

A Whisper model fine-tuned with GRPO (Group Relative Policy Optimization) using a blended error-rate reward. Trained with whisper-rl.

Best validation (overall across 77 languages): WER 0.661, CER 0.298

Training data

Fine-tuned on cv22_index — all 77 Common Voice locales, streamed and decoded on the fly from the full training split. Each clip's language is pinned from its Common Voice locale during training.

Performance per language

Validation WER and CER at the best checkpoint, per Common Voice locale (also in the Evaluation Results metadata above):

LanguageWERCER
af0.8220.295
am1.0270.774
ar0.5290.253
as0.6250.321
az0.7670.233
ba0.7810.321
be0.8150.226
bg0.8000.194
bn0.4380.260
br0.9270.413
ca0.6000.267
cs0.5620.125
cy0.5250.211
da0.6540.287
de0.2040.083
el0.5450.138
en0.2930.180
es0.5650.198
et1.0190.287
eu0.8330.179
fa1.0670.497
fi0.5000.128
fr0.4250.146
gl0.4060.110
ha0.6450.159
he0.9120.491
hi0.3770.179
ht0.8100.400
hu1.0560.814
hy-AM1.0000.475
id0.5380.270
is0.9681.586
it0.5790.128
ja1.3330.604
ka1.0000.528
kk0.7000.243
ko0.3480.146
lo0.8790.635
lt1.0000.476
lv0.8330.222
mk0.7270.194
ml0.5580.337
mn0.7940.326
mr0.2000.091
mt0.7500.198
ne-NP0.6000.295
nl0.5710.246
nn-NO0.9440.405
oc0.8000.291
pa-IN0.3710.169
pl0.5380.231
ps0.8330.471
pt0.2780.103
ro0.3890.102
ru0.5450.182
sk0.7830.235
sl0.7500.141
sq0.9630.409
sr0.4440.226
sv-SE0.4140.174
sw0.7330.220
ta0.3090.162
te0.4640.237
tg0.7000.200
th0.7590.293
tk1.0000.469
tt0.9380.329
uk0.6670.180
ur0.6000.252
uz0.8640.295
vi0.4780.283
yi1.0000.463
yo0.9680.487
yue1.0000.294
zh-CN1.0000.292
zh-HK1.0000.464
zh-TW1.0000.417

How it was trained

Instead of cross-entropy against a single reference, for each audio clip the policy samples a group of num_generations transcriptions, scores each by a negated blend of word error rate, character error rate, and length / repetition penalties, and is nudged toward the better candidates with a clipped policy-gradient objective regularized by a per-token KL penalty to the frozen base model. Advantages are the group-relative, standardized rewards (A = (r - mean) / (std + eps)), so no value network is needed. The clip's language is pinned from its Common Voice locale, and the policy's own greedy transcriptions are scored as validation WER and CER.

Hyperparameters

FieldValue
Base modelopenai/whisper-tiny
Dataset/data/cv22_index
Learning rate1e-05
Sampling temperature0.7
Group size (generations/clip)8
Reward weights{'cer': 1, 'wer': 1, 'length': 0.5, 'repetition': 0.5}
KL penalty (β)0.04
Batch size (clips/step)16
Max optimizer steps1000000
Warmup steps20

Training curves

Pulled from the Weights & Biases run (static snapshot):

[image]

Usage

python
from transformers import pipeline

asr = pipeline("automatic-speech-recognition", model="wrice/whisper-tiny-grpo-d46ed86-cv22-tiny-sftanneal2")
print(asr("audio.wav")["text"])

Limitations

A proof-of-concept GRPO recipe, not a tuned production system. WER and CER are reported on a held-out Common Voice validation slice after text normalization; real-world performance varies by domain, accent, language, and audio quality.