whisper-small-qc-fr
openai/whisper-small, fully fine-tuned on a Quebec-French-weighted French/English mix
(fr sampling probability 0.90 / en 0.10).
Two formats are published:
| Repo | Format | Size | Use with |
|---|---|---|---|
| this repo | fp32 (Transformers) | 926 MB | transformers |
| Jeremy-p/whisper-small-qc-fr-ct2-int8 | CTranslate2 int8 | 242 MB | faster-whisper (recommended — smaller & faster) |
Training
Full fp32 fine-tune (fp16-autocast mixed precision), gradient checkpointing, 2-GPU DDP.
French and English training data mixed via
datasets.interleave_datasets(probabilities=[0.90, 0.10], stopping_strategy="first_exhausted").
Labels truncated/filtered at a 448-token max length.
Results
French, n=100:
| Model | WER |
|---|---|
openai/whisper-small (stock) |
49.0% |
faster-whisper base int8 |
66.9% |
Qwen3-ASR-0.6B |
40.3% |
| this model, fp32 | 37.9% |
| this model, ct2 int8 | 35.1% |
English, n=324:
| Model | WER |
|---|---|
openai/whisper-small (stock) |
5.67% |
faster-whisper base int8 |
6.13% |
Qwen3-ASR-0.6B |
2.34% |
| this model, fp32 | 3.51% |
| this model, ct2 int8 | 3.69% |
This model improves on stock Whisper-small and faster-whisper base on both languages, and
beats Qwen3-ASR-0.6B on French while trailing it on English. int8 quantization costs roughly
0.2pt WER on English (fp32 3.51% → int8 3.69%, ~5% relative); on the smaller French sample it
was directionally better, more likely sampling noise than a real effect.
Usage
fp32 via transformers
from transformers import WhisperProcessor, WhisperForConditionalGeneration
processor = WhisperProcessor.from_pretrained("Jeremy-p/whisper-small-qc-fr")
model = WhisperForConditionalGeneration.from_pretrained("Jeremy-p/whisper-small-qc-fr")
CTranslate2 int8 via faster-whisper — recommended
from faster_whisper import WhisperModel
model = WhisperModel("Jeremy-p/whisper-small-qc-fr-ct2-int8", compute_type="int8")
segments, info = model.transcribe("audio.wav", language="fr")
print("".join(seg.text for seg in segments))
License
MIT
- Downloads last month
- 69