Xiaol.x
Content-conditioned routing to historical state checkpoints resolves recurrent memory overwrite without sacrificing decoding speed, provided models retain a learned null option to reject stale history.
AI-assisted summary of MARCH Explained: Scaling Recurrent Memory with Content-Routed State Anchors — original source. Check the original for full context.
Source published:
Key ideas
- MARCH introduces content-routed state anchors to resolve temporal interference in recurrent models, preserving historical checkpoints without abandoning fast native recurrence. (0:00)
- Evaluations on Gated DeltaNet pretrained on 50 billion tokens show a 25% relative improvement on LongBench (11.9 to 14.9) and a 14% gain on in-context retrieval. (6:14)
- Ablations confirm that a learned null route is essential, giving the model an explicit zero-payload option to avoid injecting stale or irrelevant historical context. (7:09)
- The framework enables a unified 'anchored RWKV-MS' design that routes across both time (historical snapshots) and capacity (parallel state slots) in a two-level hierarchy. (8:44)
Detailed notes
## Background Published on YouTube by Xiaol.x on August 27, 2026, this video explains the MARCH (Memory-Anchor Routing across Context History) framework. According to the description, the explainer addresses the temporal overwrite failure mode in recurrent neural networks by periodically saving cumulative recurrent-state checkpoints and routing queries back to historical states, while also detailing practical connections to multi-state RWKV.
## TL;DR Recurrent models decode efficiently with fixed-size states but suffer from temporal interference, where ongoing updates overwrite older associations. MARCH resolves this through temporal expansion, preserving cumulative recurrent checkpoints and generating content-conditioned routing keys that allow queries to selectively read historical residuals alongside the current state. The framework incorporates strict causality, Top-K efficiency optimizations, and a vital learned null route to prevent irrelevant historical injection. The video reviews reported benchmark gains on LongBench with Gated DeltaNet and demonstrates how MARCH can be synthesized with multi-state RWKV to create a two-dimensional time-and-slot routing architecture.
## Atmosphere & style The presentation carries the disciplined, analytical atmosphere of an advanced graduate systems seminar or technical paper walkthrough. The delivery is focused and methodical, methodically deriving architectural mechanics, routing equations, and computational trade-offs without unnecessary hype. Listening to the breakdown feels lucid and intellectually rigorous, especially as the speaker carefully demarcates verified empirical results from exploratory prototype implementations.
## Bulletin - [00:00](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=0s) MARCH introduces content-routed state anchors to resolve temporal interference in recurrent models, preserving historical checkpoints without abandoning fast native recurrence. - [06:14](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=374s) Evaluations on Gated DeltaNet pretrained on 50 billion tokens show a 25% relative improvement on LongBench (11.9 to 14.9) and a 14% gain on in-context retrieval. - [07:09](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=429s) Ablations confirm that a learned null route is essential, giving the model an explicit zero-payload option to avoid injecting stale or irrelevant historical context. - [08:44](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=524s) The framework enables a unified 'anchored RWKV-MS' design that routes across both time (historical snapshots) and capacity (parallel state slots) in a two-level hierarchy.
## Key takeaways - [00:00](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=0s) Fixed-size recurrent states suffer from temporal interference, where ongoing state updates overwrite earlier associations needed for later retrieval. - [00:00](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=0s) Unlike transformers where past tokens remain individually addressable in the KV cache, standard recurrent architectures maintain history solely within the latest state. - [01:33](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=93s) Recurrent memory can scale along two distinct axes: capacity expansion (parallel present slots) and temporal expansion (preserving historical checkpoints over time). - [02:19](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=139s) MARCH maintains continuous recurrence across chunk boundaries rather than resetting, allowing each checkpoint anchor to summarize the entire prefix context up to that point. - [03:08](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=188s) Anchors are indexed using content-conditioned routing keys derived from shared anchor tokens, decoupling routing identities from simple temporal positions. - [03:55](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=235s) Causal masking restricts routing exclusively to prior checkpoints, while a learned null route provides a mechanism to bypass historical retrieval entirely. - [04:42](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=282s) The model decouples routing queries from content extraction queries, adding a content-routed historical residual directly onto the base recurrent state read. - [05:28](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=328s) Computation is kept practical through token and anchor tiling, fused online softmax, and Top-K retrieval, avoiding materializing the full token-by-anchor routing matrix. - [06:14](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=374s) Gated DeltaNet with MARCH achieves significant retrieval gains on LongBench, with Top-4 routing doubling dense training throughput at 128k context lengths. - [07:09](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=429s) A checkpoint interval of 512 and routing width of 64 provided the best trade-off between checkpoint density and computational overhead in ablations. - [07:09](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=429s) Removing the learned null route degrades performance across all aggregate metrics, proving that an explicit mechanism to decline historical retrieval is required. - [07:58](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=478s) Multi-state RWKV and MARCH operate orthogonally, with RWKV-MS distributing information across capacity slots and MARCH distributing across temporal snapshots. - [08:44](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=524s) An anchored RWKV-MS architecture implements hierarchical two-level routing by first selecting a historical snapshot and then routing into a specific memory slot. - [10:26](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=626s) Promising future extensions include adaptive anchoring triggered by prediction surprise or scene boundaries, anchor consolidation, and hierarchical multi-timescale routing.
## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=0s) The Fixed-State Paradox of Recurrent Models Recurrent models offer a distinct structural advantage by processing arbitrarily long sequences while carrying a single fixed-size matrix, making decoding extremely efficient. However, this creates a fundamental paradox: every new piece of information must share that same small carrier with the entire past. Unlike transformers, where old tokens remain individually addressable in the key-value cache, a recurrent model's past survives solely through its latest state. If a later update weakens an old association, the earlier version is completely gone.
To resolve this limitation, MARCH—standing for Memory-Anchor Routing across Context History—proposes preserving recurrence as the fast native path while adding a selective route back to earlier versions of its memory. For example, if the state initially records the association that "project code name maps to orbit", a much later token might write a new value along a similar key direction. While this local delta update is useful, it can overwrite the exact coordinates that previously carried "orbit". When a query eventually asks "What was the code name?", the current query reads only the latest matrix, leading to a failure not because the query is flawed, but because the required version of memory no longer has a direct read path. This core issue is known as temporal interference.
- **Transformers:** Old tokens remain individually addressable in the key-value cache. - **Recurrent models:** The past survives only through the latest state, making earlier overwritten associations irretrievable. - **Temporal interference:** Occurs when ongoing updates evolve a single state, overwriting historical points needed for retrieval.
```mermaid flowchart LR accTitle: Recurrent State Overwrite vs. Historical Preservation accDescr: Diagram contrasting standard recurrent state evolution with MARCH checkpointing. A["Incoming Token Stream"] --> B["Recurrent Model (Fixed Matrix)"] B --> C["Latest State Only (Vulnerable to Overwrite)"] B --> D["MARCH Checkpoints (Historical Retention)"] ```
### [01:33](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=93s) Capacity Expansion versus Temporal Expansion When scaling recurrent memory, there are two fundamentally different expansion directions. Capacity expansion makes the present state wider or splits it into parallel partitions, whereas temporal expansion preserves multiple historical versions of a state. Multi-state RWKV work represents capacity expansion, where several RWKV states coexist at the current time and routing distributes reads and writes across those slots. In contrast, MARCH performs temporal expansion by following one continuous recurrent trajectory and preserving selected cumulative checkpoints.
At the end of a chunk marked by boundary $B_M$, MARCH does not reset recurrence; instead, it simply copies the current state. Consequently, anchor $A^M$ at layer $L$ equals state $S$ at boundary $B_M$. Because the recurrence remains continuous, this anchor summarizes the whole prefix through that boundary rather than merely the latest chunk, creating a sequence of anchors that records the evolution of one cumulative memory.
- **Capacity expansion:** Makes the present state wider or splits it into parallel partitions (e.g., multi-state RWKV). - **Temporal expansion:** Follows one continuous trajectory and preserves historical checkpoints (e.g., MARCH). - **Checkpoint definition:** Anchor $A^M$ at layer $L$ equals state $S$ at boundary $B_M$.
### [03:08](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=188s) Content-Conditioned Anchors and Causal Routing A bank of old matrices is useless unless the model can identify what each matrix remembers. MARCH solves this by inserting a shared anchor token after each checkpoint, which reads only its aligned state anchor at a given layer. This anchor representation is then projected to a compact routing key, $\kappa_M$. Because the representation already contains information read from the aligned checkpoint across layers, the key is conditioned on memory content rather than time alone, allowing the same learned anchor embedding to produce different keys at different boundaries.
For a text token $T$, a small routing query $\rho_T = W_R X_T$ computes a score for anchor $M$ via the dot product $\rho_T^T \kappa_M$. Only anchors with boundary $B_M$ strictly before $T$ are visible to preserve strict causality. Furthermore, MARCH introduces a learned null route whose state payload is zero. Taking a softmax over visible anchors and the null route produces probabilities $\pi$, ensuring the model is never forced to inject stale history and can choose to do nothing when no checkpoint is relevant.
- **Content conditioning:** Keys ($\kappa_M$) reflect memory content rather than just temporal position. - **Causality constraint:** Only anchors with boundaries strictly preceding token $T$ are visible. - **Learned null route:** Provides a zero-payload option so the model can ignore irrelevant history via softmax probabilities ($\pi$).
### [04:42](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=282s) Deriving the Historical Residual and Computational Costs MARCH cleanly separates two distinct jobs: the routing query chooses which historical state matters, while the ordinary state read query $Q_T$ extracts content from the chosen matrix. The native recurrent output is given by $S_T Q_T$, and historical memory contributes a weighted sum over $\pi_{T, J} A^J Q_T$. Combining these terms yields the current state read plus a content-routed historical residual, preserving the base recurrent update without hiding it behind a hard switch.
Trade-offs accompany these anchors, as they trade memory for temporal resolution. With checkpoint interval $C$, candidate states grow roughly as sequence length divided by $C$, with each retained anchor storing a recurrent state matrix. To manage this efficiently, the paper's reader tiles tokens and anchors, fuses routing scores, computes online softmax, and performs weighted state reads without materializing the full token-by-token anchor routing matrix. Top-K routing reduces work further, turning the architecture into a controllable point between a single compressed state and token-level attention.
- **Read separation:** Routing queries select the relevant historical state, while ordinary state queries ($Q_T$) extract the content. - **Combined output:** Current state read plus content-routed historical residual. - **Optimization:** Token-and-anchor tiling, online softmax fusion, and Top-K routing avoid massive matrix materialization.
### [06:14](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=374s) Empirical Results and Ablation Insights The authors pretrained MARCH models from scratch on 50 billion tokens using 16,000-token training sequences, with their main setting utilizing a checkpoint interval of 512 and a routing width of 64. On LongBench, the reported Gated DeltaNet average score rises from 11.9 to 14.9, representing a 25% relative gain, while in-context retrieval increases from 20.5 to 23.3 (a 14% relative gain). At 128k tokens, top-4 routing more than doubles dense MARCH training throughput and cuts core runtime by roughly an order of magnitude, though vanilla Gated DeltaNet remains faster due to performing no historical retrieval.
Ablation studies reveal crucial design lessons. Checkpoint interval $C = 512$ provides the best overall balance between fine history preservation and anchor sparsity, and routing width 64 serves as the balanced default. Crucially, removing the null route degrades every reported aggregate, demonstrating that selective memory requires an explicit, learnable mechanism to output "none of these."
- **LongBench performance:** Gated DeltaNet average rises from 11.9 to 14.9 (25% relative gain). - **In-context retrieval:** Increases from 20.5 to 23.3 (14% relative gain). - **Ablation finding:** Removing the null route degrades every reported aggregate, proving the necessity of an explicit "none of these" option.
### [07:58](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=478s) Bridging MARCH and Multi-State RWKV While both MARCH and multi-state RWKV (RWKV-MS) share the core motivation of rejecting the idea that one undifferentiated recurrent state is enough for long-range memory, their mechanisms differ fundamentally. RWKV-MS expands across slots at one time (asking which current slot should write or answer a token), whereas MARCH expands across time (asking which earlier version of recurrent memory contains information erased by later updates).
The cleanest conceptual extension combines both axes into a two-dimensional "anchored RWKV-MS" design. By letting $\mathcal{S}_{T, S}$ represent current RWKV-MS slot $S$, and defining the entire slot bank at a boundary snapshot as $\mathcal{A}^M = \mathcal{S}$ at $B_M$, the model can route first over historical snapshots with $\pi$ and then reuse the slot router inside each selected snapshot. This creates a two-level router that first chooses when, and then chooses which slot inside that timeframe.
```mermaid flowchart TD accTitle: Two-Level Routing in Anchored RWKV-MS accDescr: Hierarchical flowchart showing routing across historical time snapshots followed by slot selection. A["Incoming Token"] --> B["Level 1: Historical Snapshot Router (pi)"] B --> C["Selected Historical Snapshot Bank (A^M)"] C --> D["Level 2: RWKV Slot Router (gamma)"] D["Level 2: RWKV Slot Router (gamma)"] --> E["Final Memory Output"] ```
### [09:31](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=571s) Repository Additions and Future Extensions The accompanying repository incorporates this optional historical anchor branch, where interval zero disables it to preserve existing behavior, and positive intervals create configurable snapshots, capacity bounds, routing width, top-K settings, residual scales, and null biases. Operating strictly online and causally, tokens read prior anchors, update the live RWKV-MS state, and only then append a boundary snapshot, with streaming sessions persisting anchor states, keys, and validity masks. Regression tests validate mechanics such as causality, capacity, chunked streaming equivalence, and router gradients.
Looking forward, three strong extensions are proposed: - **Adaptive anchoring:** Saving snapshots when update magnitude, state novelty, prediction surprise, or semantic scene boundaries cross a threshold, giving stable regions fewer anchors and rapid change finer resolution. - **Byte-budget consolidation:** Evicting redundant anchors, merging similar snapshots, or demoting information already answerable by the live slot bank. - **Hierarchical routing:** Choosing memory type or timescale, then historical snapshot, then RWKV slot, accompanied by practical experiments matching memory bytes between more current slots versus fewer slots plus anchors.
## Notable quotes > [00:00](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=0s) Unlike transformers, where old tokens remain individually addressable in the key-value cache, a recurrent model's past survives solely through its latest state. — Xiaol.x
> [00:00](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=0s) To resolve this limitation, MARCH—standing for Memory-Anchor Routing across Context History—proposes preserving recurrence as the fast native path while adding a selective route back to earlier versions of its memory. — Xiaol.x
> [01:33](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=93s) Capacity expansion makes the present state wider or splits it into parallel partitions, whereas temporal expansion preserves multiple historical versions of a state. — Xiaol.x
> [01:33](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=93s) Because the recurrence remains continuous, this anchor summarizes the whole prefix through that boundary rather than merely the latest chunk, creating a sequence of anchors that records the evolution of one cumulative memory. — Xiaol.x
> [03:08](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=188s) A bank of old matrices is useless unless the model can identify what each matrix remembers. — Xiaol.x
> [03:08](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=188s) Taking a softmax over visible anchors and the null route produces probabilities $\pi$, ensuring the model is never forced to inject stale history and can choose to do nothing when no checkpoint is relevant. — Xiaol.x
> [04:42](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=282s) MARCH cleanly separates two distinct jobs: the routing query chooses which historical state matters, while the ordinary state read query $Q_T$ extracts content from the chosen matrix. — Xiaol.x
> [04:42](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=282s) Top-K routing reduces work further, turning the architecture into a controllable point between a single compressed state and token-level attention. — Xiaol.x
> [06:14](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=374s) Crucially, removing the null route degrades every reported aggregate, demonstrating that selective memory requires an explicit, learnable mechanism to output "none of these." — Xiaol.x
> [07:58](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=478s) RWKV-MS expands across slots at one time (asking which current slot should write or answer a token), whereas MARCH expands across time (asking which earlier version of recurrent memory contains information erased by later updates). — Xiaol.x
> [07:58](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=478s) This creates a two-level router that first chooses when, and then chooses which slot inside that timeframe. — Xiaol.x
> [09:31](https://www.youtube.com/watch?v=BuK5yF7eV9s&t=571s) Operating strictly online and causally, tokens read prior anchors, update the live RWKV-MS state, and only then append a boundary snapshot, with streaming sessions persisting anchor states, keys, and validity masks. — Xiaol.x
## Mentioned MARCH (Memory-Anchor Routing across Context History), Xiaol.x, Gated DeltaNet, LongBench, Multi-state RWKV (RWKV-MS), Anchored RWKV-MS, arXiv, GitHub, YouTube
## Video description Recurrent models decode efficiently by compressing history into a fixed-size state—but that compression can overwrite facts needed later. MARCH (Memory-Anchor Routing across Context History) addresses this problem by periodically preserving cumulative recurrent-state checkpoints and routing queries back to the historical states most relevant to the current token.
This explainer covers:
- Why fixed recurrent states suffer from temporal interference - MARCH’s content-conditioned state anchors - Causal anchor routing, Top-K retrieval, and the learned null route - Current-state reads plus historical residual memory - The trade-off between checkpoint density and computation - Reported Gated DeltaNet results on LongBench and in-context retrieval - How MARCH differs from multi-state RWKV - A proposed two-dimensional “anchored RWKV-MS” design - Adaptive anchoring, consolidation, and hierarchical routing
Paper: https://arxiv.org/abs/2608.12435 refs: https://github.com/xiaol/Multi-state-RWKV-online-memory
Important scope note: the reported quality and throughput results come from the MARCH paper’s Gated DeltaNet experiments. The anchored RWKV-MS mechanism discussed here is a tested prototype; equivalent model-quality gains still require matched training and long-context evaluation.
Chapters: 00:00 The fixed-state paradox 00:45 What overwrite really means 01:33 Two ways to scale recurrent memory 02:19 The checkpoint move 03:08 Why an anchor needs a content key 03:55 Routing, causality, and the null option 04:42 Deriving the residual historical read 05:28 Where the cost goes 06:14 What the paper actually shows 07:09 The ablations teach the design 07:58 Is this like multi-state RWKV? 08:44 The anchored RWKV-MS deduction 09:31 What was added to the repository 10:26 Strong next extensions 11:25 The honest conclusion
[Source](https://www.youtube.com/watch?v=BuK5yF7eV9s)