a one-machine research lab · MIT

Build a specialist.
Prove it on one Mac.

Turn a stock open model into a routed specialist on one Mac — then measure every win and regression. Distill, fine-tune, evaluate, package for MLX, and inspect the result.

Native Mac app Verified and ready
  • 100%file ops · 12/12 · stock 9/12
  • 55.6%breadth · 25/45 · stock 30/45
  • 0unexpected side effects · stock 8
  • 2.42×depth wall speed · 360.50s → 148.91s

choose an entry point

One lab, four ways in.

Build locally, work in the browser, inspect the evidence, or follow a structured learning path. Each route leads to something runnable or source-linked — not a feature claim without an artifact.

01 Native factoryTrain · evaluate · package · report on Apple Silicon 02 Web LabBrowser training, inference, WebGPU tests, and dashboards 03 Evidence76 attempts · 17 public artifacts · frozen gates 04 Learning journey9 paths · 18 recipes · 13 things to build

the thesis

Not trying to win the frontier. Trying to reach frontier capability at a fraction of the compute — and to understand the whole machine while doing it.

Win on the Mac. Be best-in-class at what one Apple Silicon machine can actually do — train, post-train, evaluate, serve, inspect — with no cluster and no cloud dependency.

Learn the whole space. From y = mx + b to a self-improving factory. Techniques are reproduced locally or integrated from the best available tools, anchored to evidence, and mapped to the files where they live.

Show the scars. Failed runs are first-class. Every attempt is logged with the decision it forced. A number without its regression is marketing, not a result.

Build everything buildable here. If it fits on this Mac, it gets built — and packaged so that when compute arrives, the lab scales from a running start.

The loop the runtime closes.

Each surface emits the input the next one needs. Every run ends in a schema-valid folder — config, dataset, eval, decision, report — that factory-run validates.

  1. 01targetfile operations
  2. 02datainterleaved + depth anchor
  3. 03post-trainteacher-free ReST
  4. 04evaldepth 12/12 · breadth 25/45
  5. 05packagefused bf16 · HF/MLX
  6. 06deciderouted-ship

fresh paired proof · evaluated 2026-09-03 · qwen3-4b-rest-fused moved file operations from 9/12 to 12/12, removed eight side effects, and ran that slice 2.42× faster. breadth fell from 30/45 to 25/45, so the decision is retain behind the file-ops route, not promote as the general successor.

Specialists, honest by design.

A specialist beats a generalist on its target and routes away when it shouldn't answer. Every result ships with the regression it costs.

research routed-ship · weights4B · MLX

Qwen3-4B, ReST fused

Fresh requalification moved file-operations depth from 9/12 to 12/12, removed eight side effects, and ran the slice 2.42× faster. Breadth fell to 25/45 versus stock's 30/45, so it remains an explicit routed specialist.

file-ops gate
9/12 → 12/12
breadth gate
30/45 → 25/45

This is a depth, safety, and speed win—not a general-capability win. The frozen breadth regression forces routed-only use.

Artifact, evidence, and limits →
report-only candidate0.6B · routed

Qwen3-0.6B, routed SQL

Two adapters behind a router. Two reference-anchored DPO retries cured a policy collapse and pushed execution to 0.920 — but output hygiene is a base-model prior a small adapter can't strip. Decision: retry-data.

synthetic exec
0.860 → 0.920
clean-SQL
0.000
Full artifact + blockers →
Every artifact, with evidence and blockers →

Current specialist evidence.

These figures belong to qwen3-4b-rest-fused. The breadth set passed its frontier-ceiling calibration. Fresh paired traces support speed and memory reporting; the route stays narrow because the candidate lost five net breadth cases.

100%file opshard gate · n=12
55.6%breadthfrontier-qualified · n=45
−11.1pointsversus stock breadth · reject general
HF + MLXpackagefused bf16 weights
2.42×depth wall speed360.50s → 148.91s
Read the scorecard, evidence, and limits →

The whole stack — audited against the code.

Not a landing-page inventory. The capabilities below map to real subcommands and repository test or evaluation evidence.

train

Pretrain, SFT, DPO / SimPO / KTO / ORPO, distillation, ES. Full PEFT — LoRA, LoRA+, DoRA, VeRA, LoftQ, AdaLoRA, PISSA. WSD schedules, spike recovery, z-loss.

eval

BFCL, τ-bench, lm-eval (MLX adapter), HumanEval + sandbox, SQL execution, router, MILU, MTEB. Frozen baselines, slice metrics, non-zero-exit gates.

serve

OpenAI- and Ollama-compatible on one socket. Agent loop, tool dispatch, FSM-constrained JSON, persistent KV cache, speculative decoding, optional cloud escalation.

package

Export to MLX, safetensors, CoreML. Quantize (GGUF / AWQ / GPTQ / HQQ), prune, merge, bake-LoRA with DoRA magnitudes. Specialist model cards.

inspect

SAE features, ROME, MEMIT, tuned / logit lens, activation patching, linear probes, attention heatmaps. Know where the model decides.

browser

The same model trains in a browser tab via hand-written WebGPU kernels — Memory64, FlashAttention-2, blocked matmul. A from-scratch learning track, honest negative results included.

The lab keeps a paper trail.

Most attempts are not clean wins. That is the useful shape of the evidence: caveated mechanism proofs and non-positive boundary results stay visible, with the decision they forced and the files where the evidence lives.

all 76 attempts resolved The result distribution, without spin. 5worked cleanly 37worked with caveat 34failed, regressed, rejected, inconclusive, or superseded

“Worked with caveat” means the mechanism was demonstrated inside a stated boundary; it is not a positive product result. The 34 non-positive or mixed attempts are retained as boundary maps, not hidden as unsuccessful demos.

Honest scope.

  • A single-developer project, shipping in public, MIT.
  • Mac-first — M-series, unified memory, MLX-Swift.
  • Models and runs are deliberately bounded to the available hardware.
  • One research-only routed ship, with missing evidence disclosed.
  • A factory for specialists, not a general assistant.
  • An OpenAI-compatible runtime any client already speaks.
  • Not a product-default proof. The ReST package still needs a fresh, Pace-specific gate before any runtime promotion.
  • Not multi-GPU or distributed. One device, one Mac.
  • Not a cloud product. Nothing leaves the laptop unless you ask.

See the training loop.
On a tiny model.

The browser playground is a bounded learning demo, not the specialist factory. Train a tiny GPT there, or use the native quickstart for a real Mac-local factory run.

Build the specialist, then prove it.

Five evidence-first guides connect the public factory to concrete Apple Silicon workflows.

How to train your own LLM Fine-tune an LLM on Mac MLX LoRA and QLoRA Evaluate a local LLM Build a trajectory dataset Build a routed specialist