Cree1865 — one 1865 Cree dictionary, rebuilt as a training loop
Cree1865 · Tinker RL Adapter
A reinforcement-learning adapter that read Rev. E. A. Watkins' 1865 Dictionary of the Cree Language and was scored against a deterministic, decomposed Cree reward ledger.
Overview
This is a GRPO reinforcement-learning adapter on Qwen/Qwen3-30B-A3B-Instruct-2507, trained for Cree (nēhiyawēwin) dictionary and orthography behavior drawn from a single historical source: Rev. E. A. Watkins' 1865 A Dictionary of the Cree Language.
It is a research bootstrap artifact built with the Dakota1890 pipeline, retargeted to Cree. Training scores each sampled answer against a deterministic Cree verifier — no LLM judge — and logs every reward channel independently so failures can be read, not guessed.
Scope, stated plainly. This is not a Cree language authority, a fluent-speaker replacement, or a production translator. It is a first, correctable model — the working endpoint for a community-in-the-loop second stage. Nēhiyawēwin belongs to its communities; this repository is a transparent technical artifact built in service of that work, not over it.
Model Details
Field
Value
Base model
Qwen/Qwen3-30B-A3B-Instruct-2507
Adapter
LoRA, rank 32 (PEFT)
Method
GRPO (grouped rollout RL) with a deterministic Cree reward ledger
Everything derives from one public-domain book — a bilingual, two-part 1865 dictionary.
Part
Direction
PDF pages
State
Front matter
pronunciation key + notes
1–28
reference
Part I
English → Cree
29–210
extracted
Part II
Cree → English
212–end
extracted
Extraction snapshot (full local build, 2026-06-24):
Pages
Usable entries
Multi-variant
SFT (train/val)
RL tasks
463
19,560
4,049
18,463 / 972
38,870
Structured entries become a synthetic Q&A prompt bank and a set of verifiable RL tasks (English↔Cree translation, orthography, containment). This run trained on the balanced synthetic-expanded task set (rl_tasks_synthetic_expanded_balanced.jsonl).
Reward Function
A composite, deterministic reward — every channel is checkable by code, logged, and inspectable:
Channel
Weight
Verifies
Exact match
0.20
Normalized response equals the Watkins-derived answer
Target containment
0.25
Expected answer appears inside the response
Orthography recall
0.20
Cree marks, hyphens, apostrophes, and accents preserved
Character F1
0.20
Spelling-level overlap for near misses
Concise length
0.15
No padding a lookup answer with unsupported text
The verifier logs raw channel values, weighted contributions, the reconstructed composite, and a composite_diff for full auditability. This is the cree rubric — the run below was scored against exactly these channels.
Reward Ledger (run hda2wqhl)
Logged live to W&B for all 800 steps and pulled directly from the run.
Cree reward ledger dashboard for run hda2wqhl
What the curves show, honestly:
Composite reward rises from about 0.15 to a smoothed ~0.30 band — real upward movement, though noisy.
Concise length is the strongest channel, climbing to roughly 0.95 and holding; it is the largest weighted contribution at the end.
Character F1 and orthography recall both contribute and move in the 0.3–0.45 range, which is where orthographic learning is visible.
Exact match and target containment stay near 0.0. For short answer-only lookups these are the honest ceiling on composite reward and the clearest targets for the next iteration.
Policy entropy converges, peaking early then settling to about 0.1–0.2 — the policy committing to a narrow answer style.
Composite reward progression
Composite reward, raw and smoothed.
Cree reward channels over training
Each Cree reward channel, tracked independently.
No fluency or community-validation claim is made from this run. The useful signals are per-channel reward movement, English→Cree versus Cree→English asymmetry, and orthography behavior on held-out prompts.
Usage
python
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
34base_model_name ="Qwen/Qwen3-30B-A3B-Instruct-2507"5adapter_name ="HarleyCooper/Cree1865"67model = AutoModelForCausalLM.from_pretrained(8 base_model_name, device_map="auto", torch_dtype="auto", trust_remote_code=True,9)10tokenizer = AutoTokenizer.from_pretrained(base_model_name)11model = PeftModel.from_pretrained(model, adapter_name)1213messages =[14{"role":"system","content":"You are a Cree language assistant working from Watkins 1865. Return only the answer."},15{"role":"user","content":"Translate 'a good man' to Cree, preserving the 1865 orthography."},16]17text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)18inputs = tokenizer(text, return_tensors="pt").to(model.device)19outputs = model.generate(**inputs, max_new_tokens=64, do_sample=False)20print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Treat the output as a first attempt — a starting point for community correction, not a final answer.
Limitations & Ethical Notes
The source is a missionary-era dictionary published in 1865. It reflects the orthography, analysis, and colonial-era framing of its time, recorded across the Hudson's Bay territories. Outputs can inherit mistakes, omissions, and outdated descriptions from both the source extraction and the base model.
This is not a Cree language authority, a fluent-speaker replacement, or a production translation system.
Many tasks are dictionary lookups, not natural conversation; the reward verifies lookup behavior, not communicative fluency.
Cree language work should be reviewed with appropriate community and linguistic expertise.
The model is designed to be corrected: it is the working endpoint for a community-in-the-loop stage, not a finished teacher.
No community has certified this model as fluent, authoritative, or safe for language instruction.
Citation
Watkins, E. A. (1865).A Dictionary of the Cree Language, as Spoken by the Indians of the Hudson's Bay Territories. London: Society for Promoting Christian Knowledge. Internet Archive: cihm_41985.
bibtex
1@misc{cree1865_model,
2 title = {Cree1865: A Single-Volume GRPO Cree Language Adapter},
3 author = {Cooper, Christian Harley},
4 year = {2026},
5 note = {Base: Qwen/Qwen3-30B-A3B-Instruct-2507. Source: Watkins 1865 (IA cihm_41985).
6 Method derived from Dakota1890.}
7}
Infrastructure & lineage: Thinking Machines Tinker (RL), Anthropic (VLM extraction), and the Dakota1890 pipeline this work replays.