学术交流群:922230617
目录
0. 一句话总结
1. 背景
2. 循环 MoE:如何设计,能带来多少收益?
2.1 Foil:如何循环 MoE?扁平化专家、解绑注意力
How to Loop MoE: Flatten the Experts, Untie the Attention
2.1.1 问题:循环 MoE 的专家布局与注意力共享
2.1.2 Foil 的两个核心设计
2.1.3 三个专家使用指标
2.1.4 实验结果
2.1.5 消融实验
2.2 Loop Scaling Laws:循环 MoE 的联合缩放定律
Scaling Laws for Looped Mixture of Experts
2.2.1 问题:循环和稀疏没有联合建模
2.2.2 有界、稀疏条件循环映射
2.2.3 缩放律形式
2.2.4 主要发现
2.2.5 下游实验
2.3 循环 MoE 小结:设计 + 规律
3. OperLoop:把循环 Transformer 当作优化器
Looped Transformers as Optimizers
3.1 核心观点
3.2 把已有循环模型映射进框架
3.2.1 Vanilla Loop / Ouro / Huginn
3.2.2 Parcae:输入映射不匹配
3.2.3 HyperLoop:读映射和写映射不一致
3.2.4 扩展分析:更多循环模型的统一视角
3.3 OperLoop:用优化器思想设计新循环
3.4 实验结果
3.5 总结
4. Looped-DiT:把循环计算带入文生图扩散模型
Looped Diffusion Transformer
4.1 背景:扩散模型太贵了
4.2 朴素循环的问题
4.3 方法:Deep Supervision + Self-Modulating Attention
4.3.1 (关键组件 1)Deep Supervision:给中间循环直接监督
4.3.2(关键组件 2)Self-Modulating Attention:抑制过度更新
4.4 实验结果
5. 横向对比与总结
5.1 共同主题
5.2 实践启示
0. 一句话总结
Looped Transformer 正在从 “重复堆叠共享块” 走向循环 + 稀疏 MoE + 缩放定律 + 优化设计的系统化阶段。核心思想是:不增加参数,用更多计算换更强能力。本文梳理四篇近期工作:Foil、Loop Scaling Laws、OperLoop、Looped-DiT。
1. 背景
传统 Transformer 靠 “堆层” 增加深度,但参数量、显存、通信开销都会同步上涨。Looped Transformer 换了个思路:
共享一组 Transformer block;
对同一组 block 反复执行多次;
用 “循环次数” 代替 “独立层数” 来增加有效深度。
典型结构是:
Prelude(前奏) → Looped Blocks(共享块,循环 R 次) → Coda(尾奏)
代表工作包括 Universal Transformer、Huginn、Ouro、Parcae、HyperLoop 等。它们共同的目标是:
在固定参数下,通过增加计算量提升模型能力;在推理时,还可以按需增加循环次数,实现 test-time scaling。
与此同时,MoE(Mixture-of-Experts)走的是另一条路:
每层放很多专家;
每个 token 只激活其中少数几个;
总参数量很大,但每 token 计算量可控。
于是自然出现一个问题:
如果把 Looping 和 MoE 结合起来,应该怎么循环?专家怎么放?注意力要不要共享?循环收益到底有多大?
下面先集中看两篇循环 MoE 工作:Foil 回答 “怎么设计”,Loop Scaling Laws 回答 “能带来多少收益、资源受限下怎么选”。
2. 循环 MoE:如何设计,能带来多少收益?
2.1 Foil:如何循环 MoE?扁平化专家、解绑注意力
How to Loop MoE: Flatten the Experts, Untie the Attention
论文地址:https://arxiv.org/abs/2609.35751
项目页面:https://github.com/SR-A-W/how-to-loop-moe
图 1:设计 Foil 的动机。
左侧:为何对稀疏 MoE 进行循环。
- 在相同参数下,循环可降低损失,并使用更少的参数匹配非循环模型的能力;
- Token 通过更多次迭代能够接触到更多不同的专家。
右侧:Foil 的设计。
- 扁平化专家结构
- 解耦注意力机制
- 增加循环次数
- 保持参数不变并维持计算过程。
原始(Vanilla)循环 MoE 与 Foil 模型对比。
- 两种模型均采用相同的结构:前奏(embedding层和一个常规 MoE 层)、多个迭代周期应用的重复核心,以及尾声(一个常规 MoE 层和 LM 头部)。
- 原始核心在各迭代周期中共享注意力和专家。
- Foil 对核心进行扁平化处理——它保持了专家总数不变,同时使用更少的层数、每层更多专家、更多迭代周期,并解耦了注意力机制:专家在各迭代周期中共享,但每个迭代周期都有其独立的注意力集,由迭代索引决定。
- 两种模型在每个 token 上调用相同数量的专家。
- 当核心包含多层时,每一层对应每个迭代周期的一个注意力集;省略号表示其余的集合。
- 红色:注意力;蓝色:专家。
2.1.1 问题:循环 MoE 的专家布局与注意力共享
循环 MoE 的潜力很直接:
每个 pass 都重新路由;
同一个 token 在不同 pass 可以走到不同专家;
不增加专家参数,就能让 token 接触到更多专家组合。
但已有工作没有系统研究:
在专家参数和每 token 计算固定时,专家应该怎么分布?
注意力应该跨 pass 共享,还是每个 pass 独立?
2.1.2 Foil 的两个核心设计
Foil 提出两个关键操作:
1)Flatten the Experts:扁平化专家
把循环块形状记为 (E,D,L):
E:每层专家数;
D:循环块层数;
L:循环次数。
一次扁平化:(E,D,L)→(2E, D/2, 2L)
也就是:
每层专家数翻倍;
层数减半;
循环次数翻倍。
同时保持:
专家总参数 E_real = E×D 不变;
每 token 专家调用量 E_comp = k×D×L 不变;
有效深度 D_eff = D×L 不变;
但每个路由决策的候选池 E 变大;
等价专家数 E_eq = E×D×L 变大。
例如从 (8,8,2) 出发:(8,8,2)→(16,4,4)→(32,2,8)→(64,1,16),E_eq 从 128 涨到 1024。
2)Untie the Attention:解绑注意力
传统循环模型通常把整个 block 跨 pass 共享,包括注意力。
但扁平化会删掉一些层,也就删掉了一些注意力参数。
Foil 的做法是:
专家和路由器跨 pass 共享;
每个 pass 拥有自己的注意力参数集;
注意力参数量不变,因为 D×L 固定;
不增加计算量,只恢复被共享丢弃的注意力容量。
带共享注意力的版本叫proto-Foil;解绑注意力的版本叫Foil。
2.1.3 三个专家使用指标
Foil 用三个指标观察专家利用:
每 token 到达的不同专家数 U_t:
S 表示 token t 在 layer (Deepth) d、pass l 时选择的 k 个专家。
对单独一层 d:
这一层最多只有 E 个专家,所以并集大小不超过 E;
这一层一共被访问 L 次,每次最多引入 k 个新专家,所以并集大小不超过 kL。
该指标衡量一个 token 在循环块中,跨所有层和所有 pass,去重后一共接触到了多少个不同专家。
负载均衡 B_2:
其中,
E:该层专家总数;
q_i:专家 i 收到的路由请求份额;
N_2:有效专家数(effective number of experts),也叫逆 Simpson 指数;
B_2:归一化后的有效专家数,即 N_2 / E。
表示归一化的有效专家数,衡量 MoE 层中路由请求在专家之间的分散程度。
它范围在 [k/E,1],等于 1 表示完全均匀,越小表示负载越集中。
1)如果所有专家完全均匀地接收请求,那么每个 q_i = 1/E,于是
所以
表示完全均衡。
2)如果负载极度集中,比如所有请求都给了同一组 k 个专家,其他专家几乎收不到请求,那么
路由置信度 MMR(Median Margin Ratio,中位数边际比):
对某个 token 的一次路由决策:
设 Router 输出 logits 为 z_1,…,z_E;
经过 softmax 得到概率 p_1,…,p_E;
按概率从大到小排序:
MMR 定义为:
其中:
分子 p_(1):Router 最看好的专家概率;
分母 p_(E/2):排名第 E/2 的专家概率,也就是中位排名专家;
MMR 表示Router 首选专家概率与中位排名专家概率的比值,衡量路由置信度。
直观含义:
如果 Router 对首选专家非常确信,那么 p_(1) 会远大于中位专家概率 p(E/2),MMR 就大。
如果 Router 对所有专家都差不多,没有明显偏好,那么 p_(1) ≈ p_(E/2),MMR 接近 1。
所以 MMR 越大,说明 Router 越 “有主见”,路由区分度越高。
为什么用 “中位数” 而不是最大值/最小值?
- 如果只比较第一名和最后一名,容易受极端值影响;如果只比较被选中的 top-k 内部,又看不到 Router 对整个专家池的区分度。
- 取中位排名专家作为参照,可以回答:Router 对第一名的偏好,是否明显强于 “中间水平” 的专家?
- 这样既避免了边缘专家的噪声,也避免了只看 top-k 内部导致的偏差。
| 指标 | 衡量什么 | 范围 | 越大意味着 |
|---|---|---|---|
| B_2 | 负载均衡 | [k/E,1] | 请求越均匀地分给所有专家 |
| MMR | 路由置信度 | [1,∞) | Router 对首选专家越确信 |
MMR 不能替代 B_2,但能和 B_2 一起判断专家是否被健康地使用;其 per-pass 峰值还可以提示循环收益是否接近饱和。
2.1.4 实验结果
论文提出三种模型(E,D,L):Foil-1(64, 1, 16)、Foil-2(32, 2, 8)和 Foil-3(16, 4, 4)。
- 基线模型Base(8, 8, 2)是未解耦注意力的循环模型,仅在结构上与上述模型不同。
- 对照组(Base-tied 以及原型 Foil-3、-2、-1)共享注意力机制。
在 20B 和 100B token 预训练中:
20B 时,所有 Foil 都优于未扁平化基线;
100B 时,损失随扁平化程度单调下降;
Foil-1 (64,1,16) 最终比 Base 低 0.012 nat;
下游任务准确率持平或更好;
解绑注意力(untied)后,路由更均衡、更自信。
负载均衡单独不能说明专家健康;在 untied 平坦化序列中,最平坦化的模型所达到的损失低于非平坦化的模型:较低的平衡(更小的 B_2)并不意味着模型更差(可能此时 loss 更小,置信 MMR 更高)。
2.1.5 消融实验
加宽专家层和增加循环次数互相放大(loss 持续走低);
MMR 的 per-pass 峰值可以提示循环收益接近饱和;
结论:在固定专家参数和计算下,把专家 “压扁”成更宽、更稀疏的层,并循环更多次,同时让每个 pass 拥有独立注意力,是循环 MoE 的有效设计。
2.2 Loop Scaling Laws:循环 MoE 的联合缩放定律
Scaling Laws for Looped Mixture of Experts
论文地址:https://arxiv.org/abs/2609.40316
Foil 给出了循环 MoE 的结构设计,但一个自然问题是:
循环和稀疏到底能带来多少可预测的收益?在给定计算和内存预算下,应该选多少循环、多少专家?
Loop Scaling Laws 正好从缩放律角度回答这个问题。
2.2.1 问题:循环和稀疏没有联合建模
已有缩放定律:
循环缩放定律(例如 Chinchilla):只建模 recurrence,把有效参数增益写成线性或幂律,假设无限增长;
MoE 缩放律:只建模稀疏性,忽略 recurrence;
同期循环 MoE 工作:往往把 recurrence 固定在 R=2,没有建模两者交互。
缺少一个统一形式:
同时建模模型大小、数据、循环次数、专家稀疏性。
其中,D 表示训练数据量(tokens),R 表示循环次数。
2.2.2 有界、稀疏条件循环映射
论文提出:
m = N_act / N_total:活跃参数率,越小表示越稀疏;
θ≥0:稀疏性对循环收益的放大系数。
这个映射的关键性质:
R=1 回到非循环 MoE 基线;
R→∞ 时收益有上界;
稀疏性提高这个上界,并延缓饱和。
2.2.3 缩放律形式
L 表示模型损失;A、B、α、β、c 为拟合系数,其中 α、β < 0 是模型与数据的缩放指数,c 为不可减损失。
它可以(按条件)退化:
1)E=1 时,退化为 dense loop scaling law。
2)R=1,退化为非循环 MoE scaling law(把 R=1 代入下式后,把 N_eff 代入 L);
3)E=1 且 R=1 时,退化为标准 dense scaling law;
2.2.4 主要发现
循环收益有限:前几次 pass 损失下降快,之后趋于平台。
稀疏性提高并维持循环收益:专家越多(E 越大),越稀疏(m 越小),循环带来的有效参数增益越大、持续越久。
计算最优循环次数 R*:训练计算预算越大、越稀疏,越适合更高循环。
内存最优专家数 E*:内存预算越大、循环越高,越适合更多专家。
联合最优:固定计算下,内存紧则 recurrence;内存大则 sparsity。
2.2.5 下游实验
稀疏性与重复性为参数高效缩放提供了互补路径:稀疏性在整体性能上实现了约 3 倍的活跃参数效率,而重复性在推理任务中带来了约 2 倍的总参数效率。
如图 7(a,b) 所示,
- 在固定 R=1 的情况下,增加稀疏性能够持续提升三种模型规模下的整体表现和推理能力。
- 这种稀疏性可带来模型参数量增长约 3 倍的增益:在 5×10²⁰ FLOPs 的计算量下,E≥8 的 0.3B MoE 模型在整体表现和推理方面均优于更大的 1.0B 全连接模型。
如图 7(c,d) 所示,
- 当固定 E=8 时,增加重复性可带来更注重推理的性能提升。
- 提升循环可带来推理任务中总参数量增长约 2 倍的增益:在10²¹ FLOPs 的计算量下,R≥4 的0.3B 模型与 R=1 的 0.6B 模型相匹配或表现更好;而 R≥3 的 0.6B 模型则与 R=1 的 1.0B 模型相匹配。
此外,在相同的训练计算量下,同时提高稀疏性和重复性的模型(E=8,R>1)始终优于高密度基线模型(E=1,R=1),表明当两者结合时,性能提升效果累积显著。
Takeaway:循环和稀疏是互补的缩放轴。循环有上界,稀疏提高上界;两者应联合设计,而不是单独调参。
2.3 循环 MoE 小结:设计 + 规律
把 Foil 和 Loop Scaling Laws 放在一起看,逻辑非常完整:
Foil 回答 “怎么设计”:在固定专家参数和每 token 计算下,把专家层压扁、每层专家变多、循环次数变多,并让每个 pass 拥有独立注意力。
Loop Scaling Laws 回答 “能带来多少收益、怎么选”:循环收益有上界;稀疏性提高上界并延缓饱和;计算和内存约束下存在最优 R*、E*、N*_act。
两者共同指向一个结论:
循环 MoE 不是简单地把 MoE 反复跑几遍,而是要同时设计专家布局、注意力共享方式、循环次数和稀疏度。在资源受限时,应该用缩放律指导联合选择,而不是凭感觉调参。
3. OperLoop:把循环 Transformer 当作优化器
Looped Transformers as Optimizers
论文地址:https://arxiv.org/abs/2609.37379
Looped Transformers 的优化视图。
- (a)标准 Transformer 使用独立参数化的模块。
- (b)中等循环的 Transformer 反复应用共享模块;在完全循环的模型中,前序和后序部分可能为恒等映射。
- (c)递归状态被视为一个快速权重。输入映射 H_ l^in 读取该状态,共享模块预测一个隐式目标。局部目标函数与优化器更新规则决定了状态的更新方式。当设置H^in = I、λ = η = 1 且 f’(o_l) = −RecurrentBlocks(o_l)时,可恢复图(b)中的原始循环结构。
3.1 核心观点
虽然已有 Ouro、Huginn、Parcae、HyperLoop 等不同设计,但 “循环转移到底应该怎么设计” 仍缺少统一原则。这篇论文的核心贡献,就是给出一个优化视角的统一框架。
这篇论文把循环 Transformer 的隐藏状态看作fast weight,把循环转移看作梯度更新。
统一框架包含三部分:
1)投影(Projection):从 fast weight 中读出当前预测:
2)局部目标(Local Objective):对投影结果定义局部损失:
3)优化器更新规则(Optimizer update rule):用梯度下降 + 权重衰减更新 fast weight。循环转移可写成:
其中:
H_l^in:输入映射;
Y_l:fast weight;
o_l:投影输出;
f′(o_l):输出误差;
ηl:步长;
A_l:权重衰减。
共享循环块则被看作隐式目标预测器:
如果采用负内积目标:
那么:
于是更新变成:
这就是论文统一框架的核心公式。
3.2 把已有循环模型映射进框架
论文把几个代表性模型映射到该优化框架中,发现了一些有趣的问题。
对齐输入映射后,Parcae 和 HyperLoop 的训练损失、困惑度、常识准确率都有提升。
3.2.1 Vanilla Loop / Ouro / Huginn
Vanilla Loop 的更新是:
在框架中对应:
状态:Y_l = y_l
投影:o_l = y_l + b
输入映射:H_l^in =I
步长:η_l = 1
衰减:A_l =I
误差:f′(o_l) = −Blocks_θ(o_l)
所以 Vanilla Loop 是论文提出的优化框架的一个特例;Huginn 则相当于使用输入注入(b=e)。
3.2.2 Parcae:输入映射不匹配
Parcae 引入结构化状态空间:
在优化视角下,投影使用:
因此输入映射应为:
但按梯度更新,写回时应该出现 ˉA^T。原更新缺少这个转置,导致输入映射不匹配。
对齐后的更新为:
3.2.3 HyperLoop:读映射和写映射不一致
HyperLoop 使用扩展状态:
投影为:
因此输入映射是 H_l^pre。
但原更新使用单独的 H_l^post,导致读写映射不一致。
对齐方案是令:
得到:
这个改动不仅更符合优化框架,还减少了参数量。
3.2.4 扩展分析:更多循环模型的统一视角
发现:
大多数模型对应负内积目标(L);
Recirculation 使用归一化目标;
OperLoop 使用delta 目标;
Parcae、Full-Bandwidth、RecurrentGPT、HyperLoop 等存在输入映射不匹配。
这进一步说明:循环转移可以通过 “投影 + 局部目标 + 优化器规则” 来系统设计,而不是只靠架构直觉。
3.3 OperLoop:用优化器思想设计新循环
在对齐已有模型后,论文进一步提出OperLoop。
它基于 HyperLoop 的扩展状态,但使用delta 目标:
对 fast weight 求梯度:
代入优化更新式,得到 OperLoop 的转移:
其中几个关键量是状态依赖的:
这里的步长 η_l 是因果递减的,类似学习率调度。
OperLoop 还可以写成 HyperLoop 形式:
因此可以直接在 HyperLoop 实现中落地。
3.4 实验结果
对齐 Parcae 和 HyperLoop 的输入映射后:
训练损失下降;
PPL 改善;
常识平均准确率提升。
这说明 “输入映射对齐” 不是纯理论装饰,而是能带来实际收益的设计约束。
在匹配训练 FLOPs 下:
OperLoop 在 300B 和 500B token 训练中,整体生成性能优于循环和非循环基线;
相比非循环基线,参数约少一半,EM 平均提升 1.69 / 1.04 个百分点;
代码、数学、推理任务上均有提升。
Takeaway:循环转移不是随便设计的;用优化器视角可以指导新架构,OperLoop 是其中一个成功案例。
3.5 总结
三句话总结:
Looped Transformer 的瓶颈不只是共享参数,而是每次循环怎么更新状态。
论文用优化器视角发现:很多现有模型的读映射(o_l)和写映射(Y_{l+1})不一致,对齐后性能提升。
因此论文的内核是:用优化器理论指导循环转移设计,修复旧模型并提出 OperLoop,最终让 Looped Transformer 在匹配 FLOPs 下更好用。
所以它不是 “提出一个框架然后套模型”,而是:
提出一种设计循环的原则,并用它发现错误、修正错误、设计新结构。
4. Looped-DiT:把循环计算带入文生图扩散模型
Looped Diffusion Transformer
论文地址:https://arxiv.org/abs/2609.40305
项目页面:https://github.com/OpenSenseNova/Looped-DiT
4.1 背景:扩散模型太贵了
文生图模型如 FLUX、Qwen-Image 已经到数十亿参数。传统提升方式:
增大模型参数:更深、更宽的 Transformer,但部署成本高。
增加去噪步数或 CoT 推理:增加推理时计算,但 token 序列变长、延迟变高。
Looped-DiT 提出第三条路:
在每个去噪步内,重复运行共享 Transformer block,增加计算深度,但不增加参数,也不增加序列长度。
4.2 朴素循环的问题
直接循环会失败:
浅层循环可能低于非循环基线;
循环多了会饱和甚至退化;
空间信息逐渐丢失,说明重复注意力更新会逐步侵蚀局部信息。
结论:有效循环需要中间监督 + 自适应调节注意力更新强度。
4.3 方法:Deep Supervision + Self-Modulating Attention
Looped-DiT 概述:共享的中间模块在每个去噪步骤中重复 N 次。
- 自调制注意力(左)通过基于 token 和头的门控机制调节注意力更新。
- 深度监督(右)通过共享的后循环模块解码每个中间循环输出,并对所有预测结果使用相同的干净图像进行监督。
Looped-DiT 基于 MiniT2I(一种 MMDiT),把 17 个 block 分成:
Pre-loop stage A:6 个,运行一次;
Looped stage B:5 个,共享参数,循环 4 次;
Post-loop stage C:6 个,运行一次。
- 有效深度相当于 32 个 block;参数量仍约 260M。
4.3.1 (关键组件 1)Deep Supervision:给中间循环直接监督
如果只监督最后输出,早期循环状态需要经过后续所有循环才能收到梯度,优化路径太长。
Looped-DiT 的做法是:每个循环深度的输出都通过共享 post-loop stage 解码,并监督到同一张干净图像。
对每个循环深度的预测都施加 flow-matching 损失:
这样早期循环也能获得直接监督,不需要只靠最后一步反传。
总损失:
论文比较了两种权重:
Exponential:(1/8,1/4,1/2,1)(1/8,1/4,1/2,1)
Final + Mean:(1/3,1/3,1/3,1)(1/3,1/3,1/3,1)
最终Final + Mean更好。
Deep Supervision 只在训练时使用,不增加推理参数和推理开销。
4.3.2(关键组件 2)Self-Modulating Attention:抑制过度更新
- 标准 softmax attention 只控制 source token 的相对贡献,不控制更新强度。
- 循环共享 block 反复应用时,注意力更新可能变得冗余,覆盖或削弱图像 token 中的局部信息。
Looped-DiT 在 looped stage 中使用Self-Modulating Attention,有两种实现:
1)Gated Attention:
用 token-dependent、head-wise 的标量门控调节每个 attention head 输出:
2)Exclusive Self Attention,XSA
XSA 是 parameter-free 的状态相关投影,去掉 token 自身 value 方向上的分量:
XSA 能消除自值项,抑制循环中的过度注意力更新,保护位置信息。
论文最终发现:XSA + Final+Mean Deep Supervision 效果最好。
4.4 实验结果
260M Looped-DiT 超过约 6.5 倍参数的非循环模型;
在 DPG-Bench、PRISM、T2I-CoReBench、SpatialGenEval、TIIF-Short 上领先;
推理计算低约 4.9 倍;
在固定推理预算下,增加循环深度比增加去噪步数更有效;
自适应循环可以根据样本难度决定循环次数。
Takeaway:循环计算不仅适用于语言模型,也能用于扩散生成;但需要中间监督和注意力调制,否则会退化。
5. 横向对比与总结
| 论文 | 领域 | 核心创新 | 关键结论 |
|---|---|---|---|
| Foil | 循环 MoE | 扁平化专家 + 解绑注意力 | 同参数同计算下,更宽更稀疏的专家层 + 更多 pass 更好 |
| Loop Scaling Laws | 循环 MoE 缩放律 | 有界、稀疏条件循环映射 | 循环收益有上界,稀疏提高上界;联合优化计算/内存 |
| OperLoop | 优化视角的循环Transformer | fast weight + 梯度更新框架 | 输入映射对齐、delta 目标、自适应步长提升性能 |
| Looped-DiT | 文生图扩散 | Deep Supervision + Self-Modulating Attention | 260M 超越 6.5× 大模型,循环比加去噪步数更有效 |
5.1 共同主题
参数共享 + 计算换参数:固定参数,增加有效深度。
循环与稀疏互补:MoE 让每个 pass 走到不同专家,提高循环收益。
缩放律指导设计:循环次数不是越多越好,存在计算/内存最优。
注意力/更新需要调节:不能无脑循环,需要解绑注意力、门控、XSA、优化器对齐。
推理时动态循环:按需增加 pass,实现 test-time scaling。
5.2 实践启示
做循环 MoE:优先考虑更宽专家层 + 更多 pass + 每 pass 独立注意力,并用缩放律联合选择循环次数 R、专家数 E、活跃参数 N_act。
做循环语言模型:可以从优化器视角重新设计转移规则。
做扩散生成:循环内要加中间监督和注意力调制。