MOAT Projector Verdict — the ANCHOR/FAST weight projector, from GSM8K to Big-Math

Integration of five MOAT lanes · #45 (scorecard) · #47 (linear) · #48 (2nd-order) · #49 (adaptive) · #60 (cross-dataset) · Qwen2.5-1.5B-Instruct · fast CORE-4 harness, full-fidelity confirmed

VERDICT: PASS   cross-dataset: DATASET-SPECIFIC

Bottom line. The best current ANCHOR weight-projector is the fixed damped-linear rule — a single global damping scalar (λ≈0.3) applied at anchor spacing Δ=5, costing 1 scalar of state. On GSM8K it clearly wins: it predicts future weights better than holding stale weights (op-point ratio 0.9396 < 1.0, +11.7% explained variance, useful out to ~30 global steps), with no tensor family breaking. Neither fixed second-order (#48) nor the self-correcting adaptive arms (#49) beat it by the ≥0.01 margin, so prefer-simplicity keeps the fixed rule.

But it does not generalize. On Big-Math (#60) the exact same rule collapses to do-nothing (λ*→0, ratio 1.0000) and no method beats holding stale weights — because consecutive weight-update directions are near-orthogonal (consec_delta_cos 0.15 vs 0.86 on GSM8K), so there is no coherent trajectory to extrapolate. Per the decision rule, the projector is reported as dataset-specific and NOT adopted as a universal ANCHOR default: the comm-eff design must gate projection on trajectory coherence and fall back to a shorter refresh / hold-stale where the path is incoherent.

0.9396
GSM8K op ratio — fixed damped-linear beats do-nothing (lower is better)
1.0000
Big-Math op ratio — same rule = do-nothing (λ*→0)
0.86
GSM8K update alignment — coherent path to project along
0.15
Big-Math update alignment — near-orthogonal, nothing to project

1 · The question

In communication-efficient pipeline-parallel GRPO, a stale ANCHOR worker must cheaply stay close to the live model. The test: can it predict future weights more accurately than simply holding its stale copy? We score seven projectors — hold_stale (do-nothing), naive_linear, damped_linear, naive_second_order, damped_second_order, and the adaptive adaptive_linear/adaptive_second_order — plus the #49 self-correcting arms, replayed over real fp32 GRPO weight trajectories. The headline metric is weight_proj_ratio = projected-error / stale-error (a value < 1.0 means projection helps); absolute accuracy is pred_evr (explained variance vs the true future weights). Two datasets: GSM8K (EXP-57) and Big-Math (EXP-58).

2 · GSM8K — projection wins

At the operating point (per-step Δ=10, h=10), damped_linear is the winner: ratio 0.9396 with λ*=0.3. The adaptive arms edge it by hundredths (best arm armA K5 = 0.9351, only −0.004), and fixed second-order is far worse (1.1482, curvature zeroed out). Prefer-simplicity keeps the fixed rule.

methodratio ↓pred_evr ↑λ*/μ*h*state
armA_rolling_ls_k_K5 (best arm)0.93510.12051
adaptive_linear0.93800.11720.281301
adaptive_second_order0.93870.11800.335202
damped_linear0.93960.11710.300301
hold_stale1.00000.000000
damped_second_order1.1482-0.32500.00021
naive_linear1.1546-0.543020
naive_second_order1.8760-2.717100

Ranked by weight_proj_ratio at op-point (per-step Δ=10, h=10, GLOBAL row). Green row = the chosen fixed winner; blue = best adaptive arm. Source: MOAT-48 (base ladder) + MOAT-49 (arms).

GSM8K — accuracy vs horizon (op Δ=10) · damped_linear stays below do-nothing; naive blows up0.610.871.141.411.681.94do-nothing (ratio=1.0)12510203040horizon h (per-step units)weight_proj_ratio (lower = better)hold-stale (do-nothing)naive_lineardamped_linear (WINNER)damped_2nd_orderadaptive armA K5
GSM8K — Δ-sensitivity · smaller Δ projects better (best Δ=5)0.830.860.900.940.981.01do-nothing (ratio=1.0)51020253540anchor spacing Δ (ticks)weight_proj_ratio
GSM8K — damped_linear ratio over (Δ, h) · green = projection helps0.740.770.840.900.950.97Δ=50.850.870.910.940.970.98Δ=100.930.940.950.970.98Δ=2012510203040projection horizon h (ticks)
GSM8K — projection ratio by tensor family (all < 1.0, no breakers)1.0embed (block)0.9176lm_head (speci)0.9176bias (block)0.9242v_proj (block)0.9317norm (block)0.9353o_proj (block)0.9364down_proj (block)0.9387up_proj (block)0.9400mlp (super)0.9406attention (super)0.9407k_proj (block)0.9426gate_proj (block)0.9427q_proj (block)0.9438

Projection helps everywhere on GSM8K — every block type, super-block and special family sits below 1.0 (best: embeddings & tied lm_head at 0.918). No load-bearing family breaks, so a single global scalar is enough. R²↔ratio Spearman ρ=−0.75 (from #47): the more linearly-predictable a group's trajectory, the more projection helps it.

3 · Cross-dataset — Big-Math breaks it

Re-scored on Big-Math at its op-point (per-tick Δ=5, h=10 = 200 global steps), every projector collapses to do-nothing. The λ-grid drives the fixed rule to λ*=0.0 (ratio exactly 1.0000); the best adaptive arm gains a rounding-level −0.0001; naive projection blows up (1.7–4.2×).

methodratio ↓pred_evr ↑λ*/μ*h*state
armD_W5_one_over_t (best arm)0.99990.00020.0161
hold_stale1.00000.000000
damped_linear1.0000-0.00120.00021
adaptive_second_order1.0001-0.00030.02852
adaptive_linear1.0002-0.00060.02851
naive_linear1.7273-1.917500
damped_second_order1.7466-2.04760.00001
naive_second_order4.2236-16.752300

Ranked by weight_proj_ratio at op-point (per-tick Δ=5, h=10, GLOBAL row). Do-nothing is effectively best; the fixed bar degenerates to it. Source: MOAT-58.

Big-Math — accuracy vs horizon (op Δ=5) · every projector pinned at / above do-nothing0.751.191.632.072.512.95do-nothing (ratio=1.0)1·202·405·10010·20020·40030·600horizon h (ticks · ×20 = global steps)weight_proj_ratio (lower = better)hold-stale (do-nothing)naive_lineardamped_linear (WINNER)damped_2nd_order
Big-Math — damped_linear ratio over (Δ, h) · flat white ≈ do-nothing1.001.001.001.001.00Δ=21.001.001.001.001.00Δ=51.001.001.001.00Δ=10125102030projection horizon h (ticks)
Same rule, two datasets — damped_linear at Δ=5 · the generalization gap0.670.750.830.921.001.08do-nothing (ratio=1.0)125102030horizon h (ticks)weight_proj_ratio (lower = better)GSM8K damped_linear (Δ=5)Big-Math damped_linear (Δ=5)
Mechanism — alignment of consecutive weight-update directions (consec_delta_cos)0 = orthogonal (no trajectory to project) · 1 = perfectly aligned (a straight path to extrapolate)Big-Math 0.15GSM8K 0.860.01.0
Big-Math — projection ratio by tensor family (all ≈ 1.0; bias HARMS)1.0q_proj (block)1.0000k_proj (block)1.0000v_proj (block)1.0000o_proj (block)1.0000gate_proj (block)1.0000up_proj (block)1.0000down_proj (block)1.0000norm (block)1.0000embed (block)1.0000attention (super)1.0000mlp (super)1.0000lm_head (speci)1.0000bias (block)1.0078

On Big-Math no family is helped (all λ*→0, ratio 1.0000) and bias is actively harmed (1.0078) — the one place projection does anything, it hurts. The mechanism is the alignment of consecutive weight updates: GSM8K's optimization path is coherent (0.86, a near-straight line to extrapolate), Big-Math's is not (0.15, each step turns a fresh direction) — so there is nothing for a linear rule to project along.

4 · The eight verdict questions

Q1 · Which projector?
Fixed damped-linear (single global damping scalar). Second-order (#48, +0.2086 worse) and adaptive (#49, −0.004 < 0.01) do not justify extra state — prefer-simplicity selects the fixed rule.
Q2 · Best anchor spacing Δ?
Δ = 5 (smallest tested). Ratio rises monotonically with Δ (Δ5 0.871 → Δ40 0.971 at h=20); wider anchors carry a staler trajectory.
Q3 · How far can we project (h_safe)?
GSM8K: ≈30 global steps (per-step; per-tick h=40). Naive projection only survives 2. Big-Math: ≈0 — do-nothing is optimal.
Q4 · Cadence-faithful op (Δ=20,h=20)?
PASS on GSM8K — per-tick GLOBAL ratio 0.940 < 1 (λ*=0.3, pred_evr +0.118).
Q5 · Primary op (per-step Δ=10,h=10)?
PASS on GSM8K — ratio 0.9396 < 1 (OOS 0.9403 / oracle 0.9369).
Q6 · Correction state ANCHOR carries?
Tiny — 1 global scalar. Adaptive 1-scalar and 2-param second-order add state without clearing the 0.01 margin.
Q7 · By layer / block / family?
A single global scalar suffices on GSM8K — 0/638 family rows break (max 0.972). Self-correction helps most on embed/bias/v_proj, least on q/k_proj. On Big-Math nothing helps and bias is actively harmed (1.008).
Q8 · Absolute accuracy + does feedback keep improving?
GSM8K pred_evr +0.117 (fixed) / +0.121 (best arm, <0.01 gain); trajectory r2_median 0.535; R²↔ratio Spearman ρ=−0.75. Big-Math pred_evr ≤ 0 for every projector (do-nothing = 0.0 is best); r2_median 0.485. Feedback keeps adapting (λ 0.19→0.36) but never crosses the prefer-simple threshold.

5 · Tensor-family verdict & decision rules

Required family comparison

strategycallevidence
all tensors projectedPROJECT (GSM8K)Every family ratio &lt; 1.0 at the op; global scalar works uniformly.
decoder weights onlynot neededNo decoder family breaks — no reason to restrict to decoder-only.
+ embeddings / lm_headPROJECT (tied)embed &amp; tied lm_head both 0.918 (best-projecting family) on GSM8K; not a special case.
copy-latest normsoptionalnorm 0.935 on GSM8K (projects fine); copy-latest is a safe cheap alternative, not required.
copy-latest biasesCOPY-LATEST / excludebias projects on GSM8K (0.924) but is the ONLY family that HARMS on Big-Math (1.008) — safest to copy-latest, not project.
per-group scalarnot requiredGlobal scalar already &lt; 1 everywhere on GSM8K; per-group adds state for no material gain.

Decision rules applied

ruleoutcomeevidence
PASS (ratio<1 + skill + clear h* + no family break)✅ GSM8Kdamped_linear 0.9396&lt;1, +0.117 skill, h*≈30, 0 breakers
prefer-simplicity (adaptive must beat fixed by ≥0.01)→ fixedbest arm −0.004 &lt; 0.01 → keep fixed rule
prefer first-order (2nd-order must improve materially)→ first-orderfixed 2nd-order +0.2086 worse; adaptive 2nd-order only matches
prefer global (per-group only if a family breaks)→ globalno family breaks on GSM8K
no-go @ h=20 (nothing beats stale ⇒ different mechanism)GSM8K PASS · Big-Math NO-GOGSM8K h=20 ratio 0.967 &lt;1; Big-Math h=20 ratio 1.000 → triggers no-go

6 · State-cost vs gain

ANCHOR should carry the smallest state that clears the bar. Adding scalars (adaptive coefficient, curvature) never buys ≥0.01 on GSM8K, so the 1-scalar fixed rule is the efficient choice.

methodstate scalarsGSM8K rationote
hold_stale01.0000do-nothing baseline
fixed damped_linear (#47 WINNER)10.9396global lambda=0.3; prefer-simplicity selects this
adaptive_linear armA K=5 (#49 best arm)10.9351-0.0045 vs fixed bar (< 0.01) -> no carry
adaptive_second_order armB (#49)20.9385adds curvature state; still < 0.01 better -> no carry
fixed damped_second_order (#48)11.1482mu* zeroed OOS; +0.2086 WORSE

7 · Failure mode & what it means for comm-eff ANCHOR

Why projection stops helping. Linear (and second-order) projection assumes the weight trajectory has a persistent direction — that the next Δ steps continue roughly where the last Δ pointed. That holds on GSM8K (consecutive-update cosine 0.86) and fails on Big-Math (0.15): when successive optimizer steps are near-orthogonal, the best linear extrapolation of a stale anchor is itself (λ→0), and any non-trivial projection only adds error. This is not a harness artifact — it reproduces at full tensor fidelity and is uniform across depth and block type.

Implication for FAST/ANCHOR. Do not hard-code weight projection as a universal default. Gate it on a cheap online coherence signal (e.g. consec_delta_cos of recent completed updates): where the path is coherent, the fixed damped-linear rule (1 scalar, λ≈0.3, Δ=5) buys a real ~6% error reduction out to ~30 global steps; where it is incoherent, fall back to a shorter ANCHOR refresh cadence or plain hold-stale. This cross-dataset result feeds #56's "Cross-dataset generalization" section — the projector recommendation is conditional, not universal.

Provenance. All numbers trace to runs/MOAT-{45,47,48,49}-ANALYSIS (GSM8K, EXP-57) and runs/MOAT-58-ANALYSIS (Big-Math, EXP-58) scorecard.jsonl GLOBAL rows or the feeder verdict.md. Fast subsampled CORE-4 harness for screening; the deciding cells confirmed at full tensor fidelity (fast≡full, worst rel diff 0.0). Adaptive-arm margin re-verified: best GSM8K arm −0.0044 (rounds −0.0045), well below the 0.01 prefer-simplicity threshold. ρ=−0.75 is from the #47 verdict (not recomputed here). No-peek: every scored window uses only past completed weights.

Per-lane detail: runs/MOAT-47/48/49-ANALYSIS/report.html and runs/MOAT-58-ANALYSIS/report.html. This is a curated integration appendix, not a 338-panel atlas. Generated for issue #56 (feeds it; #56 closed on delivery).