Research archive
Updated 5 August 2026

Research, with the working state left visible.

I work at the boundary between model architecture and inference systems: speculative decoding, draft-head compression, expert pruning, quantization, and deployment under fixed memory and power budgets.

Publication policy

“Working paper” means the question and protocol are stable enough to inspect. It does not imply peer review, a venue, or a finished result.

Working papers / 01

The working papers.

The papers grow from live experiment ledgers. Each carries its version and status; a concluded paper keeps its failed arms visible.

WP–01 / concluded
Speculative decoding · draft-head compression

Small-vocabulary MTP heads for memory-bound speculative decoding

A compact MTP block with its own hot-token vocabulary, trained against the real deployment regime. The audit answered: function cuts pay a 10–19 point off-distribution tax that fidelity cuts do not, and the zero-training trimmed-vocabulary recipe survives.

Status
Study concluded · harness public
Model
Qwen3.5-9B · 27B compose
Current signal
1.82× wall time at 9B · 2.88× composed at 27B
WP–02 / active
MoE · pruning · quantization

Prune, heal, quantize: composing expert pruning with low-bit MoE deployment

Router-weighted expert pruning preserves the router's freedom but removes function. The study asks how much full-function healing restores, how quantization composes with that recovery, and where mixed precision should go next.

Status
Artifact published · allocator built
Model
Qwen3-30B-A3B → Hy3
Current signal
83.5% retention at the 100GB cap
Result notes / 02
Mixed result · concluded 3 Aug 2026 · repo ↗

The memory-layer retrofit is free; its forgetting advantage never reached significance.

Grafted a product-key memory layer post-hoc onto a stock dense Qwen3-4B and ran five sequential update rounds against LoRA—the regime the published 0.5B single-shot retrofits never touched. The supposed capability cost of the retrofit turned out to be the routing warmup's step size: at lr/10 the graft costs 0% on arithmetic and format, is negative on code and trivia, and still reaches full acquisition by round three. The headline forgetting advantage failed to appear in 12 of 12 probe-arm confidence intervals, including a reference-faithful reproduction of Meta's parameterization.

0% cost 15% 30% arithmetic code format triviaqa warmup at lr 1e-2 · +3.1% warmup at lr/10 · 0.0% +3.1% warmup at lr 1e-2 · +13.2% warmup at lr/10 · −1.9% +13.2% warmup at lr 1e-2 · +6.7% warmup at lr/10 · 0.0% +6.7% warmup at lr 1e-2 · +34.0% warmup at lr/10 · −8.3% +34.0% ● warmup at lr/10 ○ warmup at lr 1e-2
Capability cost of the routing warmup, by probe (mean of 3 seeds). The entire "retrofit tax" was the warmup's step size: at lr/10 every probe sits at or below zero cost while acquisition still reaches 1.000 by round three.
Evidence

Three configurations × three seeds, four retention probes, per-arm learning-rate calibration, acquisition gating. Four earlier verdicts were self-overturned—context copying, a dense update in sparse clothing, an unseeded RNG—and the superseded runs stay in the repo as receipts.

Decision

Power analysis says n=3 could never have resolved the claim (required n runs 2–621 per probe). A ~30-seed-per-arm run, and the 3× code-variance drop under the reference config, are what can change the status.

One model, one graft layer, synthetic facts; the five-round regime showed nearly the full effect by round one.

Positive result · 3/3 seeds · repo ↗

Layer-loop weight sharing needs the ε=λ/(N√L) fix—and then beats vanilla in the data-constrained regime.

Combined two results that had never met: layer-loop weight sharing (proved with unscaled residuals) and looped-residual scaling theory (analyzed on model-loop reuse). The correlated-accumulation pathology is real and mixer-agnostic—proved numerically, then confirmed in from-zero pretraining: the fix's gain follows 0.0122·(N−1) with R²=0.993 and pins the optimal learning rate at its N=1 value. The centerpiece: under fixed unique tokens (~20 epochs) at d=768, the looped+scaled model beat the FLOPs-matched vanilla on best-achievable validation loss on 3 of 3 seeds (−0.039±0.003) with 34% fewer parameters. The flip held in all three mixer families—seven paired runs, zero sign flips—and the hybrid rounds isolated the rule: loop the state-mixer, never the retriever.

4.63 val loss 4.65 4.67 4.69 vanilla · 123.7M looped · 81.2M seed 7 · 4.6831 seed 13 · 4.6837 seed 29 · 4.6775 4.678–4.684 seed 7 · 4.6438 seed 13 · 4.6481 seed 29 · 4.6352 4.635–4.648 ● looped+scaled (ε=λ/(N√L)) ○ vanilla, FLOPs-matched
Best-achievable validation loss at d=768, data-constrained (~20 epochs over fixed unique tokens), three seeds per arm. The looped model wins every seed pairing with 34% fewer parameters; the seed spreads never overlap.
Evidence

Eleven pre-registered GPU rounds plus five CPU numerical proofs; a no-single-seed rule that forced one retraction of the campaign's own headline; the fresh-data crossover claim refuted at every N and both mixer families.

Decision

The recipe holds where data, not compute, is the wall. The d≥1024 rung and the remaining hybrid seed legs decide whether the flip keeps growing with scale.

An MQAR probe bounded the mechanism: loops multiply what recurrent state holds; they do not replace attention recall.

Negative result · closed 22 Jul 2026 · repo ↗

Block-routed SwiGLU: the kernel is nearly free; the capability isn't there.

Prototyped input-dependent gate/up channel re-pairing inside a standard SwiGLU MLP—routing added without touching the two dominant matrix multiplications. The Triton kernel passed its cost gate on H100: +0.73–0.83% whole-block latency, CUDA-graph safe, zero extra peak allocation—after interleaved measurement exposed a 5–10× overhead inflation in the naive benchmark. The equal-parameter capability test then refuted the motivating hypothesis: 63.4% vs the baseline's 66.1% on held-out factor compositions across five seeds.

Evidence

Correctness matched the PyTorch reference; both arms sat at chance on the random-rule control, so the test measured composition, not memorization.

Decision

Cheap routing machinery is real; this routing rule earned no language-model run. The kernel and the negative are both public.

Negative result · closed 10 Jul 2026

NVFP4 compression alone did not degrade the co-trained MTP head.

The original hypothesis predicted hidden-state shift: quantize the trunk while keeping the co-trained MTP head relatively precise, and draft agreement should fall—especially with context depth. After removing confounds, it did not.

Evidence

Forced replay to 64k, generation-distribution replay, and seeded sampled live runs across two clean safetensors quantization recipes.

Decision

Close the compression-only healing premise. Keep live-chain drift separate. Redirect the project toward compact heads and harsher quantization regimes.

Documented in the experiment ledger with per-arm artifacts; the evidence matrix ships with the paper's first complete release.

Open programs / 03

Questions with apparatus built and receipts pending.

Each of these has a written protocol and public code; the deciding runs are what remains.

P1 / discipline fixed-compute-frontier

A preregistered kill-gate ledger: ~84 theory lanes hunting a ≥20% capability-per-cost win, each behind a frozen falsification gate and an independent audit before any GPU spend. Nearly all closed as receipted negatives—that discipline is the artifact. Bounded positives: a raw-evidence oracle put a +43-point causal information ceiling on compiled context records, and an analytic active-acquisition result cut probe cost 7.6×.

public · ledger ↗
P2 / surgery gemma-expert-atlas

Traced 3,840 experts of a 26B MoE across 55 routing calibrations on my own agent workload, then ran a gated probe ladder: globally-dead experts zero-masked at exactly 0.0000 quality delta, a 46-expert eviction mask gained +0.048 reasoning-off—and per-category gates rejected broad trims and hard substitutions that aggregate scores would have approved.

public · probe ladder ↗
P3 / formation moe-lab

How should experts form during training so they are prunable later? Three router-balancing regimes—Switch-style aux loss, DeepSeek-V3 aux-free, aux plus output decorrelation—on from-scratch models, with REAP-style saliency against a random-prune control and kill criteria written before the matrix runs.

public · pre-registered ↗
P4 / retrieval sxc

Retrieval over a personal corpus with a trained judge. ColBERTv2 tied the SPLADE→ColBERT hybrid at 22× lower latency and became the default; a 9B LoRA judge reached 0.937 balanced accuracy against the prompted 27B teacher's 0.823; question-style synthetic training data beat seed-style at every scale tested—4× more data did not close the gap. The 27,456 judge-rejected hard negatives are the untested lever.

public · RESEARCH.md ↗
P5 / method assumption-excavator

A verdict-suppressed excavation loop that makes an LLM agent attack a hard problem by classifying every barrier as physical law or shared contingent primitive. Three trials named two failure modes—mode collapse inside a novelty loop, and fabrication laundered through python—and the third trial self-corrected its own fabrications mid-run. Full transcripts ship with it.

public · transcripts ↗
Method / 04

What I expect a research page to disclose.

A result is easier to trust when the site makes it obvious what could still overturn it.

  1. 01

    Question

    A falsifiable claim, a target regime, and a reason the answer changes what gets built.

  2. 02

    Protocol

    Matched models, prompts, seeds, context lengths, baselines, noise floor, and success criteria written before the headline.

  3. 03

    Artifact

    Code, configs, model provenance, logs, and the exact path from checkpoint to reported number.

  4. 04

    Decision

    Supported, refuted, or still open—plus the failed arms and the next experiment that can change the status.

Collaboration · counterexamples

Have a result I should compare against?