Contents

1Hypothesis 1#

Better residual stream architecture can have a multiplicative effect with latent propagation.

Experiments.

  1. Run an experiment with the residual passing from the Latent Recurrent Transformer [1] on a PreNorm backbone and get an improvement.
  2. Run an experiment with the same residual passing on an Attention Residuals backbone [2] and get an improvement.
  3. Demonstrate that the relative improvement of the Attention Residuals setup is higher.
Table 1. Planned runs. Each improvement is measured against the same backbone without latent passing.
Residual backboneWithout latent passingWith LRT residual passing
PreNormBaselineExperiment 1
Attention ResidualsBaselineExperiment 2

Evidence. The relative improvement from latent passing is larger on the Attention Residuals backbone than on PreNorm (experiment 3).

2Hypothesis 2#

Borrowing ideas from time recurrences is a good idea for improving latent propagation.

Experiments.

  1. Get a solid baseline using modified versions of residual passing from existing research (background). My preferred form is gatherRMSNorm× embeddingFFN
  2. Demonstrate improved learning from introducing Householder transforms on the prior banks, pulling the architecture from the current s3e42. That run carries two banks through the s3e37 Householder compactor, described in Section 4.1.

Evidence. The Householder variant learns better than the baseline.

3Hypothesis 3#

Latent propagation makes sense from a scaling-law perspective, given sufficient weight on inference or when factoring in test-time compute.

Experiments.

  1. Run a set of experiments with the architecture from Hypothesis 2 across different model sizes and numbers of iterative input estimates (Jacobi passes; background).
  2. Create a scaling-law model for it and for the baseline.
  3. Intersect the two and figure out when latent propagation makes sense.
Table 2. Sweep axes for the scaling-law fits.
AxisValues
Model sizeSeveral sizes, for both models
Iterative input estimatesSeveral Jacobi pass counts, for the latent-propagation model
ModelArchitecture from Hypothesis 2; baseline

Evidence. The fitted laws cross: beyond some weight on inference and test-time compute, latent propagation is the better use of compute.

4Current architecture#

The s3e42 starting point

Hypotheses 2 and 3 build on the architecture of my current run, s3e42. It keeps the s3e37 architecture: two memory slots carried between tokens through a Householder compactor, on an Attention Residuals backbone [2] with pairwise queries. s3e42 trains it with a mixed three- and four-pass Jacobi schedule and full gradients.

4.1s3e42: Householder slot compaction#

Current run · parent s3e37 · 144,915,932 parameters

Four positions with four blocks drawn each. Every block output and the embedding of one position are gathered by a two-slot compactor, conditioned on the next token, and the two slots are readable by every block of the next position. The training view shows a bank-free first pass and later passes that compact the previous pass's banks one position to the left.eeeeCCCCCt − 2t − 1tt + 1bank Rt−1 → slots z1, z2read by every block at t
  • Residual stream
  • Bank → slots → every block
  • On the recurrent chain
  • Token conditioning

At decode time the compactor CC between positions reads the embedding and every block output of position t−1t-1 (and its incoming slots), conditions on the token at tt, and emits two slots z1,z2z_1, z_2. Both slots are sources for every residual reader at tt, so the whole stack lies on the recurrent chain.

Figure 2. s3e42 across positions. Four of the eight blocks drawn. The compactor CC gathers the whole bank of one position and hands two slots to every block of the next.
Highlight
Each of two slots scores every source in the previous token's completed bank with its own pairwise queries and biases over RMS-normalized keys, then gathers the raw values. The gather is RMS-normalized, gated by a learned lookup of the current token, and projected to a unit direction. The raw gather is reflected across the hyperplane normal to that direction. The two reflected slots join the current token's source bank, where every Attention Residuals reader of the decoder can read them; the completed bank then feeds the next token's compactor.Previous-token bankRt−1: embedding, attentionand FFN outputs, slotsPairwise slot scoresqsi⊤RMSNorm(ri) + bsisoftmax over all sourcesRaw gathergs = Σi αsirivalues are not normalizedCurrent tokenxt → lookup m(xt)one table for both slotsDirection pathRMSNorm(gs)  ⊙  m(xt) → Wsnormalize to a unit vector nsHouseholder reflectionzs = gs − 2ns(ns⊤gs)coefficient fixed at 2Slots join the bankz1, z2 become sourcesat token tDecoder at token tAttention Residuals readers8 layers of attention + FFNCompleted bankRt → compactor at t + 1weights αsraw gsnsBoth slots run in parallel; each has its own q, b and W.

Figure 3. Two Householder slots between tokens. One token boundary for one slot; the decoder's ordinary causal attention and K/V cache are unchanged.

Read. At token tt, each of the two slots reads the complete bank Rt−1R_{t-1} left at t−1t-1: the embedding, all eight attention and eight FFN outputs, and the two slots that arrived there. Each slot has its own query and bias for every source; keys are RMS-normalized and values stay raw.

Transform. The raw gather gsg_s is RMS-normalized, gated featurewise by a learned lookup of the current token xtx_t (one table shared by both slots), and projected by WsW_s to a unit direction nsn_s. The raw gather is then reflected across the hyperplane normal to nsn_s [3]. For a fixed direction this preserves its norm; the projection chooses how the state turns rather than replacing it.

Write. The reflected slots z1,z2z_1, z_2 join the current token's source bank. Every Attention Residuals reader in the decoder can read them alongside the embedding and earlier sublayer outputs, and they are part of the bank the next token's compactor reads.

Compactor, per slot

ℓsi=(qsi⊤ RMSNorm(ri)+bsi)/16,ri∈Rt−1gs=∑iαsi ri,αs=softmaxi(ℓsi)vs=Ws(m(xt)⊙RMSNorm(gs)),ns=vs/∥vs∥2zs=gs−2 ns(ns⊤gs),s=1,2\begin{aligned} \tip{l}{\ell_{si}} &= \bigl(\tip{q}{q_{si}^{\top}}\, \tip{N}{\mathrm{RMSNorm}}(\tip{r}{r_i}) + \tip{b}{b_{si}}\bigr) / 16, \qquad \tip{r}{r_i} \in \tip{R}{R_{t-1}} \\ \tip{g}{g_s} &= \textstyle\sum_i \tip{alpha}{\alpha_{si}}\, \tip{r}{r_i}, \qquad \tip{alpha}{\alpha_{s}} = \tip{sm}{\mathrm{softmax}_i}(\tip{l}{\ell_{si}}) \\ \tip{v}{v_s} &= \tip{W}{W_s}\bigl(\tip{m}{m(x_t)} \odot \tip{N}{\mathrm{RMSNorm}}(\tip{g}{g_s})\bigr), \qquad \tip{n}{n_s} = \tip{v}{v_s} / \lVert \tip{v}{v_s} \rVert_2 \\ \tip{z}{z_s} &= \tip{g}{g_s} - 2\, \tip{n}{n_s} (\tip{n}{n_s^{\top}} \tip{g}{g_s}), \qquad s = 1, 2 \end{aligned}
(1)

Decoder residual readers

ha=∑isoftmaxi((qai⊤ RMSNorm(ri)+bai)/16) rii∈{et, y<a, z1, z2}\begin{aligned} \tip{h}{h_a} &= \textstyle\sum_i \tip{sm}{\mathrm{softmax}_i}\bigl((\tip{qa}{q_{ai}^{\top}}\, \tip{N}{\mathrm{RMSNorm}}(\tip{r}{r_i}) + \tip{ba}{b_{ai}}) / 16\bigr)\, \tip{r}{r_i} \\ i &\in \{\tip{e}{e_t},\ \tip{y}{y_{<a}},\ \tip{z}{z_1},\ \tip{z}{z_2}\} \end{aligned}
(2)

Jacobi passes and token recurrence

R1=D(x1:T)Rk=D(x1:T, C(Rt−1k−1,xt)),k=2,3,4Rt=D(xt, C(Rt−1,xt))\begin{aligned} \tip{R1}{R^{1}} &= \tip{D}{D}(\tip{xs}{x_{1:T}}) \\ \tip{Rk}{R^{k}} &= \tip{D}{D}\bigl(\tip{xs}{x_{1:T}},\, \tip{C}{C}(\tip{Rprev}{R^{k-1}_{t-1}}, \tip{x}{x_t})\bigr), \qquad k = 2, 3, 4 \\ \tip{Rt}{R_t} &= \tip{D}{D}\bigl(\tip{x}{x_t},\, \tip{C}{C}(\tip{R}{R_{t-1}}, \tip{x}{x_t})\bigr) \end{aligned}
(3)

The first line is the bank-free first pass; the last is the token-by-token recurrence used at inference.

Training and evaluation. Each update has eight microbatches: six run three passes with losses weighted 0.3, 0.3 and 0.4, and two run four passes with loss on the fourth only. Gradients cross every pass and bank boundary without damping or detachment. Validation reports pass 4, the mean of passes 4 to 16, and the token recurrence.

Size. Eight layers at width 1,024, eight query heads sharing one K/V head, and 4,096-token sequences in 524,288-token batches. The two d×dd \times d slot projections are repaid by narrowing the first FFN from 3,072 to 2,304 hidden units; query, bias and token-lookup parameters are counted separately.

References#

  1. [1]Zeyi Huang, Xuehai He, LiLiang Ren, et al. Latent Recurrent Transformer: Architecture Exploration, Training Strategies, and Scaling Behavior. arXiv:2605.26797v1, 2026.
  2. [2]Kimi Team. Attention Residuals. arXiv:2603.15031, 2026. Official pseudocode.
  3. [3]Zakaria Mhammedi, Andrew Hellicar, Ashfaqur Rahman, and James Bailey. Efficient Orthogonal Parametrisation of Recurrent Neural Networks Using Householder Reflections. ICML 2017, PMLR 70.