Instructions to use fotiecodes/Turaco-NLLB-mt-en-wes with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use fotiecodes/Turaco-NLLB-mt-en-wes with Transformers:
# Use a pipeline as a high-level helper # Warning: Pipeline type "translation" is no longer supported in transformers v5. # You must load the model directly (see below) or downgrade to v4.x with: # 'pip install "transformers<5.0.0' from transformers import pipeline pipe = pipeline("translation", model="fotiecodes/Turaco-NLLB-mt-en-wes")# Load model directly from transformers import AutoTokenizer, AutoModelForSeq2SeqLM tokenizer = AutoTokenizer.from_pretrained("fotiecodes/Turaco-NLLB-mt-en-wes") model = AutoModelForSeq2SeqLM.from_pretrained("fotiecodes/Turaco-NLLB-mt-en-wes", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Turaco-NLLB-mt-en-wes
Turaco-NLLB-mt-en-wes is a direction-specific checkpoint in the Turaco model family.
It translates English → Cameroon Pidgin. It fine-tunes Meta's NLLB-200 distilled 600M
encoder-decoder model with a dedicated wes_Latn language token and an extended
SentencePiece vocabulary learned from the training split.
Model details
| Item | Value |
|---|---|
| Base model | facebook/nllb-200-distilled-600M |
| Architecture | NLLB encoder-decoder; full supervised fine-tuning |
| Parameters after extension | 615,657,472 (about 616M) |
| Direction | English → Cameroon Pidgin (eng_Latn → wes_Latn) |
| Language-token strategy | Added wes_Latn as a real special token; initialized from English and Tok Pisin embeddings |
| SentencePiece pieces added | 571; trained on the training split only |
| Model-weight license | CC BY-NC 4.0, inherited from the NLLB base model |
Use the tokenizer shipped with this checkpoint. Its vocabulary and language-token
IDs differ from the original NLLB tokenizer. The saved generation configuration
selects wes_Latn by default.
Training data and split
The model uses the cleaned MT560 dataset,
derived from michsethowusu/english-cameroon-pidgin_sentence-pairs_mt560.
The source data is CC BY 4.0. The released weights retain the base model's CC BY-NC 4.0 license.
Cleaning normalizes Unicode and spacing, strips leading reference markers, filters empty
and extreme-length pairs, and removes duplicate normalized pairs. Rows linked by the
same normalized English or Cameroon Pidgin sentence stay in one split.
| Raw pairs | Clean pairs | Train | Validation | Test |
|---|---|---|---|---|
| 28,159 | 27,847 | 25,158 | 1,335 | 1,354 |
Training configuration
| Item | Value |
|---|---|
| Requested / completed epochs | 1 / 1.0 |
| Optimizer steps | 63 |
| Peak learning rate | 3e-05 |
| Per-device batch / accumulation / effective batch | 2 / 16 / 32 |
| Maximum source / target tokens | 160 / 192 |
| Precision, optimizer | FP16, Adafactor |
| Gradient checkpointing, label smoothing | Yes, 0.1 |
| Selection | Lowest validation loss; best checkpoint restored before export |
| Hardware | Tesla T4 |
| Seed | 42 |
Evaluation
These are internal same-corpus diagnostics, not an external benchmark. The grouped test partition comes from the same source corpus as training. External speaker-reviewed TuracoBench evaluation is pending. These figures do not establish state-of-the-art quality.
| Test examples | chrF++ | SacreBLEU | TER |
|---|---|---|---|
| 300 | 29.32 | 9.38 | 80.65 |
Reproducible SacreBLEU signatures:
chrF++: nrefs:1|case:mixed|eff:yes|nc:6|nw:2|space:no|version:2.6.0
BLEU: nrefs:1|case:mixed|eff:yes|tok:13a|smooth:exp|version:2.6.0
TER: nrefs:1|case:lc|tok:tercom|norm:no|punct:yes|asian:no|version:2.6.0
The repository includes per-example predictions, metrics, training information and log, data audit, and split manifest.
Inference
import torch
from transformers import AutoModelForSeq2SeqLM, NllbTokenizer
model_id = "fotiecodes/Turaco-NLLB-mt-en-wes"
tokenizer = NllbTokenizer.from_pretrained(model_id, use_fast=False)
model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device).eval()
tokenizer.src_lang = "eng_Latn"
inputs = tokenizer('Please tell me when the bus leaves.', return_tensors="pt", truncation=True).to(device)
with torch.inference_mode():
output = model.generate(
**inputs,
forced_bos_token_id=tokenizer.convert_tokens_to_ids("wes_Latn"),
max_new_tokens=192,
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
Intended use and limitations
Use for research and assisted translation between English and Cameroon Pidgin, with human review of important outputs. The training corpus is heavily religious-domain and contains noisy alignments. The model may copy English, omit or invent content, mishandle negation, and miss valid dialect and spelling variation. It has not been validated for unattended medical, legal, emergency, immigration, or financial use. Commercial use is restricted by the base model's noncommercial license.
- Downloads last month
- 14
Model tree for fotiecodes/Turaco-NLLB-mt-en-wes
Base model
facebook/nllb-200-distilled-600M