Instructions to use ajaxdavis/mobtranslate-wajarri-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use ajaxdavis/mobtranslate-wajarri-v1 with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
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-600Mat revisionf8d333a098d19b4fd9a8b18f94170487ad3f821d; - 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
- -