Downloads · 30 days
18
5% of all-time downloads
MEYNG/nllb-sango-finetuned-600m-v2-2
nllb-sango-finetuned-600m-v2-2 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.
Recommended use: Sango → French. On out-of-distribution text, this model beats the untrained NLLB-200 baseline in the Sango→French direction on two independent benchmarks: FLORES+ devtest (chrF 31.88 vs 31.37, BLEU 10…
Downloads · 30 days
18
5% of all-time downloads
All-time downloads
331
Public
Parameters
615M
1.3 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors1.2 GB · 97%
From the Hugging Face model README
Recommended use: Sango → French. On out-of-distribution text, this model beats the untrained NLLB-200 baseline in the Sango→French direction on two independent benchmarks: FLORES+ devtest (chrF 31.88 vs 31.37, BLEU 10.67 vs 9.84) and SIB-200 test (chrF 31.45 vs 30.20, BLEU 9.19 vs 7.65), beam=4. For French → Sango, the vanilla baseline currently remains stronger out-of-domain (−1.14 chrF on FLORES, −1.71 on SIB) — we recommend the baseline for that direction, and we publish the numbers that say so. Best practice: route by direction.
It is a published, openly benchmarked fine-tuned model (CC BY-NC 4.0, inherited from the base — not an open-source licence) that beats the NLLB baseline on out-of-distribution Sango→French — built by a native Sango speaker on free compute.
Our previous releases (v1, and a deleted v2) improved in-distribution scores while regressing below the baseline out-of-distribution — classic overfitting, published-then-caught. Since then, every MEYNG release passes an OOD gate before shipping: out-of-distribution chrF must meet or beat the baseline, or the model does not ship. This model passed that gate in its recommended direction across four consecutive training runs. The failing direction is documented, not hidden.
FLORES+ devtest (canonical OOD ruler, 500 sentences):
| Direction | Model | chrF | BLEU | Verdict |
|---|---|---|---|---|
| SAG→FR | baseline NLLB-600M | 31.37 | 9.84 | |
| SAG→FR | this model | 31.88 | 10.67 | PASS (+0.51 chrF) |
| FR→SAG | baseline NLLB-600M | 33.70 | 8.20 | baseline recommended |
| FR→SAG | this model | 32.56 | 7.50 | FAIL (−1.14 chrF) |
SIB-200 test (204 sentences):
| Direction | Model | chrF | BLEU | Verdict |
|---|---|---|---|---|
| SAG→FR | baseline NLLB-600M | 30.20 | 7.65 | |
| SAG→FR | this model | 31.45 | 9.19 | PASS (+1.25 chrF) |
| FR→SAG | baseline NLLB-600M | 36.03 | 7.86 | baseline recommended |
| FR→SAG | this model | 34.32 | — | FAIL (−1.71 chrF) |
chrF is primary (BLEU is unreliable for Sango morphology; never quote bare BLEU). The SAG→FR advantage is consistent across both benchmarks (five consecutive gate passes across four training runs). Selection during training used SIB-200 train+validation only; neither test set above was ever used for selection. FLORES+ used under its dataset terms (openlanguagedata/flores_plus).
The Sango side of the SIB-200 test data is orthographically inconsistent. Measured across the
204 sentences: only 8.3% of vowels carry a tone mark, and the marking follows three competing
conventions at once — the same lemma appears as ti 854×, tî 3× and tï 2×; so 192× and
sô 46×; tene 41× and tènè 21×. Sango tone is lexically contrastive, so a system that spells a
word correctly in a convention the reference happens not to use is scored as wrong.
What this does and does not affect:
We have not measured the FLORES+ Sango reference for the same property, so no claim is made about it here.
The public NLLB web-mined French–Sango corpus advertises 588,039 quality-filtered pairs. A forensic cleaning pass found:
Earlier models trained on the raw corpus learned these artifacts (verse-number hallucination, register memorization) — the direct cause of their OOD regression. This model trains on the cleaned 45,451 pairs only. The cleaning pipeline is deterministic and reproducible.
| Run | One variable changed | FR→SAG Δ vs baseline | SAG→FR Δ |
|---|---|---|---|
| v2 (deleted) | LoRA on raw corpus | −7.11 | −3.28 |
| v2.1 | cleaned corpus | −4.85 | +0.62 |
| v2.2 (this) | lr 2e-4→1e-4, OOD-selected checkpoint | −1.71 | +1.25 |
| v2.3 | + native-verified vocabulary ×5 | −2.22 | +1.11 |
| v2.4 | + cleaned EN–Sango corpus (2.2M→59,822 pairs) | −2.08 | +0.70 |
Negative results included on purpose: small high-quality vocabulary injection and corpus volume did not improve OOD generation. The consistent early-peak/dip training curve indicates the remaining FR→SAG gap is a register-diversity limit of the available corpus, not a training recipe problem. Closing it requires new diverse Sango text — ongoing work.
facebook/nllb-200-distilled-600M (615M), correct per-direction NLLB language-token
conditioning (asserted at train time; requires transformers>=4.40,<5.0 — v5 breaks the NLLB
tokenizer prefix).from transformers import AutoModelForSeq2SeqLM, AutoTokenizer # transformers>=4.40,<5.0
model_id = "MEYNG/nllb-sango-finetuned-600m-v2-2"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
def translate(text, src="sag_Latn", tgt="fra_Latn"): # recommended direction
tok.src_lang = src
enc = tok(text, return_tensors="pt")
out = model.generate(**enc,
forced_bos_token_id=tok.convert_tokens_to_ids(tgt),
max_length=160, num_beams=4)
return tok.batch_decode(out, skip_special_tokens=True)[0]
print(translate("Mbi yeke gue na da ti nganga ti kobela."))
For French→Sango, use facebook/nllb-200-distilled-600M directly (per our own benchmark above).
MEYNG builds language AI infrastructure for under-resourced African languages, starting with Sango, the national language of the Central African Republic. Native-speaker verification, out-of-distribution gates before every release, failures documented. Every public number we cite, with its definition, source and date: https://sangoai.app/metrics.json · https://www.meyng.com/en/metrics. Datasets, methods, and honest benchmarks: https://huggingface.co/MEYNG · https://meyng.com
If you're building AI for a language the world hasn't gotten around to yet — the dataset is open, the methodology is documented, the door is open.