Instructions to use Uriath/mms-mos-finetuned with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Uriath/mms-mos-finetuned with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
mms-mos-finetuned
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.
Resultat cle
| 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 |
Pourquoi ce fine-tuning
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).
Methode
Famille de technique : PEFT par adaptateurs natifs MMS, pas LoRA
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).
Pourquoi cette approche plutot qu'un fine-tuning complet
- Frugalite computationnelle (critere du brief, 15 % de la note) : un volume de parametres entrainables tres reduit permet un entrainement complet sur un seul GPU T4 gratuit (Google Colab), sans risque de saturation memoire.
- Preservation du backbone multilingue : un fine-tuning complet du modele 1B aurait risque un oubli catastrophique des autres langues supportees par le meme backbone partage.
Perte et optimisation
- Fonction de perte : CTC (Connectionist Temporal Classification)
- Taux d'apprentissage :
3e-4, 100 pas de warmup - Batch size effectif : 8 (
batch_size=2xgradient_accumulation_steps=4) - Precision :
fp16(T4-friendly) - 3 epochs, 3750 pas au total
Normalisation des donnees - etape critique
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.
Donnees
- Source :
CITADEL-BF-Center/moore_audio_data(~27 100 lignes, audio + texte aligne, domaine biblique/jw.org) - Sous-echantillon utilise : 10 000 exemples (entrainement) + 1 000 exemples (validation), tires aleatoirement (seed fixe pour reproductibilite)
Limite de domaine - assumee et documentee
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.
Exemples de resultats (echantillon de validation)
| 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.
Utilisation
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()
Licence
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.
Equipe et contexte
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).
Citation
@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}
}
- Downloads last month
- -
Model tree for Uriath/mms-mos-finetuned
Base model
facebook/mms-1b-all