A standard transformer of fourteen layers with 471M parameters next to a looped transformer of twelve layers whose middle six run twice, with 344M parameters: 27% fewer parameters for 8% more training compute and a lower loss.

The Benefit of Looping Twice:Parameter Savings with Little Added Compute

Looped transformers at matched training compute, in dense models and in mixture-of-experts

Cite this work
@article{xiong2026truncate,
  title   = {Truncate or Not? A Scaling Study of Looped Transformers
             with Truncated Backpropagation},
  author  = {Xiong, Xuyuan and Chen, Siyu and Shao, Zihan and Su, Yue
             and Jin, Weiyang and Luo, Ping and Yang, Zhuoran and Liu, Xihui},
  journal = {arXiv preprint arXiv:2610.26030},
  year    = {2026}
}

TL;DR

A looped transformer reuses one block of layers several times for every token. We ask how many parameters this saves against a standard transformer trained with the same compute, measure it in dense and in mixture-of-experts models, and explain it with a scaling law fitted to nearly 600 training runs.

  • Dense models. With 27% fewer parameters, a 344M looped model reaches a lower loss than the best 471M model without loops, for 8% more training compute.
  • Mixture-of-experts. A looped model that shares its experts across its two passes matches its untied counterpart with 17% fewer parameters and 9% more compute per token; a purely looped model beats it with 11% fewer parameters and 18% more compute per token.
  • Why two loops. A scaling law prices a loop in effective parameters. Read at equal loss, it gives a Pareto frontier of parameters saved against compute paid. Two fully trained loops are its knee: they give most of the attainable parameter saving for a few percent more compute.
Looped model Parameters saved Extra compute Loss vs reference
Against the best model without loops
Dense (2, 2), same compute 27–32% 0% +0.001 to +0.008
Dense (2, 2), 8% more tokens 27% +8% −0.007
Against the untied model, on the same tokens
Dense (2, 2), widened 19–21% +15–22% −0.005 to −0.017
MoE, own attention per pass 17% +9% +0.001
Tab. 1 Parameters saved by looped models in our experiments. Each row compares a looped model with its reference at the stated extra training compute; the last column is the looped model’s validation loss minus the reference’s, in nats. Dense rows are (2,2) models, means of three seeds; the MoE row is a single run against an untied twin on the same tokens (Section 4).

1. Introduction

Looped transformers apply one block of layers several times for every token, so they add depth without adding weights. This is usually read as more computation for the same parameters. We read it the other way round. Parameters are what a model costs to store, move and serve, and training compute is what it costs to make; the two budgets are often separate, since a model trained once on a cluster may later run on hardware with a fixed amount of memory. At the same training compute and the same loss, how many fewer parameters does a looped model need?

Recent work on looped mixture-of-experts models, SMELT [1], matches a looped model to its baseline in parameters, per-token compute and KV cache, and finds that looping still lowers the loss: on the compute-optimal frontier it saves 6.8–18% of the training compute. We ask a different question: when the parameter count is free to fall, how many fewer parameters does a looped model need for the same loss, and how much extra compute does that cost? It is the question behind the free-size results of our paper, Truncate or Not? A Scaling Study of Looped Transformers with Truncated Backpropagation [2].

The rest of this post follows three questions.

  1. First, does a loop save parameters in practice? It does. A dense looped model with 27% fewer parameters beats the best model without loops for 8% more training compute (Section 3).
  2. Second, does the saving carry over to mixture-of-experts models? It does. Sharing the experts across two passes saves 17% of the parameters at matched loss for 9% more compute per token, and a purely looped model beats its untied twin with 11% fewer parameters and 18% more compute per token (Section 4).
  3. Third, why two loops? A scaling law fitted to nearly 600 training runs prices a loop in effective parameters: two fully trained loops are worth 1.91 copies of the looped block. Read at equal loss, the law gives a parameter–compute Pareto frontier whose knee is two fully trained loops, saving about a third of the parameters for 3% more compute (Sections 5 and 6).

2. Looped Models

We use the prelude–recurrent–coda architecture of Geiping et al. [3] and Schwethelm et al. [4]. A prelude maps tokens to hidden states, a shared recurrent block refines them over T loops, and a coda predicts the next token. A loop setting (T,B) runs T loops forward and backpropagates through the last B; B=T is full backpropagation through time (BPTT), and (1,1) is a standard transformer. The non-embedding parameters split into N=N_{\text{once}}+N_{\text{rec}}: the prelude and coda run once per token, the recurrent block runs in every loop (Fig. 1).

Fig. 1 The looped transformer, drawn for two loops. The prelude maps tokens to the hidden state s_0; the recurrent block, whose weights all loops share, refines it T times, each loop reading s_0 and the previous state; the coda predicts the next token. The block is stored once, so its N_{\text{rec}} parameters count once however many times it runs.

3. Parameter Savings in Dense Models

Finding 1: Two fully trained loops save 27–32% of the parameters at the same training compute. With 8% more training compute, a (2,2) model with 27% fewer parameters beats the best model without loops; against the untied model on the same tokens, looped models with a fifth fewer parameters win for 15–22% more compute per token.

We compare looped and standard dense models in two ways: compute-optimal pairs, and the untied model on the same tokens.

3.1 Compute-Optimal Pairs

At three training budgets, we train (1,1) and (2,2) each at the size and token count that minimize its own loss, with three seeds per model (Tab. 2).

Compute (FLOPs) (1, 1) size (1, 1) loss (2, 2) size (2, 2) loss Gap (10⁻³ nats)
1.6 × 10¹⁸ 115M 2.7098 79M 2.7177 +7.9 ± 1.9
6.0 × 10¹⁸ 239M 2.5215 162M 2.5253 +3.8 ± 1.8
2.1 × 10¹⁹ 471M 2.3663 344M 2.3677 +1.4 ± 1.7
2.2 × 10¹⁹ (+8%) 471M 2.3663 344M 2.3590 −7.3 ± 1.8
Tab. 2 Compute-optimal pairs. Each model is trained at the size and token count that minimize its loss for the compute; loss is the mean of three seeds, and the gap is (2,2) minus (1,1) with one standard error. The last row trains the 344M (2,2) model on 8% more tokens.

At every budget the looped model has 27–32% fewer non-embedding parameters and nearly the same loss, and the gap closes as the budget grows, to 0.001 nats at 2.1\times10^{19} FLOPs. Trained on 8% more tokens, and so with 8% more compute, the 344M (2,2) model beats the 471M model without loops by 0.007 nats (Fig. 2).

Fig. 2 Two fully trained loops against no looping at 2.1\times10^{19} FLOPs. Parameters and compute of the (2,2) model relative to the compute-optimal model without loops. With 8% more compute, (2,2) reaches a lower loss with 27% fewer non-embedding parameters.

3.2 Against the Untied Model

The pairs let both models choose their size. A tighter test keeps everything else equal: the untied model is the same network with a separate copy of the recurrent block for each loop. For two loops it has about 1.5 times the parameters at the same compute per token. We train both at four sizes on the same tokens, about 18 tokens per parameter of the looped model, with three seeds each.

At the untied model’s width the looped model trails it by 0.009–0.017 nats; widening it reverses the gap at every size (Fig. 3). Widened to about 80% of the untied model’s parameters, for 15–22% more compute per token, it beats the untied model by 0.005–0.017 nats in all twelve seed pairs.

Fig. 3 With about 80% of the parameters and 15–22% more compute per token, widened looped models beat their untied twins. Each row is a (2,2) model, widened to about 80% of its untied model’s non-embedding parameters and trained on the same tokens, at four sizes. Left and middle: its parameters and compute per token as percentages of the untied model (dashed lines). Right: its loss minus the untied model’s; mean of three seeds with one standard error.

4. Parameter Savings in Mixture-of-Experts Models

Finding 2: The saving carries over to mixture-of-experts models. A looped MoE model that shares its experts across its two passes matches its untied twin with 17% fewer parameters for 9% more compute per token; a purely looped one beats the twin with 11% fewer parameters for 18% more compute per token.

4.1 Configurations

The dense results show a trade: a loop saves parameters at the same loss for a little more compute. We test it in mixture-of-experts models, where the experts hold nearly all of the parameters, with the untied comparison of Section 3.2. The reference is the untied twin of SMELT’s 100M tier [1]: 10 layers of width 576 with 96 experts per layer (8 active per token), whose layers 3–7 run twice with separate weights for each pass, 1,068M non-embedding parameters in total. Both looped models have 11 layers and run their middle five twice; all three models train on the same 12.58B FineWeb-Edu tokens, with one seed each (Tab. 3).

  • Shared experts. The first looped model, of width 592 with 104 experts per layer, shares the experts and the router between its two passes; they hold almost all of the parameters. Each pass keeps its own attention and norms, and the second pass’s copy adds only 0.5% to the parameter count. Foil [5] calls this untying the attention and finds that it lowers the loss of looped MoE models at no extra compute.
  • Purely looped. The second shares every weight between its two passes. It is wider, with width 624 and 100 experts per layer.
Model Parameters Compute per token Loss − twin
Untied twin 1,068M 1.00 —
Own attention per pass 892M (0.835) 1.094 +0.0008
All weights shared 950M (0.889) 1.176 −0.0056
Tab. 3 The MoE models: non-embedding parameters (in brackets, relative to the twin), training compute per token relative to the twin, and validation loss minus the twin’s at 12.58B tokens.

4.2 Results

Sharing the experts across the two passes saves 17% of the parameters at matched loss: the looped model with its own attention per pass matches the untied twin, at +0.0008 nats, for 9% more compute per token. The purely looped model, with 11% fewer parameters and 18% more compute per token, is 0.006 nats ahead. As in dense models, a looped model with fewer parameters than its untied twin matches or beats it for some extra compute per token (Fig. 4).

Fig. 4 With 11–17% fewer parameters and 9–18% more compute per token, looped MoE models match or beat their untied twin. The two looped models of Tab. 3 against the untied twin, on the same tokens, one seed each. Panels as in Fig. 3; grey band: the noise of a single-seed comparison, ±0.005 nats.

5. A Scaling Law for Looped Models

Why does looping twice save so much, and what do other loop settings save? A scaling law fitted to nearly 600 training runs answers both, by pricing every loop setting in effective parameters.

Finding 3: Two fully trained loops make the looped block worth 1.91 copies of itself. A loop setting (T,B) makes the block count g(T,B) times in an effective parameter count; fitted to nearly 600 training runs, g saturates at about three copies however often the block loops.

5.1 Effective Parameters

A loop can only enlarge the block that loops. We therefore write the loss with an effective parameter count N_{\text{eff}}, the size of a model without loops that reaches the same loss on the same tokens: the recurrent block counts g(T,B) times, and the prelude and coda count once.

The law

\begin{gathered} L=E+\left[A\left(\frac{N_{\text{eff}}}{N_0}\right)^{-\alpha}+H\left(\frac{D}{D_0}\right)^{-\beta}\right]^{\kappa}\\[4pt] N_{\text{eff}}=N_{\text{once}}+g(T,B)\,N_{\text{rec}},\qquad g(T,B)=\exp\!\left[c\left(1-T^{-p}B^{-q}\right)\right] \end{gathered} \tag{1}

\begin{gathered} L=E+\left[A\left(\frac{N_{\text{eff}}}{N_0}\right)^{-\alpha}+H\left(\frac{D}{D_0}\right)^{-\beta}\right]^{\kappa}\\[4pt] N_{\text{eff}}=N_{\text{once}}+g(T,B)\,N_{\text{rec}}\\[2pt] g(T,B)=\exp\!\left[c\left(1-T^{-p}B^{-q}\right)\right] \end{gathered}\tag{1}

Here D is the number of training tokens, and the bracket is the coupled size–data law of Videau et al. [6] with fixed scales N_0=2.4\times10^{8} and D_0=2^{30}. The looping coefficient g(T,B) says how many copies of the recurrent block a loop setting is worth. Its form follows from four requirements:

  • Normalization. g(1,1)=1: a single loop is a standard transformer.
  • Monotonicity. g increases in T and in B: running or training more loops raises it.
  • No gradient, no gain. g(T,0)=0: with no trained loop, the recurrent block adds no effective size.
  • Saturation. \sup_{B\le T} g(T,B)<\infty: finite weights store finite information.

We fit all nine coefficients on 230 configurations from nearly 600 training runs on FineWeb-Edu [7]: five sizes from 58M to 919M non-embedding parameters, 1.1 to 1,291 training tokens per parameter, and fifteen loop settings with T up to 16 (Tab. 4, Tab. 5).

E A H \alpha \beta \kappa c p q
0.299 6.487 7.633 0.306 0.393 0.325 1.112 0.237 1.022
Tab. 4 The nine coefficients of the law (1), fitted on 230 configurations.
Evaluation Fits RMSE (10⁻³ nats) MAE (10⁻³ nats)
In-sample 1 6.14 4.91
One configuration out 230 6.40 5.11
One model size out 7 7.48 5.89
One token budget out 11 6.42 5.12
One (T, B) setting out 15 8.67 6.74
Tab. 5 Fit and holdout errors of the law: in-sample, and with one configuration, model size, token budget or loop setting left out of each fit.

A shared block is worth at most about three copies of itself, and two fully trained loops are worth almost two: the ceiling e^{c}\approx3.0 bounds g however often the block loops, and g(2,2)\approx1.91. The exponents add one more reading: since q>p, doubling the trained loops B adds more than doubling the forward loops T.

5.2 Compute

A backward pass costs twice a forward pass. Counting two FLOPs per parameter and token for each forward pass and four for each backward pass, a looped model trains at the cost of a model without loops with N_{\text{comp}} parameters:

C\simeq6D\,N_{\text{comp}},\qquad N_{\text{comp}}=N_{\text{once}}+\frac{T+2B}{3}\,N_{\text{rec}}. \tag{2}

A looped model thus has two sizes: in loss it is worth N_{\text{eff}}, in compute it costs N_{\text{comp}}. Their ratio \chi=N_{\text{comp}}/N_{\text{eff}} is the compute paid for each effective parameter, which turns every loop setting into a price in parameters.

6. The Parameter–Compute Pareto Frontier

Finding 4: Two fully trained loops are the knee of the parameter–compute frontier. At the loss of the best model without loops, every loop setting costs extra training compute and saves parameters; two fully trained loops save 32% of the parameters for 3.1% more compute, and the saving saturates near one half.

At equal loss, every loop setting saves some parameters and costs some extra training compute, relative to the best model without loops. Figure 2 of our paper [2] plots the two for every setting, reproduced as Fig. 5; the settings that save the most parameters for their compute form a Pareto frontier.

With model size and tokens free, the price \chi is all that separates a loop setting from the model without loops. Substituting N_{\text{comp}}=\chi N_{\text{eff}} into (2) gives C=6D\,\chi N_{\text{eff}}: a loop setting buys the same pairs (N_{\text{eff}},D) as a model without loops, at \chi times the price. To match the loss of the compute-optimal model without loops, it must spend \chi times its compute and reach the same effective size and tokens. Its trainable parameters are that effective size divided by G=N_{\text{eff}}/N. Writing \rho=N_{\text{rec}}/N, which is about one half in our models,

\begin{gathered} \frac{C_{(T,B)}}{C_{(1,1)}}=\chi(T,B)=\frac{1-\rho+\rho\,(T+2B)/3}{1-\rho+\rho\,g(T,B)}\\[6pt] \frac{N_{(T,B)}}{N_{(1,1)}}=\frac{1}{1-\rho+\rho\,g(T,B)} \end{gathered} \tag{3}

Both ratios are the same at every compute budget under this FLOP count, so a single picture covers every budget.

Fig. 5 The parameter–compute Pareto frontier, at the loss of the best model without loops. Each marker is a loop setting (T,B) at its compute-optimal size and tokens. Horizontal: the training compute it needs, relative to the model without loops at the same loss. Vertical: the fraction of non-embedding parameters it saves. Filled markers are full BPTT (B=T) and form the frontier; the dashed curve is the law for full BPTT at any T from 2 to 16, and dotted lines join settings with the same T.

A loop trades compute for parameters: every loop setting needs more compute than the best model without loops, and every one buys a smaller model at the same loss. Every setting has \chi\ge1, so at a fixed compute the best model has no loop, as Schwethelm et al. [4] also find; what a loop offers instead is a discount on parameters, paid for in compute.

Full BPTT forms the frontier: for the same compute, every truncated setting saves fewer parameters, since truncation pays for forward loops that carry no gradient, and its markers lie below the dashed curve of full BPTT.

Two fully trained loops are the knee: (2,2) saves 32% of the parameters for 3.1% more compute, while sixteen loops save 50% of the parameters for 334% more compute. The dense pairs of Section 3.1 measure this knee directly.

Loop setting Extra training compute Parameters saved
(2, 2) +3.1% 31.6%
(4, 4) +43% 43.3%
(8, 8) +138% 47.8%
(16, 16) +334% 49.6%
Tab. 6 The full-BPTT frontier of Fig. 5: the extra training compute each setting needs and the parameters it saves, at the loss of the best model without loops.

Since g\le e^{c}\approx3.04 and half the parameters loop, no setting can save more than 1-1/(0.49+0.51\cdot3.04)\approx51\% of the parameters, whatever the compute (Tab. 6). The first step is cheap because sharing costs little. Replace the shared block of a (2,2) model with two untied copies: the copies cost the same compute per token, but they are worth N_{\text{once}}+2N_{\text{rec}} effective parameters, against N_{\text{once}}+g(2,2)\,N_{\text{rec}} for the shared block. With g(2,2)\approx1.91, sharing loses only 9% of one copy while storing half the recurrent weights; Fig. 6 shows how this gap widens for more loops.

Fig. 6 Loops against untied copies. The fitted g(T,T) (solid) stays below T untied copies (dashed) for T\ge2; the gap is smallest at T=2.

Conclusions

We asked how many parameters a loop saves at the same training compute. In dense models, compute-optimal (2,2) models match the best models without loops with 27–32% fewer parameters at the same training compute, and beat them with 27% fewer parameters for 8% more training compute. In mixture-of-experts models, where the experts hold nearly all of the parameters, sharing the experts across loops saves 17% of the parameters for 9% more compute per token, and sharing every weight saves 11% of the parameters and beats the untied twin for 18% more compute per token.

A scaling law fitted to nearly 600 training runs explains the trade. It prices every loop setting in effective parameters, and read at equal loss it gives a parameter–compute Pareto frontier: no loop is free, full BPTT forms the frontier, and two fully trained loops are its knee, saving about a third of the parameters for 3% more compute.

A loop therefore moves the cost of a model from memory to computation. That trade pays whenever the parameters, rather than the training compute, are the binding budget.

References

[1]
Shaowen Wang, Ge Zhang, Kairong Luo, Yuhao Wu, Shaofan Liu, Jiaheng Liu, Wenhao Huang, Shen Yan, and Jian Li. SMELT: Scaling Laws for Compute-Matched MoE Looped Transformers. arXiv preprint arXiv:2609.01343, 2026.
[2]
Xuyuan Xiong, Siyu Chen, Zihan Shao, Yue Su, Weiyang Jin, Ping Luo, Zhuoran Yang, and Xihui Liu. Truncate or Not? A Scaling Study of Looped Transformers with Truncated Backpropagation. arXiv preprint arXiv:2610.26030, 2026.
[3]
Jonas Geiping, Sean McLeish, Neel Jain, John Kirchenbauer, Siddharth Singh, Brian R. Bartoldson, Bhavya Kailkhura, Abhinav Bhatele, and Tom Goldstein. Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach. arXiv preprint arXiv:2502.05171, 2025.
[4]
Kristian Schwethelm, Daniel Rueckert, and Georgios Kaissis. How Much Is One Recurrence Worth? Iso-Depth Scaling Laws for Looped Language Models. arXiv preprint arXiv:2604.21106, 2026.
[5]
Shouren Wang, Chuang Ma, Mohsen Hariri, Debargha Ganguly, Wang Yang, Xiaoqing Tong, Qianying Liu, Xiaotian Han, and Vipin Chaudhary. How to Loop MoE: Flatten the Experts, Untie the Attention. arXiv preprint arXiv:2609.35751, 2026.
[6]
Mathurin Videau, Badr Youbi-Idrissi, David Lopez-Paz, and Kartik Ahuja. Skaling: Chinchilla’s Exponents Meet Kaplan’s Coupling. arXiv preprint arXiv:2608.07222, 2026.
[7]
Guilherme Penedo, Hynek Kydlı́ček, Loubna Ben Allal, Anton Lozhkov, Margaret Mitchell, Colin Raffel, Leandro Von Werra, and Thomas Wolf. The FineWeb Datasets: Decanting the Web for the Finest Text Data at Scale. arXiv preprint arXiv:2406.17557, 2024.