Contents
1My Research Direction#
How should hidden state travel?
A few observations guide my work.
Observation 1Residual research is evolving into something that looks a lot like sequence modeling research.
It began with convolution-like structures: additive PreNorm, , sums every earlier output with equal weight, much like a convolution over depth with kernel . It then morphed into structures that resemble RNNs, such as HC, mHC and many others, which carry a learned, evolving state through depth. Now it is starting to experiment with attention: Kimi's Attention Residuals, multi-headed variants, and a growing number of new papers. Many of these approaches have stability trade-offs similar to their sequence-modeling equivalents: exploding and vanishing gradients, and issues with state magnitude.
Observation 2Latent propagation research is a subset of residual research, and it also resembles recurrence and sequence modeling research.
The goal is to integrate information from prior time steps effectively into the current time step's residual stream. We can view this as creating a continuous residual sequence in time across all blocks in the network (Figure 2).
Observation 3Current latent propagation research undervalues the ability to co-design with residual research.
Most current latent propagation approaches use PreNorm as their residual backbone, which seems suboptimal in my small-scale experiments. Most also require fixed source and target layers; more advanced residual setups can allow learned flexibility in addition to better performance.
2Notation#
Read, transform, write
Each mechanism below is described in three steps.
- Read
- Which vectors are available, and how are they selected?
- Transform
- What normalization, projection, gating, and expensive computation acts on them?
- Write
- Where does the result go, and what state is retained?
The mechanism diagrams in Sections 3 and 4 color these steps the same way. Arrows describe data dependencies, not measured throughput.
| Symbol | Meaning |
|---|---|
| Sequence position; Coconut includes silent positions. | |
| Depth and final depth: sublayers for PreNorm, HC, and AttnRes; whole blocks for MUDDFormer and the temporal models. | |
| Vector width and number of residual streams. | |
| Refinement round and its forward budget; separate from sequence position and depth. | |
| Specified normalization, sigmoid, and elementwise multiplication. | |
| Embedding, accumulated block state, and raw branch contribution. These are different sources. |
| Path | Read | Write / receiving computation |
|---|---|---|
| Residual routing | Earlier depth states at the same position | Later depth at that position |
| Causal token attention | Available keys and values from token positions | Attention output at the current depth |
| Temporal latent feedback | A completed source state at an earlier position | Chosen receiving depths at a later position, often including earlier computation |
Remark. Ordinary attention already transfers continuous information through K/V. Latent feedback adds a direct high-depth-to-earlier-depth path; it does not create the model's only continuous channel across tokens. A new path can carry useful state and still carry unstable dynamics.
3Residual design#
What survives across depth?
One vector can accumulate every branch output, several streams can retain a learned mixture of past computation, or a depth bank can keep sources separately addressable. “More streams” and “more stored layers” are different forms of memory.
Training cost includes the router's arithmetic, stored activations, backward computation, memory traffic, and pipeline communication. A small forward-FLOP increase can coexist with a larger elapsed-time penalty. Stability likewise has several meanings: state magnitude, preservation of distinct stream directions, and the gradients through the complete update.
These routers learn jointly with the language-model objective. They change the computation across depth without introducing a new serial dependency between token positions. Retaining a depth bank can, however, change activation-checkpointing and communication costs.
3.1PreNorm#
- Identity carry
- Read: normalized copy
- Write: branch output
Each unit copies the carried vector , normalizes the copy, runs attention or an FFN on it, and adds the output back. The carried vector is not normalized on the identity path; a final normalization typically precedes the vocabulary head.
Unrolling the update gives : the embedding and every earlier branch output reach with the same fixed weight of one. Nothing on the carry path rescales or selects among them; Attention Residuals replace these fixed weights with learned ones (Figure 13).
Read. One accumulated vector arrives from the preceding residual unit. Copy it into a branch and an identity carry path.
Transform. Normalize the branch input, apply attention or an FFN, and add its output to the untouched carry.
Write. The sum becomes . A Transformer block normally contains two such units; a final normalization typically precedes the vocabulary head.
Training and cost. No learned depth router or history bank. Moving normalization changes the optimization geometry, rather than adding more model traversals. Xiong et al. show that Pre-LN can train without warmup in their experiments; this is not a prescription to remove warmup from every modern recipe.
Stability. The identity route helps gradient flow, but neither bounds the accumulated state nor makes every layer equally useful. NormFormer [2] documents mismatched gradient scales across depth.
3.2MUDDFormer#
- Read from stored outputs
- Append block output
- Stored output
Every block reads the embedding and all earlier block outputs from a growing bank, then appends its own output. The final readout is also a mixture of the bank. Compare the single carried vector of PreNorm (Figure 3).
Block 4 forms four separate mixtures of : the query, key and value inputs of token attention, and a residual mixture that bypasses attention. A small MLP on the newest output , plus a static prior, sets the coefficients, which are unconstrained rather than softmax weights.
Read. Retain the embedding and previous block outputs in a depth bank. The newest output generates coefficients for four independent reads: Q, K, V, and the attention residual.
Transform. RMSNorm → small GELU MLP → learned static prior produces unconstrained coefficients. Weighted sums supply separately normalized Q/K/V inputs to token attention; the residual mixture bypasses attention.
Write. Add attention to the residual mixture, run the normal FFN and skip, and append the resulting block output to the bank. The final readout uses a residual mixture.
Training and cost. The cited 2.8B configuration adds 0.23% parameters and 0.4% forward FLOPs, while a separate 2.8B benchmark reaches 84% of its Transformer++ baseline's training tokens/s. Dense reads are sensitive to memory traffic. The recipe also reallocates FFN width toward later layers.
Stability. Initialize reads to the latest output. A deep/narrow variant additionally normalizes before and after aggregation and restores a skip. These coefficients are not softmax probabilities.
3.3Hyper-Connections#
- Carry between streams
- Read gates
- Write gates
Each unit reads a weighted sum of the four streams (violet), runs one ordinary branch, writes the output back to every stream with separate weights (terracotta), and mixes the carried streams with a 4 × 4 matrix (gray). In HC all three are unconstrained; in this illustrative carry the row sums are not one.
Tracing one unit of content placed on stream 1 through the same illustrative carry three times, with branch writes omitted: column sums above one make the total grow at every depth. The later mHC study reports amplification under repeated composition at larger scale.
Read. Replicate the embedding into residual streams. Read a weighted sum of the current streams into one width- branch; there is no separately addressable complete depth history.
Transform. Learn a read vector , carry matrix , and write vector . Dynamic HC normalizes each stream across features, then uses linear projections, tanh, and static priors to adjust all three.
Write. Mix the carried streams and distribute the single branch output among them. Sum the streams at the network output before final normalization. The expensive branch runs once.
with , , and . routes source stream to destination stream ; the paper's convention is .
Dynamic routes
Training and cost. Start from identity carry, a rotating single-stream read, and zero dynamic projections. Four-stream OLMo-1B adds 0.200% forward FLOPs in the paper, but measured memory increases 26.1% in that configuration.
Stability. Carry matrices are unconstrained. The later mHC study [5] finds amplification under their repeated composition at larger scale. Small routing FLOPs do not imply negligible memory or communication cost.
3.4Manifold-Constrained Hyper-Connections#
- Carry between streams
- Read gates
- Write gates
mHC keeps HC's layout but bounds the gates (reads in , writes in ) and pushes the carry toward a doubly stochastic matrix with 20 Sinkhorn–Knopp iterations: nonnegative entries whose rows and columns sum to one.
With a doubly stochastic carry, content placed on stream 1 spreads across the streams but its total stays one at every depth: the carry preserves the mean and cannot amplify on its own, while differences between streams shrink. Branch writes are omitted.
Read. Keep HC's streams. Routing coefficients come from the RMS-normalized, flattened state. Sigmoid read gates feed one branch.
Transform. Exponentiate carry logits and alternate column/row normalization for 20 Sinkhorn–Knopp iterations. The target is a nonnegative matrix whose rows and columns sum to one.
Write. Add twice-sigmoid-gated branch output to the mixed carry. Read gates lie in and write gates in ; neither set is normalized to sum to one.
: small, learned dynamic scales; biases: learned static routing priors.
Training and cost. Four streams widen residual storage. DeepSeek reports 6.7% additional training time with its optimized fused kernels, recomputation, and communication overlap. This is a setup-specific elapsed-time figure.
Stability. An exact doubly stochastic carry preserves stream mean and cannot amplify Euclidean norm on its own. Finite iterations approximate that constraint. Stream differences can contract; input-dependent routes and branch writes still affect the full Jacobian.
3.5mHC-lite#
- Carry between streams
- Read gates
- Write gates
mHC-lite builds the carry as a softmax-weighted blend of fixed permutation matrices, each of which moves whole streams. Three of the 24 permutations are drawn with illustrative weights; every such blend is doubly stochastic by construction, without iterative normalization.
Repeating the illustrative blend, content placed on stream 1 spreads across the streams while its total stays exactly one: products of doubly stochastic matrices remain doubly stochastic. Branch writes are omitted.
Read. Use the same flattened, normalized stream state and sigmoid read/write pathways as mHC.
Transform. Softmax weights blend fixed permutation matrices. Each permutation rearranges whole streams. With four streams, all permutations give a doubly stochastic carry by construction, up to roundoff.
Write. Use the same carry-plus-branch-write update. The read and write gates remain unnormalized; the exact matrix constraint applies to the carry alone.
Read/write logits use the same scaled affine construction as mHC.
Training and cost. Native matrix operations replace iterative normalization. The paper evaluates roughly 45M–360M models. Its throughput comparison uses its own PyTorch mHC implementation, rather than DeepSeek's fused kernels. Enumerating permutations grows factorially, and “lite” does not mean uniformly fewer routing parameters.
Stability. The construction removes finite-iteration constraint error. It preserves the carry's mean and nonexpansiveness, while still allowing stream differences to vanish. The full trained recurrence is not guaranteed stable by this matrix property.
3.6Kimi Attention Residuals#
- Read, width shows weight
- Store raw output
- Stored source
Unit 6 reads the embedding and every earlier raw sublayer output. Its learned query scores RMS-normalized copies, and the softmax weights (illustrative here) sum to one and blend the raw values. Every unit does the same with its own query; PreNorm would give each source weight one (Figure 3).
Block AttnRes stores completed block sums and , plus the current block's partial sum . Unit 6 reads four vectors instead of six but can no longer address individually.
Read. Full AttnRes retains the embedding and earlier raw sublayer outputs. Each destination has one learned query vector ; the default query is not projected from the current state.
Transform. RMS-normalize source keys, score them against the query, and softmax across depth sources. Values stay raw. Their weighted sum supplies the next sublayer input, followed by its input normalization.
Write. Store the new sublayer output as another source. Block AttnRes instead stores completed block sums and a live partial sum, sacrificing access to individual outputs inside completed blocks.
Full
Block
Training and cost. Full routing is per token with retained sources. For depth blocks, Block routing is , with source storage. Tokens retain ordinary parallel training; optimized inference batches the known queries.
Stability. Convex value mixing locally bounds the mixture by its largest source norm. This does not bound new branch outputs or the complete gradient dynamics. Current block sums can still grow.
4Latent propagation#
What survives across positions?
A temporal route needs a source depth, a carried state, a receiving depth, and a merger with current information. It also needs a training schedule. Teacher-forced token identities are known in advance; a model's own recurrent hidden states are not.
Exact latent recurrence follows positions in order. Parallel approximation instead initializes state estimates and refines them. The forward budget controls the states the model sees; the backward budget controls how far credit can travel. Both differ from adding extra silent reasoning positions or extra decoder loops at inference.
4.1Coconut#
- Residual stream
- Final state → next input
- On the recurrent chain
- One forward call
Between <bot> and <eot>, each silent position takes the previous position's final normalized state as its whole input instead of a token embedding, then runs the full stack again. Token embeddings resume at <eot>.
With silent positions the released implementation makes forward calls: here, three calls for two thoughts. Each call reuses the keys and values cached by earlier calls and keeps the graph for gradients; the calls are serial, but they are not full-sequence passes.
Read. At a silent latent position, take the preceding position's final normalized hidden state. Language-mode positions still use token embeddings.
Transform. Replace the next latent position's embedding with that state. There is no sampled token, projection, or fusion gate at the silent position; the model evaluates its full stack again.
Write. The final normalized state feeds the following position. Beginning/end markers delimit latent mode, after which ordinary text resumes.
Training and cost. A curriculum replaces initial explicit reasoning steps with latents. Cross-entropy on remaining text supervises them indirectly; no target vector reproduces the removed text. The released implementation resolves dependencies serially with K/V reuse and gradients: latents require forward calls, not that many full-sequence passes.
Stability. Final normalization controls state scale. Aggressive curriculum transitions produced loss spikes. Each silent position still costs a model step, and reported benefits are task-specific.
4.2T²MLR#
- Residual stream
- Cache route
- Blocks a to b, recomputed
At decode time the cache is exact and serial. After block , the residual is added to the incoming cache and RMS-normalized; the result is merged into the next position just before block . Only blocks repeat along the chain, and the cache accumulates contributions from every earlier position.
Training replaces the serial recurrence with parallel rounds. A no-feedback initializer runs blocks once; each round then recomputes only blocks at every position, reading the cache its left neighbor produced in the previous round. The defaults use 16 forward rounds and keep gradients through the last 4; blocks below are reused, and blocks above run once after the final round.
Read. Take recurrent cache and the current stream before the chosen middle interval . The cache is a normalized accumulation, not a raw layer output.
Transform. Project and coordinatewise-gate the cache into , retaining an identity shortcut and a separately gated current-stream contribution. Both scalar gate strengths start at zero.
Write. Run blocks , then add their output to the old cache and RMS-normalize to create . That cache enters the next token before block .
Training and cost. A no-feedback initializer precedes parallel Jacobi refinements of the middle interval. Defaults use forward depth 16 and backward depth 4; these are not 16 full-stack passes. Reported training takes roughly 2–4× wall-clock. A training-time-matched baseline beats the 135M variant on zero-shot NLP.
Stability. Normalized caches and bounded gate amplitudes control local scale, not the entire recurrent Jacobian. Finite refinement and truncated gradients create distinct approximation errors. Generated tokens need one stack traversal plus fusion.
4.3Full-bandwidth Transformer#
- Residual stream
- Top state → next input
- On the recurrent chain
At decode time the next token's embedding gates a projection of the previous position's top-layer state, and the normalized product is the entire input to the stack. There is no additive embedding path. The recurrent chain therefore passes through every block.
Training approximates the recurrence with whole-stack passes over all positions in parallel. Pass 1 uses plain embeddings; each later pass fuses the previous pass's top states, shifted one position right. Every pass is supervised and gradients cross pass boundaries. The 200B-token recipe mixes 75% one-pass, 22% two-pass and 3% three-pass batches, averaging 1.28 stack passes.
Read. The previous token's top-layer state supplies the value; the current token embedding supplies a sigmoid gate.
Transform. Project the state, multiply it by the embedding-dependent gate, and normalize the fused input. There is no additive embedding shortcut. The detailed recipe also normalizes the gate's token input.
Write. Feed the product to the bottom of the current stack. Its top state becomes the next carried state while ordinary text and K/V caching continue.
Training and cost. Plain first passes initialize whole-stack feedback passes using right-shifted previous-pass states. Every pass is supervised, with gradients across feedback. The 200B-token recipe's 75%/22%/3% one/two/three-pass mix averages 1.28 stack passes, or 256B token-equivalent compute. Random plain prefixes train the prompt transition.
Stability. A single/double-pass schedule without triples fails at longer feedback horizons in the paper's diagnostic; a 3% three-pass component stabilizes it. The contraction interpretation is empirical. Depth scaling, normalization, tied embeddings, and latent jitter also matter. Decode adds projection/gating work; extra prompt passes cost separately.
4.4Latent Recurrent Transformer#
- Residual stream
- Memory route
- On the recurrent chain
- Receives memory only
At decode time the state after an intermediate source block becomes the memory for the next position, where it enters every block twice: scaled into the residual input and projected into the current keys and values. Blocks up to the source lie on the recurrent chain; later blocks receive memory but do not feed it forward.
Training approximates the recurrence in three parallel stages. One initialization pass over all positions fills a buffer; odd positions are then recomputed with memory read from that buffer, and even positions with the refined odd states. Every token is recomputed once, for about twice the ideal token compute, but the refinement is not the exact serial recurrence.
Read. Carry from a chosen source block. The default source is intermediate, not necessarily the top. Every current block can consume it alongside normal local state and K/V history.
Transform. One route adds scaled memory to the residual input before RMSNorm. Another projects memory into K/V and gates it together with local K/V. Keys then receive QK normalization and current-position RoPE.
Write. The mixed K/V occupies ordinary current-token cache entries, so no extra cache slots are needed. The chosen source block writes . Default recurrent projections are shared across depth; gates remain block-specific.
Initialization
Training and cost. One full initialization pass fills a buffer; interleaved token subsets refine and write back each token once. This is about 2× ideal token compute, with more serial stages than the baseline. Approximate refinement differs from exact causal decoding.
Stability. Conservative memory initialization and normalization support scale control. The two K/V gates lie in and are not complementary weights. Neither they nor the residual mixture prove long-horizon stability.
5Recurrence and sequence mixing#
What a single layer carries across positions
These mechanisms change how one layer mixes information across positions rather than how state moves through depth. DeltaNet and Gated DeltaNet replace the growing K/V cache with a fixed-size matrix state updated by an error-correcting rule; 2-simplicial attention keeps a cache but scores pairs of positions at once.
5.1DeltaNet#
- Token input
- Carried state
- Matrix state
Each token writes into the carried state with its key, value and step size , then reads it with its query. Unlike attention there is no growing list of past keys and values: everything the layer remembers lives in one matrix per head.
The update edits one association. The state's current answer for is ; the error is scaled by and written back along . Linear attention would instead add without removing the old value.
Read. Each token projects a query, key and value through a short convolution and SiLU, with L2-normalized queries and keys, and a write strength . The layer's whole memory of the past is one matrix .
Transform. The delta rule, introduced for fast-weight programmers [12], reads what the state currently returns for , compares it with , and writes the error back along : a rank-one correction with step size , rather than linear attention's plain addition .
Write. The output is the corrected state applied to the query, . is carried to the next token, so the cache is a fixed matrix per head instead of a growing K/V list.
The same update as error correction
Training and cost. The recurrence is sequential, but the product of factors is handled with a compact WY representation, so training runs chunkwise in parallel on matrix multiplies without materializing a state per token. Per-token decode cost and memory are constant in sequence length.
Stability. With unit-norm and , has eigenvalue along and 1 elsewhere, so the transition never expands the state. A fixed-size state still has to overwrite: recall degrades once more associations than dimensions compete for it.
5.2Gated DeltaNet#
- Token input
- Carried state
- Matrix state
Before writing, each step multiplies the carried state by a token-dependent decay . Small clears memory quickly; near 1 keeps it, and the delta rule then edits individual associations.
The gated delta rule spans two families. With it is DeltaNet. Without the delta correction, so that , it is gated linear attention in the style of Mamba2.
Read. The same normalized queries, keys and values and write strength as DeltaNet, plus a per-head decay computed from the token with Mamba2's parameterization.
Transform. The gated delta rule first decays the whole state by and then applies the delta correction. Decay can clear memory quickly; the delta rule edits one association precisely. Setting recovers DeltaNet.
Write. Read , normalize it per head, multiply by a SiLU output gate from the token, and project with . The decayed, corrected state carries to the next token.
Training and cost. The decay is a scalar per head and step, so it folds into DeltaNet's chunkwise WY algorithm as cumulative products; training stays parallel over chunks and decoding keeps a constant-size state. The paper also builds hybrids that interleave these layers with sliding-window attention (and Mamba2).
Stability. Since and the delta factor is non-expansive, every transition contracts the state, which bounds it but also limits how long an association survives without being rewritten.
5.32-Simplicial Attention#
- Read
- Position
Ordinary attention scores the query at against one key at a time: each earlier position gets a single weight.
2-Simplicial attention scores pairs : each triangle joins the query to two earlier positions, and the softmax runs over all pairs. The value it mixes is the elementwise product .
The efficient kernel restricts to the last positions and to the last , with and in the paper, so the cost grows as rather than .
Read. Each position projects a query , two keys and , and two values and . In the efficient version, ranges over a window of the last positions and over the last .
Transform. Score every pair against the query with a trilinear form [15]: multiply , and channel by channel and add up the products. Equivalently, dot the query with the elementwise product of the two keys, , so a pair scores high only when both keys line up with the query on the same channels. Softmax over all pairs jointly. Ordinary attention is the special case .
Write. Mix elementwise products of the two values, , with the pair weights. The output feeds the residual stream like ordinary attention; the K/V cache simply holds two keys and two values per position.
Training and cost. Full 2-simplicial attention costs in sequence length. The Triton kernel restricts and to windows of and positions, , which the paper sizes to cost about as much as full attention at 48k context.
Stability. The softmax still produces a convex mixture, now over pairs. Standard RoPE is not invariant under a trilinear product; the paper discusses determinant-based alternatives that restore rotation invariance.
6Training the temporal route#
The same dependency, different schedules
Consider the toy recurrence , with . Sequential execution uses the state it just computed. A Jacobi round updates every position simultaneously using the previous round's estimates (Figure 29).
Start from zero estimates, then advance a round.
Enable JavaScript to change the recurrence and advance its estimates.
In this adjacent-position toy, each round resolves one more dependency level from zero initialization. Real models have learned initializers and causal attention, so this is not a universal bound on how far information travels in one pass.
| Mechanism | Training schedule | Generation / additional work |
|---|---|---|
| Coconut | Resolve silent positions serially, reusing K/V | One stack evaluation for each silent position |
| T²MLR | Refine a middle interval; truncate backward history | One stack per emitted token plus fusion |
| Full-bandwidth | Mix plain and whole-stack feedback passes | One stack per emitted token; optional extra prompt passes |
| LRT | Full initialization plus one aggregate token refinement | One stack per emitted token plus residual/K/V injection |
These papers use different backbones, datasets, objectives, and cost accounting. Parameter- or token-matched quality does not automatically imply quality at matched training FLOPs, elapsed time, or deployment latency.
7The co-design opportunity#
Make memory a first-class source
Taken together, these mechanisms expose four choices: what to retain, who may read it, how it changes, and how to train that dependency. A residual reader could treat incoming temporal memory and current-token depth outputs as competing sources. A writer could learn which sources become the next carried state. Neither improvement follows automatically from adding gates or widening the state.
The research question is whether those choices improve quality at the relevant cost. That calls for ablations of source/target selection and mixing, causal-rollout validation, and comparisons under explicit pretraining and inference budgets. The architecture and its training approximation should be designed together.
References#
- [1] On Layer Normalization in the Transformer Architecture. ICML 2020, PMLR 119.
- [2] NormFormer: Improved Transformer Pretraining with Extra Normalization. arXiv:2110.09456, 2021.
- [3] MUDDFormer: Breaking Residual Bottlenecks in Transformers via Multiway Dynamic Dense Connections. ICML 2025, PMLR 267. Official code.
- [4] Hyper-Connections. ICLR 2025; arXiv:2409.19606v3.
- [5] mHC: Manifold-Constrained Hyper-Connections. arXiv:2512.24880v2, 2025.
- [6] mHC-lite: You Don't Need 20 Sinkhorn-Knopp Iterations. arXiv:2601.05732v1, 2026. Official implementation.
- [7] Attention Residuals. arXiv:2603.15031, 2026. Official pseudocode.
- [8] Training Large Language Models to Reason in a Continuous Latent Space. COLM 2025; arXiv:2412.06769v3.
- [9] T²MLR: Transformer with Temporal Middle-Layer Recurrence. arXiv:2607.15178v2, 2026. Official code.
- [10] Full-bandwidth transformer. arXiv:2608.08888v1, 2026.
- [11] Latent Recurrent Transformer: Architecture Exploration, Training Strategies, and Scaling Behavior. arXiv:2605.26797v1, 2026.
- [12] Linear Transformers Are Secretly Fast Weight Programmers. ICML 2021, PMLR 139.
- [13] Parallelizing Linear Transformers with the Delta Rule over Sequence Length. NeurIPS 2024. Reference kernels (FLA).
- [14] Gated Delta Networks: Improving Mamba2 with Delta Rule. ICLR 2025. Official code.
- [15] Logic and the 2-Simplicial Transformer. ICLR 2020.
- [16] Fast and Simplex: 2-Simplicial Attention in Triton. arXiv:2507.02754, 2025.
Appendix#
A About the figures
The mechanism diagrams are redrawn computational schematics using the notation in Table 1. They summarize the mechanisms, while the cited papers and implementations define the complete recipes. Versions are identified where the account depends on them.
The interactive examples and full-Jacobian caveats are mathematical illustrations, not experimental results from these papers.