ebible_m2o-nllb600m-nde

NLLB-200-distilled-600M fine-tuned to translate Bible verses into nde from 4 related source languages. Part of a series testing whether a pretrained multilingual model can draft Old Testament books for a language it has only seen the New Testament of — the practical "no OT exists yet" scenario. Project: reproduction and extension of Sami Liedes' 2018 closed-text Bible translation experiment.

Training used New Testament verses only (nde target, whole OT withheld); the scores below are on withheld OT material (Ruth, Jonah, Genesis 1) the model never saw in the target language. Target token nde_Latn (scratch init — the token-init comparison in the experiment showed the init method makes no measurable difference at an adequate learning rate).

How to use

from transformers import AutoModelForSeq2SeqLM, AutoTokenizer

model = AutoModelForSeq2SeqLM.from_pretrained("DavidCBaines/ebible_m2o-nllb600m-nde")
tokenizer = AutoTokenizer.from_pretrained("DavidCBaines/ebible_m2o-nllb600m-nde")

tokenizer.src_lang = "sna_Latn"  # any source language's FLORES code
batch = tokenizer(["<a sna verse>"], return_tensors="pt")
out = model.generate(
    **batch,
    forced_bos_token_id=tokenizer.convert_tokens_to_ids("nde_Latn"),
    num_beams=5, max_length=128,
)
print(tokenizer.batch_decode(out, skip_special_tokens=True)[0])

The forced_bos_token_id is also baked into generation_config.json, so omitting it works too.

Evaluation (withheld OT books, never seen in nde)

chrF3, sacreBLEU conventions. The source-copy floor is the chrF3 of the best source language's own text against the nde reference — the score you would get by simply copying the closest relative. The model must beat it for the run to be publishable. Validation (250 NT verses): best chrF3 55.12.

book verses best source chrF3 spBLEU mean chrF3 over sources source-copy floor
RUT 85 sna 53.58 23.97 50.48 20.41
JON 48 sna 53.49 24.36 49.08 18.61
GEN 1: 31 sna 56 21.1 54.93 16.35

Per-source detail:

  • RUT: chrF3 by source — lin 46.92, sna 53.58, swh 50.95
  • JON: chrF3 by source — lin 43.81, sna 53.49, swh 49.95
  • GEN 1:: chrF3 by source — lin 53.23, sna 56.0, swh 55.55

Training data and licensing

Fine-tuned on eBible-corpus translations. The base model (NLLB-200) is CC-BY-NC-4.0, so this model is non-commercial regardless of the data licences below; ShareAlike sources additionally propagate SA. Released under cc-by-nc-sa-4.0.

translation language FLORES code licence
nde nde (target) by-sa
sna sna sna_Latn by-sa
tsn tsn tsn_Latn by-sa
swhonmm swh swh_Latn by-sa
lin lin lin_Latn by-sa

Reproducibility

  • Experiment: m2o_nde, init scratch, lr 0.0003, max 8000 steps, generation-based early stopping (chrF3 on a fixed 250-verse NT set, patience 3, min-delta 0.2).
  • Git commit: 423a6b234f489c111f6d44f0e45b53d621d8d720
  • Code, configs and the full 15-run comparison: the project repository and the companion results dataset.

Acknowledgement

This series of experiments is inspired by the closed-text Bible translation experiment described by Sami Liedes in his blog. The repo was created with Claude Code using Opus 4.8 and Fable 5 with no code written by hand. There may well be errors present, but I trust Claude to do a better job than I can. Please let me know of any issues.

Downloads last month
7
Safetensors
Model size
0.6B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DavidCBaines/ebible_m2o-nllb600m-nde

Finetuned
(347)
this model
MiniMax H3 Video Generator 20 free credits · Text & image to video Try Free →