Downloads · 30 days
27
2% of all-time downloads
MEYNG/nllb-sango-finetuned-600m
nllb-sango-finetuned-600m is a translation model from MEYNG. Use it when you need text moved from one language to another. The card lists the license as cc-by-nc-4.0.
Open translation model fine-tuned specifically for Sango — the co-official language of the Central African Republic (with French, 5M+ speakers).
Downloads · 30 days
27
2% of all-time downloads
All-time downloads
1.2K
Public
Parameters
615M
189 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors2.5 GB · 50%
From the Hugging Face model README
Open translation model fine-tuned specifically for Sango — the co-official language of the Central African Republic (with French, 5M+ speakers).
Fine-tuned from facebook/nllb-200-distilled-600M on 500,000+ Sango-French sentence pairs.
Sango (ISO 639-1: sg, ISO 639-3: sag) is the co-official language of the Central African Republic (with French), spoken as a primary lingua franca by over 5 million people. It is a creole derived from the Ngbandi language, using a Latin orthography with tonal diacritics (â, ê, ë, î, ö, ô, û, ü).
Google added Sango to Google Translate in May 2026. This model is an open, Sango-specific fine-tune that you can run, inspect and adapt yourself — released openly so the community can build on it.
| Property | Value |
|---|---|
| Base model | facebook/nllb-200-distilled-600M |
| Training data | 500,000+ Sango-French sentence pairs |
| Data source | NLLB parallel corpus (quality-filtered) |
| Fine-tune type | Full fine-tune (all parameters, not LoRA) |
| Epochs | 3 |
| Direction | Bidirectional: fra_Latn ↔ sag_Latn |
| Precision | bfloat16 (A100 native) |
| Batch size | 12 (effective batch 132 with grad accum 11) |
| Hardware | A100-SXM4-40GB (42.4 GB VRAM) |
| Training time | 7.25 hours |
Note on BLEU for Sango: BLEU penalises fluent paraphrases. chrF is more informative for Sango's morphological structure. Both are reported for completeness.
Evaluated on a held-out sample of the quality-filtered NLLB Sango-French corpus (N=200 sentences, LASER score ≥ 1.0, target language ID confidence ≥ 0.9). Same distribution as training data — measures specialised quality on the task the model was trained for.
| Model | BLEU | chrF |
|---|---|---|
| Vanilla NLLB-200-distilled-600M (baseline) | 13.79 | 32.85 |
| MEYNG/nllb-sango-finetuned-600m (ours) | 19.49 | 36.00 |
| Foundation LLM (cloud inference, reference) | 2.92 | 26.45 |
| Delta (ours vs baseline) | +5.70 | +3.15 |
| Model | BLEU | chrF |
|---|---|---|
| Vanilla NLLB-200-distilled-600M (baseline) | 9.53 | 30.88 |
| MEYNG/nllb-sango-finetuned-600m (ours) | 18.63 | 35.78 |
| Delta (ours vs baseline) | +9.10 | +4.90 |
Full results: scripts/training/results/bench001_threeway.json
Evaluated on FLORES-200 devtest (Wikipedia-style sentences, bri25yu Parquet mirror). Out-of-distribution relative to NLLB training corpus — measures generalisation to formal/encyclopaedic text.
| Model | BLEU | chrF |
|---|---|---|
| Vanilla NLLB-200-distilled-600M (baseline) | 6.11 | 30.23 |
| MEYNG/nllb-sango-finetuned-600m (ours) | 3.39 | 22.96 |
| Delta (ours vs baseline) | −2.72 | −7.27 |
| Model | BLEU | chrF |
|---|---|---|
| Vanilla NLLB-200-distilled-600M (baseline) | 6.62 | 26.57 |
| MEYNG/nllb-sango-finetuned-600m (ours) | 6.68 | 25.30 |
| Delta (ours vs baseline) | +0.06 | −1.27 |
Finding: The model overfit to the NLLB corpus style. On Wikipedia-style formal text it regresses below the baseline, including hallucination on long complex sentences. Use this model for text stylistically similar to its training domain (news / conversational parallel text). For general-purpose Sango translation, the vanilla NLLB-200 baseline is safer on out-of-domain inputs.
This finding drives the next priority: a diverse multi-domain Sango corpus for v2 training.
Full results: scripts/training/results/bench002_flores200.json
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import torch
model_id = "MEYNG/nllb-sango-finetuned-600m"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(model_id, torch_dtype=torch.float16)
def translate(text, src_lang, tgt_lang, max_length=128):
tokenizer.src_lang = src_lang
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=max_length)
forced_bos_token_id = tokenizer.convert_tokens_to_ids(tgt_lang)
with torch.no_grad():
generated = model.generate(
**inputs,
forced_bos_token_id=forced_bos_token_id,
max_length=max_length,
num_beams=4,
)
return tokenizer.batch_decode(generated, skip_special_tokens=True)[0]
# French → Sango
print(translate("Bonjour, comment allez-vous?", "fra_Latn", "sag_Latn"))
# Sango → French
print(translate("Singila mingi, balao.", "sag_Latn", "fra_Latn"))
Training data was sourced from the NLLB-200 parallel corpus (publicly available at storage.googleapis.com/allennlp-data-bucket/nllb/) and quality-filtered with two thresholds:
Kept pairs: ~500,000+ (out of ~600,000 raw pairs in the NLLB Sango-French file).
Training was bidirectional: each sentence pair was included twice (FR→SAG and SAG→FR), giving ~1.1M training examples.
Seq2SeqTrainingArguments(
num_train_epochs=3,
per_device_train_batch_size=12,
gradient_accumulation_steps=11, # effective batch = 132
learning_rate=5e-5,
warmup_steps=500,
bf16=True, # A100 native bfloat16
predict_with_generate=False, # bidirectional val set
metric_for_best_model="eval_loss",
hub_strategy="checkpoint", # push to HF every 500 steps
)
Full training script: scripts/training/train_on_azure.py
sag_Latn → fra_Latn → eng_Latn.| Resource | Link |
|---|---|
| Sango vocabulary dataset | MEYNG/sango-vocabulary |
| SangoAI platform | sangoai.sbs |
| Training code | meyng-hub/sangoai scripts/training/ |
@misc{wenezoui2026nllb-sango,
author = {WENEZOUI, Michel},
title = {MEYNG/nllb-sango-finetuned-600m: an open translation model fine-tuned specifically for Sango},
year = {2026},
publisher = {HuggingFace},
url = {https://huggingface.co/MEYNG/nllb-sango-finetuned-600m}
}
CC BY-NC 4.0 (non-commercial). This license is inherited from the facebook/nllb-200-distilled-600M base model, which is released under CC BY-NC 4.0. Free for research, academic, NGO, government, and humanitarian use. Commercial use requires a separate arrangement with Meta (for the base model) and MEYNG (for the fine-tuned weights).
MEYNG builds AI infrastructure for African languages. This model is part of a systematic effort to build open NLP resources for Sango, including: