Whisper Small — Fine-tuné Khoutbas Arabes (v3)
Modèle Whisper Small fine-tuné sur un corpus de khoutbas (sermons islamiques) en arabe, dans le cadre d'un Projet de Fin d'Études (PFE) en Systèmes Embarqués et Edge AI à l'ESPRIT Tunis.
Description
Ce modèle est une adaptation domaine-spécifique de openai/whisper-small pour la transcription automatique de la parole arabe religieuse (khoutbas du vendredi). Il a été entraîné sur un dataset original de 1 318 segments audio-texte issus de 11 khoutbas de différents prédicateurs arabophones.
Performances
| Métrique | Whisper Small BASE | Fine-tuné v3 | Amélioration |
|---|---|---|---|
| WER (test set) | 24.12% | 12.06% | −50% |
| CER (audio long) | — | 23.35% | — |
| RTF (RPi5 CPU, int8) | — | ~0.37–0.54x | Temps réel ✅ |
Évaluation sur 100 segments jamais vus pendant l'entraînement (random.seed(42)).
Dataset
- Taille : 1 318 segments audio (après déduplication)
- Durée totale : ~150 minutes audio
- Format : segments WAV 16kHz mono, 8–30 secondes
- Sources : 11 khoutbas de prédicateurs arabophones (Sheikh Mahmoud Al-Hasanat, Sheikh Maher Al-Muaiqly, Sheikh Yasir Al-Dosari, Sheikh Said Al-Kamali)
- Transcriptions : manuelles, format
(MM:SS) texte - Dataset : corpus original, non disponible publiquement
Entraînement
- Modèle de base :
openai/whisper-small - Méthode : Supervised Fine-Tuning (SFT) Seq2Seq
- Framework : HuggingFace Transformers + Seq2SeqTrainer
- Plateforme : Google Colab (GPU T4)
- Hyperparamètres :
- Learning rate :
1e-6 - Batch size effectif : 16 (4 × gradient_accumulation_steps=4)
- Max steps : 1000 (early stopping patience=3)
- Weight decay : 0.01
- Warmup steps : 300
- Précision : fp16
- Learning rate :
- Meilleur checkpoint : step 300 (WER val = 11.27%)
- Langue :
arabic(ar) - Tâche :
transcribe
Utilisation
Avec HuggingFace Transformers
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor
import torch
model_id = "dorra15/whisper-small-khoutba-ar-v3"
device = "cuda" if torch.cuda.is_available() else "cpu"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForSpeechSeq2Seq.from_pretrained(model_id).to(device)
model.eval()
# Transcrire un fichier audio
import librosa
audio, sr = librosa.load("khoutba.wav", sr=16000)
inputs = processor(audio, sampling_rate=16000,
return_tensors="pt").input_features.to(device)
with torch.no_grad():
ids = model.generate(inputs, language="ar", task="transcribe")
texte = processor.batch_decode(ids, skip_special_tokens=True)[0]
print(texte)
Avec faster-whisper (embarqué, recommandé)
from faster_whisper import WhisperModel
# Version CTranslate2 INT8 — 249 MB, RTF ~0.37x sur RPi5
model = WhisperModel(
"dorra15/whisper-small-khoutba-ar-v3",
device="cpu",
compute_type="int8",
)
segments, info = model.transcribe(
"khoutba.wav",
language="ar",
beam_size=3,
vad_filter=True,
)
texte = " ".join([s.text for s in segments])
print(texte)
Déploiement embarqué
Ce modèle est optimisé pour le déploiement sur systèmes embarqués :
| Format | Taille | RTF (RPi5 CPU) | Usage |
|---|---|---|---|
| float32 (HF) | 967 MB | — | Entraînement / PC |
| CTranslate2 int8 | 249 MB | ~0.37–0.54x | RPi5 ✅ |
Testé sur Raspberry Pi 5 (8GB) avec Raspberry Pi OS Bookworm 64-bit.
Limitations
- Spécialisé pour l'arabe religieux (khoutbas) — performances réduites sur arabe dialectal général ou autres domaines
- Corpus d'entraînement limité (~150 min) — peut générer des confusions sur vocabulaire rare hors du domaine religieux
- Non évalué sur d'autres dialectes arabes (maghrébin, égyptien, etc.)
Versions
| Version | Dataset | WER test | Notes |
|---|---|---|---|
| v1 | 894 segments | 28.44% (val) | Premier fine-tuning |
| v2 | 894 segments | 25.28% | Anti-overfitting (lr=1e-6) |
| v3 | 1318 segments | 12.06% | Meilleure version ✅ |
Citation
@misc{bouabid2025whisper,
author = {Bouabid, Dorra},
title = {Whisper Small Fine-tuné pour la Transcription
de Khoutbas Arabes},
year = {2025},
publisher = {Hugging Face},
url = {https://huggingface.co/dorra15/whisper-small-khoutba-ar-v3},
note = {PFE — ESPRIT Tunis, Systèmes Embarqués et Edge AI}
}
Auteure
Dorra Bouabid — Étudiante ingénieure en Systèmes Embarqués et Edge AI,
ESPRIT Tunis
Projet réalisé dans le cadre du PFE (Projet de Fin d'Études) 2025