Buckets:
library_name: transformers
language:
- ff
license: cc-by-nc-4.0
base_model: facebook/mms-1b-all
tags:
- automatic-speech-recognition
- speech
- pular
- fula
- fuf
- mms
- low-resource
datasets:
- Kppwdfgu1/Fula-pular
metrics:
- wer
- cer
pipeline_tag: automatic-speech-recognition
model-index:
- name: mms-1b-pular-asr
results:
- task:
type: automatic-speech-recognition
dataset:
name: Fula-pular
type: Kppwdfgu1/Fula-pular
metrics:
- type: wer
value: 10.38
- type: cer
value: 2.89
MMS-1B Pular ASR — Reconnaissance vocale du Pular (Fouta-Djalon)
Modèle de reconnaissance vocale (ASR/STT) pour le pular (fuf), variante du fula parlée en Guinée (Fouta-Djalon). Obtenu par fine-tuning des adapter layers de facebook/mms-1b-all (~2 % des paramètres entraînés, base gelée).
WER : 10,38 % (contre 17,31 % pour MMS d'origine, soit -40 % d'erreurs).
Détails du modèle
- Modèle de base : facebook/mms-1b-all (Wav2Vec2 1B, Meta MMS)
- Méthode : fine-tuning des adapters + tête CTC (vocabulaire caractères)
- Langue : Pular / Fulfulde du Fouta-Djalon (ISO 639-3 :
fuf) - Licence : CC-BY-NC 4.0 (héritée du modèle de base MMS)
- Audio attendu : mono, 16 kHz
- Développé par : Salim Diallo
Utilisation
import torch, librosa
from transformers import Wav2Vec2ForCTC, AutoProcessor
repo = "sudoping01/mms-1b-pular-asr"
processor = AutoProcessor.from_pretrained(repo)
model = Wav2Vec2ForCTC.from_pretrained(repo).eval()
audio, _ = librosa.load("mon_audio.wav", sr=16_000)
inputs = processor(audio, sampling_rate=16_000, return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
print(processor.decode(torch.argmax(logits, dim=-1)[0]))
Données d'entraînement
Dataset Kppwdfgu1/Fula-pular : ~9 760 clips audio (0,3–30 s) avec transcriptions, issus de lectures du Nouveau Testament en pular. Split 90/5/5 train/validation/test. Texte normalisé : minuscules, ponctuation retirée, caractères pular (ɓ ɗ ɲ ƴ ŋ) conservés.
Procédure d'entraînement
- Adapters réinitialisés puis seuls paramètres entraînés (base gelée)
- Précision mixte fp16, gradient checkpointing
- Learning rate : 1e-3, warmup 100 steps, 4 époques
- Batch effectif : 32 (batch 2 × accumulation 16)
- Matériel : 1× NVIDIA T4 (Kaggle)
Résultats
| Modèle | WER | CER |
|---|---|---|
| MMS-1B-all (adapter fula d'origine, sans fine-tuning) | 17,31 % | 4,57 % |
| Ce modèle (fine-tuné) | 10,38 % | 2,89 % |
Évalué sur 200 exemples du test set (jamais vus à l'entraînement).
Limites et biais
- Domaine : entraîné uniquement sur des lectures de l'histoire de ISSA (parole lue, posée, vocabulaire religieux, peu de locuteurs). Les performances baissent sur la parole spontanée, bruyante, ou les autres dialectes du fula.
- Ne gère ni ponctuation ni majuscules en sortie.
- Usage non commercial uniquement (licence CC-BY-NC 4.0).
Citation
Si tu utilises ce modèle, cite aussi MMS :
@article{pratap2023mms,
title={Scaling Speech Technology to 1,000+ Languages},
author={Pratap, Vineel and others},
journal={arXiv preprint arXiv:2305.13516},
year={2023}
}
Xet Storage Details
- Size:
- 3.44 kB
- Xet hash:
- a06567b0a9569ea2bef4a9b7c67d7a792d8b75e8809a48d27cf5e9fbdd3467cd
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.