【技术博客】从更大参数到更深计算:Looped MMDiT 的图像生成 Scaling 探索
最近,围绕 GPT-6 的讨论,让“循环 Transformer”、“循环深度”重新成为一个热门话题。Transformer 一定要靠堆更多参数、更多层来获得更强能力吗?
由于具体架构尚未公开,我们不讨论 GPT-6 本身的实现。但有意思的是,类似的计算思想,我们已经在图像生成模型中进行了独立探索。
今年 4 月前后,我们开始推进 Looped MMDiT。
当时我们关注的并不是 GPT-6,而是文生图模型越来越现实的 Scaling 成本:模型越做越大,存储、显存、训练通信和部署成本也随之增长。相比单纯追求“更大的模型”,Looped MMDiT 更想回答的是另一个问题:模型能不能不只是“做大”,还可以“做深”?
01
从“模型更大”到“模型内部算得更深”
过去几年,Scaling 最直观的路径是增加参数:更大的模型、更宽的隐藏维度(Hidden Dimension)、更多 Transformer layers。但参数规模与计算深度是否一定要绑定?Looped Transformer 给出了另一种可能。
图 1|原始 MMDiT 与 Naive Looped MMDiT:中间 Looped Blocks 共享参数并重复执行。
传统 Transformer 增加深度,通常意味着增加新的参数;Looped Transformer 则复用一组 blocks,通过增加 Loop Depth 让隐状态(Hidden States)经历更多轮计算。
围绕这一思路,我们进一步验证了 Looping 在图像生成中的三种潜力:
一是通过参数复用提升参数效率,在较小参数规模下实现更深的计算,获得媲美大参数模型性能;
二是让隐状态在隐空间中持续迭代,实现不依赖显式 CoT 的内部计算;
三是在相同推理计算预算下,将更多计算投入 Loop Depth,相比增加去噪步数获得更高的性能收益。
02
Diffusion 已经算了很多遍,为什么还要再 Loop?
文生图的特殊之处在于,它本来就有迭代:Diffusion / Flow 模型通过多个去噪步数(Denoising Steps)从噪声逐渐得到图像。我们的做法,是把 Loop 放到单次去噪步数内部。
这样一来,模型出现了两个可独立调节的计算维度:外部是去噪步数,内部是 Loop Depth。真正的问题也随之变成:在相同 Inference Compute 下,算力应该花在更多去噪步数上,还是更深的 Loop?
这也是 Looped MMDiT 与目前围绕 GPT-6 循环深度公开讨论之间最重要的差异之一:后者讨论的是自回归生成下一个 Token 前的内部计算;我们的研究面向 Diffusion / Flow 文生图,在单次去噪步数内增加循环深度。至于 GPT-6 的具体循环架构,目前公开信息不足,我们不做更细的结构比较。
03
我们很快发现:Naive Loop 并不简单
最直接的方案,是把 MMDiT 中间的一组 blocks 拿出来重复运行 N 次。我们先做了这个 Naive Looped MMDiT,但实验很快表明:Loop 并不是越深越好。
图 2|训练采用 4 轮 Loop 时,不同 inference Loop Depth 的表现:接近训练深度后收益很快饱和,继续加深还会退化。
实验发现:
当 Inference Loop Depth 较浅时,Basic Naive Loop 往往不如原始 MMDiT;
随着 Loop Depth 增加,性能上升,但很快饱和;
当 Loop Depth 超过训练时采用的深度,性能普遍下降。
换句话说,Loop Depth 不是“免费的模型深度”。
进一步分析后,我们把问题归结为两点:中间 Loop 输出缺少有效监督;以及反复更新隐状态(Hidden States) 会逐渐侵蚀 Token 的局部信息。
04
Loop 越深,模型可能越不知道“东西在哪里”
为了理解第二个问题,我们做了一个 Probe:用岭回归从每轮 Loop 后的 隐状态(Hidden States)预测 Token 位置,并用决定系数 R² 衡量位置可预测性。
图 3|随着 Loop pass 增加,位置预测 R² 持续下降,说明局部位置信息被逐步侵蚀。
这个现象对图像生成尤其关键。物体左右、上下关系以及属性绑定,都依赖局部结构。我们既希望 Loop 带来更深的全局计算和组合推理,又不能让隐状态(Hidden States)在迭代中把局部信息“洗掉”。因此,我们需要重新设计 Loop 本身。
05
三个关键环节:让每一轮 Loop 都真正有效
Looping 的核心挑战,不是把一个模块简单地重复几次,而是要让每一轮迭代都真正产生有效计算。因此,我们引入了 Deep Supervision、Loop Distillation 和 Self-Modulating Attention(SMA)。前两者解决中间 Loop 的监督问题,SMA 则针对深 Loop 下的局部表征退化。
图 4|Deep Supervision 与 Loop Distillation:为每轮中间预测提供直接监督,并让浅层 Loop 向最终预测对齐。
Deep Supervision:每一轮都直接面对生成目标
我们给每轮 Loop 的中间预测施加与最终输出相同的 Flow Loss。这样,中间状态不再只是通向最终输出的“过渡层”,而是每一轮都直接朝生成目标优化。
Loop Distillation:让“少想几轮的自己”学习“多想几轮后的自己”
我们把最终 Loop 的预测作为 Stop-Gradient Teacher,约束前面各轮预测向最终结果对齐,使较浅的 Loop 更早逼近最终预测。
另外,监督解决之后,还要控制反复 Attention 更新带来的局部信息损失。为此我们设计了 Self-Modulating Attention(SMA)。
Self-Modulating Attention:不是每一轮都应该“改这么多”
SMA 的核心,是将 Ordinary Attention Output 投影到与当前 Token 自身 Value 方向正交的空间,并利用 Self-attention 信号形成输入依赖的 Modulation Coefficient,使更新幅度可以随 Token 和当前状态动态变化。
直观地说,普通 Attention 更关心“其他 Token 告诉了我什么,我该怎么更新”;SMA 还多问了一句:“这一轮,我到底需要更新多少?”当同一个 block 被重复执行很多次时,这种自适应更新控制尤其重要。
把 Deep Supervision、Loop Distillation 和 SMA 放在一起后,我们才真正看到更深 Loop 的收益被释放出来。Looped MMDiT 不是“把 MMDiT 多跑几遍”,而是把重复计算变成一个可以稳定训练和利用的计算维度。
06
发现一:Looping,让参数 Scaling 更高效
完成这些设计后,我们首先验证参数效率。Looped MMDiT Backbone 只有 260M 参数,但在 GenEval、DPG Bench、PRISM、CoRe、Spatial 等评测基准上,有多项指标上超过了实验中参数规模约为其 4 倍的大模型基线。
图 5|参数效率对比:260M Looped MMDiT 在多项指标上位于更大参数基线之上。
表 1|主实验结果。
我们更关心的并不是“小模型打赢大模型”本身,而是它验证了一个更基础的判断:模型拥有多少参数,与模型能够执行多深的计算,不一定要同比增长。通过参数复用,Loop Depth 可以增加有效计算深度。
07
发现二:Looping,让计算发生在隐空间
研究继续往下做,我们发现 Looping 的价值可能不只是参数效率。图像生成中的复杂物体组合、属性绑定、假设关系和空间关系,并不天然适合用显式 CoT 表达。我们因此关心:图像模型能不能不把 Reasoning 写出来,而直接在隐状态(Hidden States)里“想”?
图 6|相比 Prompt Rewrite,Looping 在组合推理、PRISM 和空间关系任务上的提升更明显。
图 7|与经过 reasoning training 的 CoT + T2I 方法比较,Looped MMDiT 在多个 benchmark 上取得更好的结果。
这些结果让我们倾向于把 Looping 理解为一种 Latent-space Reasoning 机制:不额外生成 Reasoning Tokens,而是通过视觉隐状态(Hidden States)的多轮迭代增加内部计算深度。
08
发现三:Looping,让推理计算更灵活
既然图像生成现在有两种迭代,我们进一步比较了两种 Inference Compute 分配方式:增加去噪步数,或增加 Loop Depth。
图 8|在相同推理计算预算下,将更多计算投入 Loop Depth,相比增加去噪步数带来更高的性能收益。
在我们的实验设置和相同 Inference Compute Budget 下,把更多计算投入 Loop Depth,比增加去噪步数(Denoising Steps)更有效。这意味着,生成所需的一部分 Iterative Computation 可能不必全部发生在模型外部的 Denoising Process 去噪过程中,而可以被内化为模型内部、可端到端学习的迭代计算。
如果这个方向继续成立,就会自然引出更进一步的问题:未来能否减少去噪步数,同时用更深的 Latent-space Computation 保留甚至提升生成能力?再往前一步,也会让人想到单步生成。现在还不能说已经走到那里,但这条路值得继续探索。
更有意思的是,Looping 带来的可能不只是更深的计算,还有跨Loop的自我修正能力(Self-Correction Between Loops),前一轮生成的结果并非终点,模型可以在后续 Loop 中继续基于当前状态进行调整和修正。
图 9|Self-Correction Between Loops
Prompt: A playful 3D render of two toy elephants holding five red balloons.
09
我们可能正在看到 Scaling 范式的一次变化
做完这些实验之后,我们越来越觉得,Looping 值得被放到一个更大的 Scaling 图景里看。
过去,大家主要沿着两条轴增加模型能力:更多参数,以及更多 Inference-time Tokens。
Looped MMDiT 让我们看到第三条轴的可能:更深的隐空间计算。
模型不一定需要通过同比增加参数来获得更深的计算,也不一定要把更多推理过程展开成显式 Reasoning Tokens。同一组参数可以被反复调用,让 隐状态(Hidden States)在隐空间中持续迭代,并根据推理计算预算来灵活调整有效计算深度。
对我们来说,这不只是 Looped MMDiT 上的一个实验结论。我们也积极探索更高效的循环(Looped)架构,这个方向的探索也有望成为未来 SenseNova 日日新模型系列的架构基础,推动原生多模态的持续突破。接下来,我们会继续探索 Latent-space Inference-time Scaling,让模型在不同比例增加参数和显式推理 Token 的情况下,通过更深的内部计算提升复杂组合、假设推理和空间关系推理等能力。
如果说过去几年 Scaling 最核心的问题之一是“模型还能做多大?”,那么接下来,另一个值得认真回答的问题可能是:“同一组参数,到底还能算多深?”
我们现在只是迈出了第一步。目前,我们已在小规模实验上验证了这条路径的可行性,接下来,我们将把这一机制进一步接入SenseNova U系列的统一生成理解框架,在更大规模上持续验证Loop机制的有效性。
Looped MMDiT 的研究成果也将在9月底开源。届时我们会分享更多技术细节和实验结果,也希望和社区一起继续验证:Loop Depth 能否成为参数规模和 Inference-time Token Budget 之外,生成模型另一条有效的 Scaling 轴。
免责声明:上述内容仅代表发帖人个人观点,不构成本平台的任何投资建议。


