Deferred Fast-Memory Writes
Implementation & benchmark of arXiv:2607.20792 — Memoir: Should a Model Write to Its Memory While It Thinks?
Source paper: Memoir: Should a Model Write to Its Memory While It Thinks? arXiv:2607.20792 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Use fast memory as read-only scratch state during the internal pondering iterations of a recurrent block, and apply memory writes only after the latent computation has halted or crossed a write gate. This prevents the transition operator from changing while it is being iterated, reducing self-corruption of the evidence used for subsequent reasoning.
Formulas
Mathematical statement
The paper defines a recurrent latent transition $h^{(\ell+1)}=F_{\theta}(h^{(\ell)},W_{0}^{(\ell)},W_{1}^{(\ell)},W_{2},W_{3})$, where $h^{(\ell)}$ is the latent at pondering step $\ell$, $W_{0}^{(\ell)}$ and $W_{1}^{(\ell)}$ are per-sample fast and episodic matrices, and $W_{2},W_{3}$ are shared slow and fixed tiers. In the coupled design, the active-position mask also gates writes after each transition; in the read-only design, $W_{0}$ and $W_{1}$ remain fixed throughout pondering. The key mathematical property is stationarity: with fixed tiers, repeated application of $F_{\theta}$ approximates iteration of one operator, whereas coupled writes produce a time-varying operator $F_{\theta,W^{(\ell)}}$. Memory writes use the delta rule $W^{(t+1)}=W^{(t)}+\beta_t(v_t-W^{(t)}k_t)k_t^{\top}$, where $k_t\in\mathbb{R}^{D_h}$ is a key, $v_t\in\mathbb{R}^{D_h}$ is a target value, $\beta_t\in[0,1]$ is write strength, and $W^{(t)}\in\mathbb{R}^{D_h\times D_h}$ maps keys to predicted values. The proposed adaptation defers this update until the final active step or multiplies it by a learned write gate.
Implementation notes
Integrate this into a recurrent Transformer or latent-reasoning block that currently performs multiple internal steps over the same token representation. Maintain per-example fast matrices W0 and optionally W1 alongside the latent h. At each pondering step, compute h_next = F_theta(h, W0, W1, W2, W3), but do not mutate W0 or W1. Maintain an active mask a and stop positions when the halting probability exceeds a threshold or when the maximum step count L is reached. After the final step, derive write tuples k and v from h_final, and compute a scalar write gate g = sigmoid(q_phi([h_final, a_final])). Apply the delta update only once: W0 += g * beta * (v - W0 @ k) outer k. For comparison, implement three arms: writes every step, no writes during pondering but one unconditional final write, and gated final writes. Detach W0/W1 at the same segment boundaries as the baseline so the comparison does not change credit assignment. The mathematics supplies the fixed-operator versus time-varying-operator distinction and the rank-one update; estimate g empirically with a small MLP and optionally initialize it near zero. First test on procedural associative recall with key interference using a 2-4 step GRU or small Transformer, matched parameters, optimizer, seeds, and forward MACs. Measure recall after 240 and 960 updates, loss descent at equal compute, write-gate frequency, and corruption of previously stored key-value pairs. Success is faster early learning and fewer destructive overwrites, while eventual accuracy should remain at least as high as the coupled baseline.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Significantly worse ✗
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 8/10
Built a deterministic toy implementation of delta-rule fast memory with coupled writes, unconditional deferred final writes, and gated deferred writes. Deferred trajectories had zero beta-dependent stationarity error, coupled-versus-deferred deviation increased monotonically with write strength and pondering length, and controlled overwrite corruption matched the predicted overlap formula within 0.97% relative error. At L=8 and beta=0.6, old-pair MSE was 0.666 for coupled writes, 0.234 for unconditional final writes, and 0.0273 for the fixed 0.35-gated final write.
- Agent confidence
- 8/10
- Baseline
- Coupled writes: representative old-pair MSE 0.6657 at L=8, beta=0.6; coupled-versus-deferred deviation was 0.3596 at beta=0.6, L=8 and 0 at beta=0.
- Idea
- Unconditional deferred final write: MSE 0.2343; gated deferred final write: MSE 0.02726. Stationarity error was 0.0 for beta in {0, 0.1, 0.3, 0.6}; deviation increased with beta and L. Controlled overlap corruption matched prediction at overlaps {0, .25, .5, .75, 1}.
Limitations: This is a small synthetic associative-recall verification, not a trained GRU or Transformer or equal-FLOP learning benchmark. The gate is a fixed 0.35 multiplier rather than a learned MLP or halting gate; no CUDA path, optimizer comparison, 240/960-update curve, or multi-seed statistical study was tested.
How to run: python3 deferred_memory_experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.20792)
Significantly WORSE than the tuned baseline (+932.5%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0041
- Idea mean
- 0.0428
- Effect (Δ)
- 0.0386 (+932.5%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±283.9%
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 9 configs
Only the registered dynamics track was tested. The custom recurrent loop was necessary because the intervention changes the recurrent computation; the gate was a fixed hyperparameter rather than a learned q_phi MLP, and no timing or long learning-curve measurements were collected.
How to run: python3 stage2_bench.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 10/10
Implemented deferred fast-memory writes in a matched recurrent dynamics system and evaluated it on the registered dynamics/rnn_small track. Stationarity held quantitatively (deferred error 0.0; coupled-versus-deferred latent difference 3.3737), but the deferred system was significantly worse: delta_mean +0.0386305 and permutation p=0.0081, giving the benchmark verdict idea worse (significant).
- Baseline
- Tuned coupled writes: mean test MSE 0.00414281, std 0.00106833, best lr=0.006, epochs=8, beta=0.15.
- Idea
- Deferred/gated writes: mean test MSE 0.04277327, std 0.01282793, best reported lr=0.006, epochs=8, beta=0.15, gate=1.0.
Benchmark result
Significantly WORSE than the tuned baseline (+932.5%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0041
- Idea mean
- 0.0428
- Effect (Δ)
- 0.0386 (+932.5%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±283.9%
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 9 configs
Only the registered dynamics track was tested. The custom recurrent loop was necessary because the intervention changes the recurrent computation; the gate was a fixed hyperparameter rather than a learned q_phi MLP, and no timing or long learning-curve measurements were collected.
How to run: python3 stage2_bench.py
Artifacts
- bench_report.json 4.3 KB View Raw
- deferred_memory_experiment.py 6.2 KB View Raw
- report.md 1.6 KB View
- report_bench_2026-08-30T211239.md 4.8 KB View
- results.json 5.6 KB View Raw
- stage2_bench.py 5.9 KB View Raw