minGRU · benchmark validation

Empirical evidence · L4 GPU stratum

Validation, not a leaderboard.

Nine mixer arms on four accepted public tasks — S5, MQAR, psMNIST, and an irregular-time pendulum control — each judged against a fixed fit bar set before the run, with a depth-matched classical GRU anchoring every comparison. The result is a two-dial mechanism story, not a single winner.

9mixer arms
4public tasks
36/12seeds per arm
36/36MQAR: only the delta family fits

How to read this

A fit is trainability at a fixed bar — measured, then anchored.

Every task's fit bar was frozen before the matrices ran. A cell counts how many seeds cleared their own validation-metric bar, not how well they generalize; the two reads are always reported apart.

S5
val128 ≥ 0.99
36 seeds · symmetric-group word problems
MQAR
val_qacc ≥ 0.99
36 seeds · multi-query associative recall
psMNIST
val_acc ≥ 0.90
12 seeds · permuted-pixel MNIST
pendulum
val_mse ≤ 0.0014
36 seeds · irregular-time regression

The master result

The four tasks dissociate the mechanisms cleanly.

Pendulum fits for everyone (a positive control). MQAR fits only for delta. psMNIST is led by the delta family. S5 is solved at the matched config by exactly one arm.

arm S5 (n=36) MQAR (n=36) psMNIST (n=12) pendulum (n=36)
log0/360/360/1236/36
signed0/360/360/1236/36
rotation0/360/360/1236/36
signed-rotation0/360/360/1236/36
givens0/360/360/1236/36
delta0/3636/3610/1236/36
signed-givens1/360/360/1236/36
signed-delta0/3636/3612/1236/36
grucontrol0/360/363/1236/36
fit rate none → all seeds clear the bar control classical GRU anchor, never a matched competitor

Per-task detail

Each task isolates a different mechanism.

Fisher-exact contrasts are two-sided vs the log reference. Generalization columns are word-problem / query / test accuracy, raw over fit-only.

MQAR · associative recall

val_qacc ≥ 0.99

A pure delta dissociation: only the delta family fits, every non-delta arm sits at zero.

  • 36/36 delta and signed-delta both fit
  • 0/36 all seven other arms, including gru
  • 0.931 → 0.493 delta raw q-acc, 16 → 32 key-value pairs
  • 0.928 → 0.690 signed-delta, same sweep

Fisher vs log: p = 2.32 × 10⁻¹³  ·  matches the Zoology recall-capacity tradeoff (arXiv:2312.04927)

psMNIST · accumulation ordering

val_acc ≥ 0.90

The delta family leads on fit rate; signed-delta is the only threshold-stable fitting arm.

  • 12/12 signed-delta (best) · raw test 0.924
  • 10/12 delta · raw test 0.905
  • 3/12 gru control · raw test 0.885
  • 0.290 givens (weakest region: stacked pure rotation)

Fisher vs log: signed-delta p = 7.40 × 10⁻⁷, delta p = 6.73 × 10⁻⁵

S5 · group composition

val128 ≥ 0.99

Solved at the matched config by exactly one arm — a single seed that generalizes cleanly.

  • 1/36 signed-givens (continuous coupled-8D rotation + sign)
  • 1.000 / 0.976 / 0.817 its fit-only acc @ T256 / 512 / 1024
  • 0/36 every other matched arm, threshold-stable

Fisher vs log: p = 1 — a single-seed margin does not separate at n = 36. See the probe below.

pendulum · positive control

val_mse ≤ 0.0014

All nine arms fit at every robustness threshold — the harness trains end-to-end.

  • 36/36 every arm, including norm-preserving mixers and gru
  • p = 1 Fisher vs log for all arms

The decay channel is not the discriminating axis here — this arm proves the pipeline, nothing more. A decay-isolating variant is a deferred follow-up.

Full per-task tables

The complete nine-arm matrices, transcribed verbatim from experiments/bench/. Generalization is raw / fit-only (n/a where no seed fit); fitting arms are highlighted, the gru control in amber.

S5 · symmetric-group word problems · val128 ≥ 0.99 · n = 36 · bench_s5.md

armseedsfitsacc@256acc@512acc@1024params
log36/360/360.016 / n/a0.012 / n/a0.010 / n/a98,936
signed36/360/360.025 / n/a0.019 / n/a0.015 / n/a107,256
rotation36/360/360.020 / n/a0.015 / n/a0.012 / n/a107,384
signed-rotation36/360/360.016 / n/a0.013 / n/a0.011 / n/a107,320
givens36/360/360.015 / n/a0.012 / n/a0.010 / n/a111,544
delta36/360/360.016 / n/a0.012 / n/a0.011 / n/a133,256
signed-givens36/361/360.058 / 1.0000.049 / 0.9760.038 / 0.817109,400
signed-delta36/360/360.018 / n/a0.014 / n/a0.011 / n/a120,256
gru36/360/360.024 / n/a0.019 / n/a0.017 / n/a65,400

MQAR · multi-query associative recall · val_qacc ≥ 0.99 · n = 36 · bench_mqar.md

armseedsfitsacc@256, 16 pairsacc@256, 32 pairsparams
log36/360/360.112 / n/a0.081 / n/a91,712
signed36/360/360.044 / n/a0.036 / n/a100,032
rotation36/360/360.083 / n/a0.064 / n/a100,160
signed-rotation36/360/360.064 / n/a0.051 / n/a100,096
givens36/360/360.030 / n/a0.030 / n/a104,320
delta36/3636/360.931 / 0.9310.493 / 0.493126,032
signed-givens36/360/360.036 / n/a0.034 / n/a102,176
signed-delta36/3636/360.928 / 0.9280.690 / 0.690113,032
gru36/360/360.111 / n/a0.076 / n/a58,176

psMNIST · permuted-pixel MNIST · val_acc ≥ 0.90 · n = 12 · bench_psmnist.md

armseedsfitsacc@testparams
log12/120/120.784 / n/a84,234
signed12/120/120.857 / n/a92,554
rotation12/120/120.571 / n/a92,682
signed-rotation12/120/120.736 / n/a92,618
givens12/120/120.290 / n/a96,842
delta12/1210/120.905 / 0.908118,554
signed-givens12/120/120.651 / n/a94,698
signed-delta12/1212/120.924 / 0.924105,554
gru12/123/120.885 / 0.89738,474

psMNIST block-order ablation · same arm, same task, same protocol · only the composer block order differs

block orderroundfitsacc@testparams
rotation-first ["rotation","signed"] · supersededbench-psmnist-020/120.868 / n/a92,618
signed-first ["signed","rotation"] · currentbench-psmnist-rotfix-010/120.736 / n/a92,618

The corrected extract-then-compose order costs 0.868 → 0.736 raw test accuracy (−0.132), with neither order clearing the 0.90 bar. psMNIST is accumulation-ordering, not group composition: the block that touches the raw pixel stream first shapes the accumulation, and the richer non-diagonal rotation block on the input (rotation-first) accumulated better than routing the stream through the diagonal sign block first. The original 0.868 was partly an artifact of that accumulation-favorable rotation-first order; the apples-to-apples number, with the arm in the same architecture as its signed-givens/signed-delta siblings, is 0.736. Block order is task-dependent: extract-then-compose helps group composition and hurts accumulation.

pendulum · irregular-timestep regression · val_mse ≤ 0.0014 · n = 36 · bench_pendulum.md

armseedsfitsparams
log36/3636/3683,970
signed36/3636/3692,290
rotation36/3636/3692,354
signed-rotation36/3636/3692,226
givens36/3636/3696,466
delta36/3636/36118,162
signed-givens36/3636/3694,306
signed-delta36/3636/36105,162
gru36/3636/3638,338

S5 design-correction probe

Two arms were handicapped by config — one recovers, one doesn't.

A descriptive probe (no Fisher contrast) that separates a genuine mechanism limit from an experiment-design artifact, by lifting the two under-powered S5 configs.

The Householder threshold

Raising the delta product count recovers S5; adding a snap order does not rescue rotation.

A k-cycle needs k−1 reflections, and S5's 5-cycle needs four — so nh = 4 is the threshold. signed-delta at nh = 2 (the matched config) was under-powered by design: at nh = 3 it is still 0/36, but at nh = 4 it reaches 7/36, with clean fit-only generalization (0.992 / 0.892 / 0.618 at T256 / 512 / 1024).

Adding S5's order-5 to the rotation snap grid (signed-rotation-k5, snap = (2,3,4,5,6)) leaves it at 0/36. This probe now also runs the corrected signed-first block order, so the rotation family's matched zero is confirmed a real mechanism limit: not a missing snap order, and not the earlier rotation-first block-order confound. Net across matched and probe evidence, S5 has two solving arms: continuous signed-givens (1/36) and Householder signed-delta-nh4 (7/36).

S5 design-correction probe · descriptive population, no Fisher contrast · bench_s5_probe.md

armseedsfitsacc@256acc@512acc@1024params
signed-rotation-k536/360/360.015 / n/a0.012 / n/a0.011 / n/a107,320
signed-delta-nh336/360/360.030 / n/a0.020 / n/a0.014 / n/a128,836
signed-delta-nh436/367/360.247 / 0.9920.211 / 0.8920.144 / 0.618137,416

gru-large grounding reference

The GRU code path is correct — and delta matches it at a fifth of the parameters.

The matched gru control landed at 0.885 on psMNIST, just under the bar. A hidden-256, literature-scale GRU reference confirms that is capacity, not a bug.

gru-large 596,234 params · 0.922
delta 118,554 params · 0.905
signed-delta 105,554 params · 0.924

The hidden-256 GRU reaches 0.922 raw test accuracy (12/12 fits), squarely inside the literature vanilla-GRU band of ~92–94%. Reported as a reference row only — a different budget stratum, never a matched competitor.

gru-large reference · hidden-256, 60-epoch budget · non-matched, no Fisher contrast · bench_psmnist_ref.md

armseedsfitsacc@testparams
gru-large12/1212/120.922 / 0.922596,234

Cross-task reading

Two dials for two task regimes.

Not a single winner, and not "delta beats givens everywhere." The read is which mechanism each task structure rewards.

Delta — the broad workhorse

Fits across three task structures once its dials are set right.

  • Associative recall (MQAR) — only the delta family fits.
  • Accumulation ordering (psMNIST) — signed-delta 12/12, delta 10/12 lead the fit rate.
  • Group composition (S5) — recovered once nh is large enough (signed-delta-nh4, 7/36).

dial · state sizedial · nh (Householder count)

Givens — a narrow specialist

One thing, done at a small fixed state.

  • Group composition is its lane — the continuous coupled-8D rotation + sign stack (signed-givens) is the only matched S5 fit.
  • It does not lead recall or accumulation; adding a sign channel to givens even hurts accumulation on psMNIST.
  • The earlier matched-small-state S3-hier win still stands — that finding is task-specific and separate.

What this round does not claim

Three guardrails held on purpose.

Not "delta beats givens everywhere." Two dials for two regimes; the matched-small-state Givens result on S3-hier stands.   Not evidence a GRU cannot state-track. The 0/36 on S5 is a same-budget outcome, not a capability limit (Illusion of State, arXiv:2404.08819).   No cross-stratum comparison. The L4 numbers here are never mixed with the pinned-CPU or A100 rounds.