Problem
Your hypothesis table's row 1 — "Routing history can place experts better than plain LRU; learned pins improve repeated workloads, but can overfit a prompt" — is the one I'd like to help close. It currently needs held-out, cross-session A/Bs across coding/chat/multilingual/long-context workloads.
I come at it with relevant (negative) prior art. I built Spike — a smaller, MLX/Python weight pager that tested the decoupled version of this idea: a Markov predictor over block-id transitions, trained offline from traces, blind to the router. Measured result on a dense model (Qwen3.5-9B; full write-up in FINDINGS.md):
- 97% of a token is weight I/O at wire speed, 2.3% is GPU compute — a bandwidth wall, so prediction has almost no compute window to hide behind.
- The history-based predictor was net-negative (0.48 tok/s uncapped, 0.75 capped, vs 0.97 off): speculative reads stole bandwidth from the demand read.
- Raising residency was slower (n_slots 6→0.97, 16→0.74, 33→0.26 tok/s): pinned pager RAM evicted the OS page cache doing the real reads.
Honest caveat: Spike's result is on dense, where every layer fires every token — so it does not directly answer whether expert-transition history helps MoE placement. But it's a data point that history-based prefetch has a narrow regime and real failure modes (bandwidth steal, overfit), which is exactly the open question in row 1.
Proposed solution
Implement an expert-transition-history placement policy as a selectable policy alongside gate-momentum / LFRU (gated behind an env knob in the existing PILOT/HOT style), then run the controlled A/B row 1 asks for:
- Policy: order-1 (optionally order-2) Markov over
(layer, expert_id) transitions across tokens/sessions, feeding tier_pick_* / the pinning set. Decay + held-out evaluation to expose the overfit failure mode directly.
- Baseline: current gate-momentum + LFRU (unchanged).
- Workloads (held out from any training): coding, chat, multilingual, long-context — cold-cache and warm-repeatable, cross-session.
- Metrics: tok/s, TTFT, expert hit rate, bytes/token, pin churn.
- Method: commit-pinned, exact commands, hardware + storage controller, warm-up policy, N≥5 runs, median, negative results published. Oracle stays green (
SNAP=./glm_tiny TF=1 ./glm …) — this is a placement policy, not a semantics change.
I'm offering to do the implementation on a dev PR. Not claiming Spike solves something Colibri doesn't — Colibri's router-coupled prefetch is already strictly stronger than Spike's router-blind one. The contribution is the controlled measurement of the history signal itself, including where it loses.
Alternatives considered
- Treat history purely as a pin signal (warm-store residency) rather than a prefetch signal — avoids the bandwidth-steal failure mode Spike hit. Worth testing both, since they fail differently.
- Order-2 only if order-1 shows signal — keep the first cut minimal.
Scope and compatibility
Policy is opt-in (env var), default dependency-free CPU path unchanged, no new deps, no model-format or router-semantics change. Touches olmoe.c placement + a small history struct + a tier hook.
Problem
Your hypothesis table's row 1 — "Routing history can place experts better than plain LRU; learned pins improve repeated workloads, but can overfit a prompt" — is the one I'd like to help close. It currently needs held-out, cross-session A/Bs across coding/chat/multilingual/long-context workloads.
I come at it with relevant (negative) prior art. I built Spike — a smaller, MLX/Python weight pager that tested the decoupled version of this idea: a Markov predictor over block-id transitions, trained offline from traces, blind to the router. Measured result on a dense model (Qwen3.5-9B; full write-up in FINDINGS.md):
Honest caveat: Spike's result is on dense, where every layer fires every token — so it does not directly answer whether expert-transition history helps MoE placement. But it's a data point that history-based prefetch has a narrow regime and real failure modes (bandwidth steal, overfit), which is exactly the open question in row 1.
Proposed solution
Implement an expert-transition-history placement policy as a selectable policy alongside
gate-momentum/ LFRU (gated behind an env knob in the existingPILOT/HOTstyle), then run the controlled A/B row 1 asks for:(layer, expert_id)transitions across tokens/sessions, feedingtier_pick_*/ the pinning set. Decay + held-out evaluation to expose the overfit failure mode directly.SNAP=./glm_tiny TF=1 ./glm …) — this is a placement policy, not a semantics change.I'm offering to do the implementation on a
devPR. Not claiming Spike solves something Colibri doesn't — Colibri's router-coupled prefetch is already strictly stronger than Spike's router-blind one. The contribution is the controlled measurement of the history signal itself, including where it loses.Alternatives considered
Scope and compatibility
Policy is opt-in (env var), default dependency-free CPU path unchanged, no new deps, no model-format or router-semantics change. Touches
olmoe.cplacement + a small history struct + a tier hook.