1
stars
3
commits
1
linked in READMEs
May 2, 2026
updated
CTranslate2 int8 build of openai/whisper-large-v3 (1.55 B base) fine-tuned with QLoRA on 38 hours of dialect-balanced Arabic from Casablanca (5 countries) + cleaned MGB-3 + MASC + Common Voice 18. 1.56 GB on disk, runs at real-time on commodity CPU.
The "v3" of the project — significantly bigger base than the v2 turbo, with significantly more training data (38 h vs 7 h). For the smaller 809M turbo variant, see whisper-large-v3-turbo-arabic-ft-ct2-int8.
For the float32 PyTorch version: whisper-large-v3-arabic-ft-v3. For the LoRA adapter (further fine-tuning + Git-history of every save during training): whisper-large-v3-arabic-ft-v3-lora.
50% Casablanca + 50% broadcast (MGB-3 / MASC) for Egyptian and Levantine; 100% Casablanca UAE for Gulf (no public broadcast Gulf source); 100% FLEURS broadcast for MSA. Same exact recordings + decoding config used for both rows.
| Dialect | Test composition | Zero-shot Whisper-large-v3 | This model (v3-ft) | Δ |
|---|---|---|---|---|
| MSA | FLEURS broadcast | 8.51% | 10.52% | +2.01 pp |
| Egyptian | 50 Casablanca + 50 MGB-3 | 38.48% | 23.90% | −14.58 pp ✅ |
| Levantine | 50 Casablanca JO + 50 MASC | 37.70% | 30.63% | −7.07 pp ✅ |
| Gulf | Casablanca UAE | 52.72% | 41.46% | −11.26 pp ✅ |
| avg-4 | 34.35% | 26.63% | −7.72 pp ✅ |
v3-ft beats zero-shot Whisper-large-v3 by 7.72 pp average WER, with double-digit gains on Egyptian and Gulf. The MSA loss of 2.01 pp is the well-known dialect-vs-MSA tradeoff — see paper §6 for the details.
pip install faster-whisper
huggingface-cli download dev-ahmedhany/whisper-large-v3-arabic-ft-v3-ct2-int8 \
--local-dir ./whisper-ar-v3-int8
from faster_whisper import WhisperModel
model = WhisperModel(
"./whisper-ar-v3-int8",
device="cpu", compute_type="int8", cpu_threads=8,
)
segments, info = model.transcribe(
"audio.wav",
beam_size=2, # paper §6.6 sweet spot
language="ar",
task="transcribe",
)
print(" ".join(s.text for s in segments))
Inference RTF ≈ 0.5–0.8 (MSA) to 1.4–1.7 (dialects) on a c3-standard-8 (Intel Sapphire Rapids), peak RAM ~3.1 GB.
openai/whisper-large-v3 (1.55 B params)ct2-transformers-converter \
--model checkpoints/v3-merged \
--output_dir checkpoints/v3-ct2-int8 \
--quantization int8 \
--copy_files preprocessor_config.json tokenizer_config.json normalizer.json \
special_tokens_map.json added_tokens.json merges.txt vocab.json tokenizer.json
(Pin ctranslate2<4.5 for compatibility with transformers==4.46.3.)
@misc{hany2026whisperarabic,
title = {Production-Aware Fine-Tuning of Whisper Variants for Multi-Dialect
Arabic ASR: A Cross-Platform CPU Inference Study},
author = {Hany, Ahmed},
year = {2026},
howpublished = {Preprint, arXiv (in preparation)},
url = {https://github.com/dev-ahmedhany/whisper-arabic-dialects},
}
Apache-2.0 (inherits from base openai/whisper-large-v3).
3 commits
1
stars
3
commits
1
linked in READMEs
May 2, 2026
updated
CTranslate2 int8 build of openai/whisper-large-v3 (1.55 B base) fine-tuned with QLoRA on 38 hours of dialect-balanced Arabic from Casablanca (5 countries) + cleaned MGB-3 + MASC + Common Voice 18. 1.56 GB on disk, runs at real-time on commodity CPU.
The "v3" of the project — significantly bigger base than the v2 turbo, with significantly more training data (38 h vs 7 h). For the smaller 809M turbo variant, see whisper-large-v3-turbo-arabic-ft-ct2-int8.
For the float32 PyTorch version: whisper-large-v3-arabic-ft-v3. For the LoRA adapter (further fine-tuning + Git-history of every save during training): whisper-large-v3-arabic-ft-v3-lora.
50% Casablanca + 50% broadcast (MGB-3 / MASC) for Egyptian and Levantine; 100% Casablanca UAE for Gulf (no public broadcast Gulf source); 100% FLEURS broadcast for MSA. Same exact recordings + decoding config used for both rows.
| Dialect | Test composition | Zero-shot Whisper-large-v3 | This model (v3-ft) | Δ |
|---|---|---|---|---|
| MSA | FLEURS broadcast | 8.51% | 10.52% | +2.01 pp |
| Egyptian | 50 Casablanca + 50 MGB-3 | 38.48% | 23.90% | −14.58 pp ✅ |
| Levantine | 50 Casablanca JO + 50 MASC | 37.70% | 30.63% | −7.07 pp ✅ |
| Gulf | Casablanca UAE | 52.72% | 41.46% | −11.26 pp ✅ |
| avg-4 | 34.35% | 26.63% | −7.72 pp ✅ |
v3-ft beats zero-shot Whisper-large-v3 by 7.72 pp average WER, with double-digit gains on Egyptian and Gulf. The MSA loss of 2.01 pp is the well-known dialect-vs-MSA tradeoff — see paper §6 for the details.
pip install faster-whisper
huggingface-cli download dev-ahmedhany/whisper-large-v3-arabic-ft-v3-ct2-int8 \
--local-dir ./whisper-ar-v3-int8
from faster_whisper import WhisperModel
model = WhisperModel(
"./whisper-ar-v3-int8",
device="cpu", compute_type="int8", cpu_threads=8,
)
segments, info = model.transcribe(
"audio.wav",
beam_size=2, # paper §6.6 sweet spot
language="ar",
task="transcribe",
)
print(" ".join(s.text for s in segments))
Inference RTF ≈ 0.5–0.8 (MSA) to 1.4–1.7 (dialects) on a c3-standard-8 (Intel Sapphire Rapids), peak RAM ~3.1 GB.
openai/whisper-large-v3 (1.55 B params)ct2-transformers-converter \
--model checkpoints/v3-merged \
--output_dir checkpoints/v3-ct2-int8 \
--quantization int8 \
--copy_files preprocessor_config.json tokenizer_config.json normalizer.json \
special_tokens_map.json added_tokens.json merges.txt vocab.json tokenizer.json
(Pin ctranslate2<4.5 for compatibility with transformers==4.46.3.)
@misc{hany2026whisperarabic,
title = {Production-Aware Fine-Tuning of Whisper Variants for Multi-Dialect
Arabic ASR: A Cross-Platform CPU Inference Study},
author = {Hany, Ahmed},
year = {2026},
howpublished = {Preprint, arXiv (in preparation)},
url = {https://github.com/dev-ahmedhany/whisper-arabic-dialects},
}
Apache-2.0 (inherits from base openai/whisper-large-v3).
3 commits