Skip to content
View HarleyCoops's full-sized avatar
😁
Cooking what is next
😁
Cooking what is next

Block or report HarleyCoops

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
HarleyCoops/README.md

Christian H. Cooper

Quant trader turned ML engineer. I train small models to do hard reasoning — and to speak endangered languages.

3D Contribution Chart


Now

  • Training Qwen3-0.6B on Dakota grammar via GRPO — fluent output from a 0.6B model on a language with <3k speakers.
  • Extending the Stoney Nakoda corpus past 68k synthetic + 14.5k real rows.
  • Building Manim animations as reasoning benchmarks for small LLMs — if a model can render a 62-face recursive polyhedron, it can probably think.

Selected Work

Language preservation at model scale

Stoney Nakoda and Dakota each have fewer than 3,000 fluent speakers. I've built a bilingual corpus — 68.8k synthetic + 14.5k real rows — and fine-tuned Qwen3-0.6B with GRPO to produce grammatically correct Dakota output on commodity hardware.

StoneyNakoda repo · Qwen3-0.6B-Dakota-Grammar-RL · live demo

Qwen3-0.6B · GRPO · synthetic data · RLHF

Reasoning on tiny models

GRPO experiments on 0.5B-parameter bases, showing that structured reward shaping can coax real reasoning out of models small enough to run on a laptop. AQuA-RAT, GSM8K, and Open-R1 math traces.

OneShotGRPO · nanochat-AquaRat · Qwen.5B-OpenR1Math

Qwen2.5-0.5B · GRPO · AQuA-RAT · GSM8K

Recursive Rhombicosidodecahedron

Math-To-Manim — animation as reasoning eval

A 62-face Archimedean solid where each vertex recursively contains another polyhedron. Most LLMs fail this on the coordinate math alone — which is precisely why it's a useful benchmark for code-gen reasoning.

Math-To-Manim

Manim · computational geometry · Python

Black-Scholes volatility surface

Derivatives, made legible

Black-Scholes implied-volatility surface across strikes and maturities. The shape of the smile is the thing exotic pricing actually trades against — bringing a CFA background to bear on visualization.

Math-To-Manim

Black-Scholes · QuantLib · Manim


Published Models & Datasets

Hugging Face  9 models · 6 datasets · 6 Spaces

Artifact What it is Link
Qwen3-0.6B-Dakota-Grammar-RL Dakota grammar via GRPO, Qwen3-0.6B base model
nanochat-AquaRat RL on algebraic reasoning (AQuA-RAT) model
Qwen.5B-OpenR1Math Open-R1 style math reasoning, 0.5B model
dakota-bilingual-qa 2.45k Dakota-English Q&A pairs dataset
synthetic_stoney_data 68.8k synthetic Stoney Nakoda rows dataset
StoneyNakoda 14.5k real Stoney Nakoda corpus dataset
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

mdl = "HarleyCooper/Qwen3-0.6B-Dakota-Grammar-RL"
tok = AutoTokenizer.from_pretrained(mdl)
model = AutoModelForCausalLM.from_pretrained(mdl, torch_dtype=torch.float16, device_map="auto")
print(tok.decode(model.generate(**tok("Translate to Dakota:", return_tensors="pt").to(model.device), max_new_tokens=64)[0], skip_special_tokens=True))

Tape

Auto-updated every 6 hours via GitHub Actions.

Category Date Headline
- - Pending first run of the news workflow

Proof — cited on Google Scholar · publicly engaged with @karpathy

Karpathy reply

Google Scholar citation


𝕏 @christiancooper · LinkedIn · Hugging Face · dev.to · Kaggle

Pinned Loading

  1. Math-To-Manim Math-To-Manim Public

    Create Epic Math and Physics Animations & Study Notes From Text and Images.

    Python 1.8k 205

  2. StoneyNakoda StoneyNakoda Public

    A locally trained model of Stoney Nakoda has been developed and released. You can access the working model here or train your own instance.

    Python 10

  3. OneShotAquaRAT OneShotAquaRAT Public

    One click away from a locally downloaded, fine-tuned model, hosted on hugging face, with inference built in. In two hours.

    Jupyter Notebook 24 4

  4. nanochat561 nanochat561 Public

    Forked from karpathy/nanochat

    The best ChatGPT that $250 can buy.

    Python 6 2

  5. Dakota1890 Dakota1890 Public

    Using GRPO and a modified compositional reward function to train an opensource model on the 1890 Dakota Dictionary

    HTML 13

  6. TinyRecursiveInference TinyRecursiveInference Public

    Forked from SamsungSAILMontreal/TinyRecursiveModels

    Python