AfiyahwolofalNassarane
Fine-tuning complet (non-LoRA) de bilalfaye/nllb-200-distilled-600M-wo-fr-en sur un corpus français-wolof, bidirectionnel (fr→wolof et wolof→fr avec un seul modèle).
Utilisation
from transformers import AutoModelForSeq2SeqLM, NllbTokenizerFast
tokenizer = NllbTokenizerFast.from_pretrained("Fallovski/AfiyahwolofalNassarane")
model = AutoModelForSeq2SeqLM.from_pretrained("Fallovski/AfiyahwolofalNassarane")
tokenizer.src_lang = "fra_Latn"
inputs = tokenizer("Bonjour, comment allez-vous ?", return_tensors="pt")
generated = model.generate(
**inputs,
forced_bos_token_id=tokenizer.convert_tokens_to_ids("wol_Latn"),
)
print(tokenizer.batch_decode(generated, skip_special_tokens=True))
⚠️ Utiliser NllbTokenizerFast explicitement (pas AutoTokenizer) — voir la note technique en bas de page.
Résultats
Sur le jeu de test interne (nmt_test.csv, split anti-fuite vérifié)
| Métrique | Valeur |
|---|---|
| BLEU (meilleure epoch) | 63.30 |
| chrF++ | 72.79 |
| TER | 33.43 |
Sur FLORES-200 (benchmark externe, 111 phrases non contaminées par le corpus d'entraînement)
| Sens | BLEU | spBLEU | chrF++ | TER |
|---|---|---|---|---|
| fr → wolof | 59.07 | 60.63 | 70.41 | 37.86 |
| wolof → fr | 62.08 | 64.19 | 74.16 | 31.85 |
Comparaison avec le modèle de base (avant fine-tuning) :
| Sens | BLEU base | BLEU fine-tuné | Gain |
|---|---|---|---|
| fr → wolof | 50.43 | 59.07 | +8.6 |
| wolof → fr | 58.93 | 62.08 | +3.2 |
Sur le domaine IPM (wolbanking77, 500 phrases tenues à l'écart de l'entraînement)
⚠️ Le score le plus représentatif de l'usage réel (banque/santé) — nettement plus bas que FLORES-200 (texte généraliste) :
| Sens | BLEU | chrF++ | TER |
|---|---|---|---|
| fr → wolof | 33.90 | 56.86 | 52.73 |
| wolof → fr | 42.99 | 63.29 | 50.64 |
Seulement ~9% du corpus d'entraînement provient de wolbanking77 (le reste est du sous-titrage de film et de la traduction généraliste) — le modèle généralise moins bien sur le vocabulaire spécifiquement bancaire/santé. Prochaine priorité : augmenter la proportion de données wolbanking77 à l'entraînement.
Entraînement
- Modèle de base :
bilalfaye/nllb-200-distilled-600M-wo-fr-en(615M paramètres, fine-tuning complet) - Données : corpus français-wolof (Kallaama, WolBanking77, galsenai, bilalfaye), dédupliqué et splitté sans fuite train/val/test (algorithme union-find)
- Bidirectionnel : chaque paire dupliquée dans les deux sens à l'entraînement
- 5 epochs, batch effectif 32 (2×GPU, batch=8, accumulation=2), LR 3e-5, label smoothing 0.1
- Checkpoint retenu : meilleur BLEU de validation (epoch 2/5)
Note technique — tokenizer
Sur transformers>=5.1, charger ce modèle via AutoTokenizer peut ignorer src_lang/tgt_lang
(bug de résolution de classe). Utiliser NllbTokenizerFast explicitement comme montré ci-dessus.
- Downloads last month
- 11
Model tree for Fallovski/AfiyahwolofalNassarane
Base model
facebook/nllb-200-distilled-600M