Downloads · 30 days
0
Uriath/mms-mos-finetuned
mms-mos-finetuned is a automatic speech recognition model from Uriath. Use it when you need speech turned into text. It is set up for peft. The card lists the license as cc-by-nc-4.0.
Adaptateur CTC fine-tune pour la reconnaissance automatique de la parole en moore (Mossi, mos), a partir du modele multilingue facebook/mms-1b-all (Meta AI).
Downloads · 30 days
0
Access
Public
Updated Jun 26, 2026
Repo size
8.9 MB
Likes
0
Public
Click a slice to open those files.
.bin8.9 MB · 100%
From the Hugging Face model README
Adaptateur CTC fine-tune pour la reconnaissance automatique de la parole en
moore (Mossi, mos), a partir du modele multilingue
facebook/mms-1b-all (Meta AI).
Produit dans le cadre du Hackathon IA CITADEL Summer School 2026, sujet "Audio Semantique Souverain" - indexation et veille critique de messages vocaux en langue nationale, sans transcription prealable fiable, sans API externe proprietaire.
| Metrique | Valeur |
|---|---|
| WER (Word Error Rate) | 13.7 % sur 50 exemples de validation |
| Corpus d'entrainement | 10 000 exemples |
| Corpus de validation | 1 000 exemples (50 evalues) |
| Epochs | 3 |
| Perte d'entrainement (debut -> fin) | 0.503 -> 0.216 |
Le modele de base facebook/mms-1b-all couvre le moore via un adaptateur
generique entraine sur un corpus multilingue a tres faible volume par
langue (l'architecture MMS partage un seul backbone wav2vec2 entre plus de
1000 langues, avec un adaptateur leger specifique par langue). En usage
zero-shot, la transcription produite est exploitable mais bruitee - le
brief du hackathon anticipe explicitement des taux d'erreur superieurs a
60 % pour les langues a tres faibles ressources dans ce regime.
L'objectif de ce fine-tuning : ameliorer specifiquement l'adaptateur mos
en l'exposant a un volume plus important de parole moore reelle, sans
toucher au backbone partage (qui doit rester valide pour les ~1000 autres
langues du modele).
Ce fine-tuning appartient a la famille PEFT (Parameter-Efficient
Fine-Tuning) : seule une fraction reduite des parametres du modele est
entrainee, le reste du backbone restant fige. LoRA (Low-Rank
Adaptation), une technique PEFT repandue qui insere des matrices de
decomposition de rang faible par-dessus des poids geles via la librairie
peft, n'a pas ete utilisee ici.
Nous avons exploite l'architecture a adaptateurs native de MMS : un
module dedie par langue, deja integre au modele par Meta. Concretement,
apres chargement de l'adaptateur mos (model.load_adapter("mos")), tous
les parametres du modele ont ete geles, puis uniquement les couches dont le
nom contient adapter ou lm_head ont ete redegelees pour
l'entrainement :
model.load_adapter(LANG)
for param in model.parameters():
param.requires_grad = False
for name, param in model.named_parameters():
if "adapter" in name or "lm_head" in name:
param.requires_grad = True
Le reste du backbone wav2vec2 (partage entre toutes les langues du modele) reste integralement fige.
Piste d'amelioration future : ajouter LoRA par-dessus le backbone
partage (au-dela du seul adaptateur natif mos) permettrait potentiellement
un gain supplementaire, sans fine-tuner le modele complet - au prix d'une
complexite d'implementation plus elevee (dependance a peft, fusion des
poids apres entrainement). Non explore ici par contrainte de temps (48h).
3e-4, 100 pas de warmupbatch_size=2 x gradient_accumulation_steps=4)fp16 (T4-friendly)Le texte brut du corpus contient de la ponctuation editoriale, des
majuscules, des chiffres et des guillemets typographiques, un tiret
cadratin et des espaces insecables - autant de caracteres absents du
vocabulaire CTC de l'adaptateur mos. Un diagnostic de couverture du
vocabulaire sur un echantillon a revele seulement 40.5 % de couverture
avant normalisation, contre 100 % apres. La normalisation a consiste a
mettre en minuscules, retirer ponctuation et guillemets typographiques,
normaliser les espaces (y compris l'espace insecable Unicode \xa0), et
retirer les chiffres.
Sans cette etape, l'essentiel du signal de supervision aurait ete perdu en
tokens <unk>, rendant l'entrainement largement inefficace malgre un volume
de donnees suffisant.
CITADEL-BF-Center/moore_audio_data
(~27 100 lignes, audio + texte aligne, domaine biblique/jw.org)Ce corpus est exclusivement de registre biblique/religieux. Le WER de 13.7 % est mesure dans ce meme domaine. Un risque de transfert de domaine est attendu sur du contenu hors-registre (sante, agriculture, gouvernance locale - le contenu reel vise par le hackathon) : un phenomene deja observe par l'equipe sur un fine-tuning NLLB anterieur utilisant un corpus biblique similaire (chrF++ en effondrement de 37.74 a 19.00 hors domaine). Ce risque n'a pas pu etre mesure ici par manque de donnees annotees hors-domaine au moment du fine-tuning, faute de temps (contrainte des 48h du hackathon). C'est l'axe d'amelioration prioritaire identifie pour une iteration future : melanger ce corpus avec des exemples du domaine cible plutot que de fine-tuner sur une seule source homogene.
| Reference | Prediction |
|---|---|
bala wennaam pa bakd ned ye | bala wennaam pa bakd ned ye (exact) |
wennaam vuuga zeezi kanga la tond faa yaa bon kang kaset ramba | wennaam vuuga zeezi kanga la tond faa yaa bon kang kaset ramba (exact) |
re poore sodom riima yeela a abram yaa ko maam neba la f tall paoonga | re poore sodom riima yeela a abraam yaa ko maam neba la f tall paanga |
a yaa wa mutard bila a budba wakate a yaa bilf... | a yaa wa murtaagd bila a budba wakate yaa yaa bilf... |
La majorite des erreurs residuelles portent sur des diacritiques vocaliques ou de legers decalages de frontiere de mot - pas sur des erreurs de contenu lexical.
Ce depot contient uniquement les poids de l'adaptateur fine-tune
(adapter_mos_finetuned.bin, quelques Mo), pas le modele de base complet
(1B parametres, a charger separement depuis facebook/mms-1b-all).
import torch
from transformers import Wav2Vec2ForCTC, AutoProcessor
from huggingface_hub import hf_hub_download
BASE_MODEL = "facebook/mms-1b-all"
LANG = "mos"
processor = AutoProcessor.from_pretrained(BASE_MODEL, target_lang=LANG)
model = Wav2Vec2ForCTC.from_pretrained(
BASE_MODEL, target_lang=LANG, ignore_mismatched_sizes=True
)
model.load_adapter(LANG)
adapter_path = hf_hub_download(
repo_id="Uriath/mms-mos-finetuned",
filename="adapter_mos_finetuned.bin",
)
finetuned_state = torch.load(adapter_path, map_location="cpu")
model.load_state_dict(finetuned_state, strict=False)
model.eval()
Ce modele est un derive de facebook/mms-1b-all, distribue sous licence
CC-BY-NC-4.0 (Meta AI). Cet adaptateur herite de la meme licence :
usage non-commercial uniquement, avec attribution.
Developpe par Equipe 2 / CITADEL Summer School 2026 dans le cadre du defi Audio Semantique Souverain (Burkina Faso), aligne avec la Feuille de Route Nationale d'Intelligence Artificielle du Burkina Faso 2026-2030 et le cadre ethique VERTUS (Equite, Ethique, Redevabilite, Transparence, Utilite, Souverainete).
@misc{sukre2026mms,
title={mms-mos-finetuned: Adaptateur MMS fine-tune pour le moore},
author={Equipe 2},
year={2026},
howpublished={\url{https://huggingface.co/Uriath/mms-mos-finetuned}},
note={Hackathon CITADEL Summer School 2026}
}