MobTranslate Wajarri NLLB v1

English (eng_Latn) to Wajarri (wbv_Latn) NLLB/LoRA research artifact, release v1.0-lcs-s800-20260730.

This is not a reliable free-form translator. It is a runtime-verified development artifact for closed-set lexical reconstruction research. It has not passed an independent natural-sentence test and is not suitable for authoritative, health, legal, emergency, ceremonial, or other high-stakes communication.

This repository contains the complete executable runtime: the exact tokenizer-expanded NLLB base under base/ and the selected PEFT adapter under adapter/. Stock facebook/nllb-200-distilled-600M is an ancestor, but it is not a compatible substitute because it lacks the frozen wbv_Latn, <lexeme>, <translate>, and <glossary> rows used by training.

Measured claim boundary

The selected artifact is LCS step 800 from the one-seed a9 development screen.

Development endpoint Exact Interpretation
Frozen C0 reconstruction 55/55 Training-overlapping source-cluster reconstruction
Open direct lexical reconstruction 255/264 96.5909% against each row's nominal source reference
Compatible direct rows after source-conflict audit 255/255 All non-conflicting direct mappings reconstructed
Definition-conditioned reconstruction 263/263 Training-overlapping sense-context reconstruction
Consumed synthetic development 12/12 Development-consumed, not independent sentence evidence
All development rows 585/594 Artifact selection diagnostic, not translation accuracy

There were zero blank outputs, zero source copies, and zero repeated output token four-grams in the selected a9 evaluation. The nine nominal direct failures were exactly the nine predeclared same-English-input/different-target source conflicts: sky, water, tomorrow, moon, wind, child, thigh, fish, and cloud. The model returned the higher-priority attested 50 Words form in each case rather than the conflicting Lexibank reference.

These results measure deliberate reconstruction of mappings presented during training. They do not measure unseen lexical generalization, ordinary sentence competence, productive morphology, cross-speaker transfer, or conversation.

Repository layout

base/                         exact tokenizer-expanded NLLB 600M project base
adapter/                      selected LCS step-800 PEFT adapter and tokenizer
evaluation/                   sealed a9 decisions and aggregate failure analysis
provenance/                   model, tokenizer, training, and data identities
docs/                         complete training, evaluation, and hosting guide
serve.py                      bounded reference JSON HTTP service
GPU-RUNTIME-VERIFICATION.json complete 594-row artifact replay
HOSTING-MANIFEST.json         machine-readable loading and claim contract
release.json                  release identity
SHA256SUMS                    complete file inventory

The sealed 599-row training payload is not redistributed in this model repository. Its exact SHA-256, row counts, source classes, and presentation schedule are recorded in provenance/DATA-PROVENANCE.json. This preserves the experiment identity without overriding the source-specific redistribution state under which the screen ran.

Download and verify

python -m pip install -U huggingface_hub

hf download \
  ajaxdavis/mobtranslate-wajarri-v1 \
  --revision v1.0-lcs-s800-20260730 \
  --local-dir ./mobtranslate-wajarri-v1

cd mobtranslate-wajarri-v1
sha256sum -c SHA256SUMS

Load the model

Install a CUDA-appropriate PyTorch build, then the pinned model stack:

python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
import torch
from peft import PeftModel
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer

root = "./mobtranslate-wajarri-v1"
device = "cuda" if torch.cuda.is_available() else "cpu"
dtype = torch.float16 if device == "cuda" else torch.float32

tokenizer = AutoTokenizer.from_pretrained(
    f"{root}/adapter",
    src_lang="eng_Latn",
    tgt_lang="wbv_Latn",
    use_fast=False,
)
base = AutoModelForSeq2SeqLM.from_pretrained(
    f"{root}/base",
    torch_dtype=dtype,
)
assert len(tokenizer) == 256208
assert base.get_input_embeddings().num_embeddings == 256208

model = PeftModel.from_pretrained(
    base,
    f"{root}/adapter",
    is_trainable=False,
    low_cpu_mem_usage=True,
)
model.to(device=device, dtype=dtype)
model.eval()

Do not resize stock NLLB at runtime and accept random rows. Use the included base; its initialized task/language rows are part of the model identity.

Generate by task

The trained model-visible interfaces are:

<lexeme> yes
<lexeme> dry
Definition: (Almost) free from liquid or moisture.
<translate> hello
def generate(prompt: str) -> str:
    inputs = tokenizer(
        [prompt],
        return_tensors="pt",
        truncation=True,
        max_length=256,
    ).to(device)
    with torch.inference_mode():
        output = model.generate(
            **inputs,
            forced_bos_token_id=tokenizer.convert_tokens_to_ids("wbv_Latn"),
            max_new_tokens=32,
            num_beams=1,
            do_sample=False,
            no_repeat_ngram_size=0,
            repetition_penalty=1.0,
            length_penalty=1.0,
        )
    return tokenizer.batch_decode(output, skip_special_tokens=True)[0]

<glossary> is reserved in the tokenizer but was not a trainable token and has no validated task contract in this release.

For a known dictionary query, deterministic dictionary lookup remains safer than asking this model to regenerate a stored spelling or choose among undocumented senses.

Serve the reference API

python serve.py --root . --host 127.0.0.1 --port 7860 --device auto
curl -fsS http://127.0.0.1:7860/health
curl -fsS -H 'content-type: application/json' \
  --data '{"text":"yes","task":"lexeme"}' \
  http://127.0.0.1:7860/translate

The service verifies the base and adapter hashes before loading, serializes generation, bounds the waiting queue, limits request sizes, and labels every result as unverified research output. Put authentication, TLS, rate limits, and privacy-aware logging in front of any internet-facing deployment.

Training summary

  • upstream base: facebook/nllb-200-distilled-600M at revision f8d333a098d19b4fd9a8b18f94170487ad3f821d;
  • project base weight SHA-256: 41ea844f30d6af1f2761d71126eb66a6d47c84c3294538bb1851afcd5043fe0e;
  • selected adapter weight SHA-256: d033417ccab6a709d4f473245989ffce992618c0ec1dffb3e4f9b0219914e3cc;
  • seed 73, 800 optimizer updates, learning rate 2e-4, 80 warmup steps, linear schedule;
  • physical batch 4, gradient accumulation 14, effective batch 56;
  • LoRA rank/alpha/dropout 16/32/0.05 over q_proj,k_proj,v_proj,out_proj,fc1,fc2;
  • 599 unique rows, 44,800 deterministic presentations, 905,311 non-padding tokens;
  • 697,303 source tokens and 208,008 target tokens;
  • 8,653,824 trainable parameters of 623,729,664 total (1.3874%);
  • no Bible rows.

The 599 rows comprise 47 attested lexical records, eight fixed utterances from one speaker/source cluster, 236 source-scoped direct lexical candidates, 263 definition-conditioned lexical candidates, and 45 controlled synthetic candidates. The synthetic rows were automatically checked, development-consumed, and not speaker- attested reference gold.

Rights and limitations

This derivative retains the upstream NLLB Creative Commons Attribution-NonCommercial 4.0 terms. It is for noncommercial research and explicitly labelled drafts. Source-specific language-data terms and attributions remain applicable; publishing model weights does not relicense source data.

Do not describe this artifact as:

  • a reliable Wajarri translator;
  • speaker-certified, community-approved, or authoritative;
  • 98.48% or 100% accurate for sentences;
  • validated for unseen words, morphology, conversation, or unrestricted production;
  • a substitute for deterministic dictionary lookup.

See docs/COMPLETE-TRAINING-EVALUATION-AND-HOSTING-GUIDE.md, HOSTING-MANIFEST.json, and GPU-RUNTIME-VERIFICATION.json for the full technical record.

Citation

@misc{mobtranslate_wajarri_v1_2026,
  author = {MobTranslate},
  title = {Wajarri NLLB v1: Closed-Set Lexical Reconstruction Research Artifact},
  year = {2026},
  version = {v1.0-lcs-s800-20260730},
  url = {https://huggingface.co/ajaxdavis/mobtranslate-wajarri-v1}
}

Project: https://mobtranslate.com/

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for ajaxdavis/mobtranslate-wajarri-v1

Finetuned
(341)
this model
Adapters
2 models

Space using ajaxdavis/mobtranslate-wajarri-v1 1