--- title: Christian H. Cooper emoji: ⬛ colorFrom: green colorTo: indigo sdk: static pinned: false license: mit ---
# Christian H. Cooper ### ML engineer · modified GRPO · visual reasoning · languages from single books

GitHub X W&B Math-To-Manim

Quant trader turned ML engineer. I train small (and not-so-small) models with deterministic compositional rewards — then publish the adapters, datasets, Spaces, and W&B ledgers.
--- ## Run Stats (live research ledger) | Run | Model | Steps | Batch / Group | Headline metric | W&B | |---|---|---|---|---|---| | **Cree1865** `hda2wqhl` | Qwen3-30B-A3B + LoRA | **800** | 16 / 8 | composite **0.15 → ~0.30**; length channel → **~0.95** | [run](https://wandb.ai/christian-cooper-us/thinking-machines-qwen3-30b/runs/hda2wqhl) | | **Dakota 35B** `owf98569` | Qwen3.6-35B-A3B GRPO | **199** | 48 / 16 | composite **0.166 → 0.230**; char-overlap **0.14 → 0.40**; affix → **1.00** | [run](https://wandb.ai/christian-cooper-us/dakota-rl-grammar/runs/owf98569) | | **Dakota 0.6B-400** | Qwen3-0.6B GRPO | **400** | — | **+150%** reward; **90%** of gains in first **21%** of steps | [model](https://huggingface.co/HarleyCooper/Qwen3-0.6B-Dakota-Grammar-RL-400) |
Cree composite reward progression Dakota 35B reward progression
Left: Cree1865 composite reward · Right: Dakota 35B GRPO composite reward
Cree reward channels Dakota reward channels
Per-channel ledgers — no LLM judge. Every term is code-checkable.
--- ## Thesis ```text one public-domain volume → VLM extraction (preserve orthography) → executable grammar / dictionary rules → thousands of verifiable RL tasks → modified GRPO (deterministic reward ledger) → published adapter + Space → community correction (the real second stage) ``` **Generalized learning via modified GRPO:** qualitative linguistic goals become measurable primitives (orthography, affixes, containment, F1, length). The same loop that proved on Dakota1890 now runs on Cree1865 — and AutoScientist cycles try to improve the data, not just the weights. --- ## Featured Models | Artifact | What it is | |---|---| | [`Cree1865`](https://huggingface.co/HarleyCooper/Cree1865) | Watkins 1865 Cree dictionary adapter · GRPO · Tinker | | [`Qwen3.6-35B-A3B-Dakota1890-GRPO`](https://huggingface.co/HarleyCooper/Qwen3.6-35B-A3B-Dakota1890-GRPO) | Latest Dakota GRPO endpoint (35B) | | [`Qwen3-30B-Dakota1890`](https://huggingface.co/HarleyCooper/Qwen3-30B-Dakota1890) | 30B MoE Dakota LoRA | | [`Qwen3-0.6B-Dakota-Grammar-RL-400`](https://huggingface.co/HarleyCooper/Qwen3-0.6B-Dakota-Grammar-RL-400) | Tiny-model grammar proof · +150% reward | | [`nanochat-AquaRat`](https://huggingface.co/HarleyCooper/nanochat-AquaRat) | Algebraic reasoning RL | | [`Qwen.5B-OpenR1Math`](https://huggingface.co/HarleyCooper/Qwen.5B-OpenR1Math) | Open-R1 style math on 0.5B | | [`nanochat561`](https://huggingface.co/HarleyCooper/nanochat561) | Full-stack nanochat training card | --- ## Visual Reasoning
Math-To-Manim Pythagorean animation
Math-To-Manim (2.4k★) — animation as a reasoning eval
If a model can plan geometry, write Manim, and survive the render-repair loop, it can probably think.
Mythos learns Math-To-Manim
--- ## Languages from Single Books
Watkins 1865 title page Watkins 1865 · Cree dictionary ### Cree1865 Hypothesis test: **one historical volume** is enough to bootstrap a correctable low-resource model. - ~19.5k entries → ~38k RL tasks - Deterministic Cree reward ledger - Live Space: [`Cree1865-Tinker-Inference`](https://huggingface.co/spaces/HarleyCooper/Cree1865-Tinker-Inference) - Not a fluency claim — a community-correctable endpoint ### Dakota1890 ladder 0.6B proof → 30B LoRA → **35B GRPO**. Source: Riggs 1890 grammar & dictionary. Demo: [`Dakota-.6B`](https://huggingface.co/spaces/HarleyCooper/Dakota-.6B)
--- ## Datasets & Spaces **Datasets:** [`dakota-bilingual-qa`](https://huggingface.co/datasets/HarleyCooper/dakota-bilingual-qa) · [`adaption-dakota-english-qa`](https://huggingface.co/datasets/HarleyCooper/adaption-dakota-english-qa) · [`synthetic_stoney_data`](https://huggingface.co/datasets/HarleyCooper/synthetic_stoney_data) (68.8k) · [`StoneyNakoda`](https://huggingface.co/datasets/HarleyCooper/StoneyNakoda) · [`StoneyNakoda45k`](https://huggingface.co/datasets/HarleyCooper/StoneyNakoda45k) **Spaces:** [`Cree1865-Tinker-Inference`](https://huggingface.co/spaces/HarleyCooper/Cree1865-Tinker-Inference) · [`Dakota-.6B`](https://huggingface.co/spaces/HarleyCooper/Dakota-.6B) · [`StoneyApp`](https://huggingface.co/spaces/HarleyCooper/StoneyApp) · [`AskAboutMath2Manim`](https://huggingface.co/spaces/HarleyCooper/AskAboutMath2Manim) --- ## Quickstart ```python from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel base = "Qwen/Qwen3-30B-A3B-Instruct-2507" adapter = "HarleyCooper/Cree1865" model = AutoModelForCausalLM.from_pretrained(base, device_map="auto", torch_dtype="auto") tok = AutoTokenizer.from_pretrained(base) model = PeftModel.from_pretrained(model, adapter) ``` Treat outputs as **first attempts** for community correction — not authorities. ---
GitHub · W&B · Dakota1890 · Cree1865 · Math-To-Manim