聊聊Loop Transformer:大模型架构与算力优化

在候机时随手写下这些关于大模型架构的思考,过往的技术复盘总能带来新的启发。回顾过往的技术笔记,能清晰看到自己的判断随时间迭代的轨迹,比如早在2023、2024年就关注过MoE架构,当时这类技术还未成为行业主流;此前主导设计的RDMA传输协议解决AlltoAll通信问题,也在对应芯片流片前顺利完成,这些经历都让我对技术落地的节奏有了更直观的感受。不过今天我们暂且不谈这些硬件相关的内容,重点聊聊Loop Transformer。
最近关于GPT-6的行业讨论再次升温,加上此前GPT-5传闻中提及的Universal Transformer,再结合近期行业动态,让我重新梳理了对Loop Transformer的思考。此前我曾分析过Universal Transformer、MoD、MoR等相关技术方向,也梳理过Linear Attention、Sparse Attention等路径的优劣,这些积累都成为我认可Loop Transformer的基础。
我之所以接受Loop Transformer的设计思路,主要基于几个不同维度的分析:
首先从计算机体系结构的视角来看,如果将Attention block视作计算机的指令执行单元,FFN作为存储模块,那么MoE和稀疏注意力类似具备了分支决策的能力,但距离完备的计算机架构仍缺少循环指令的支撑。Loop Transformer的迭代逻辑恰好弥补了这一缺口,让整个模型的计算逻辑更贴合通用计算机的设计思路。
其次从信息论的角度出发,不同token包含的信息密度存在显著差异,我们应当为高价值的token分配更多的计算资源,这也是我支持MoD/MoR这类自适应计算架构的核心原因,而Loop Transformer正好契合这种按需分配算力的设计理念。
此外从拓扑数据分析的视角来看,相关研究已经指出,注意力机制需要通过迭代算法才能进一步提升模型的智能表现,这也为Loop Transformer的方向提供了理论支撑。
此前我也曾探讨过Linear Attention是否属于Loop Transformer的一种形式,当时的结论是,在稀疏注意力路径中引入类似KDA的状态矩阵、递归结构,或是通过记忆上下文实现类似状态矩阵的效果,都能让模型的迭代能力得到增强。
到了今年,结合测试时训练等方向的最新研究,再加上上半年一直在思考的如何在国产算力平台上高效推理10万亿参数的大模型,我对Loop Transformer的理解又深入了一层。
想要将模型规模提升到更高水平,传统的两条路径分别是加宽隐藏维度或是加深模型层数,但这两种方式都存在明显短板:一方面整体激活参数会显著增加,另一方面加深模型层数会对训练的batch吞吐量造成更大影响。同时,这类简单的扩展方式会让KVCache的占用量大幅攀升,完全不符合国产算力平台的资源约束条件。
如果采用Loop Transformer架构,比如保持40层的基础模型结构,通过多一轮循环迭代,实际上KVCache只需要存储最后一轮的状态,这样相比80层的模型,KVCache占用量能减少近一半。不过这和我理想中的Loop Transformer还有区别,我更期待的是实现Loop Attention,从而减少一半的MoE/FFN层穿越次数,进一步降低推理时的内存开销。
此前和行业从业者交流时,对方提到未来10T参数模型中90%的激活参数都会集中在FFN模块,因此需要专门的专用处理器,但我对此并不完全认同,我认为注意力模块和MoE/FFN模块应该保持合理的平衡。
如果要打造10T参数的模型,我会优先将总激活参数控制在1000亿到1500亿的范围内,同时尽可能减少穿越MoE/FFN这类内存密集型层的次数。这类MoE架构应该采用极高的稀疏性设计,比如在1024或2048个专家中仅选择8个参与计算,较小的topk值能有效降低推理时的通信开销;但在训练阶段,我们又需要保证所有专家都能有效学习到知识,尽可能减少死专家的出现。
想要让topk路由模块获得更准确的选择依据,自然需要扩大进入路由模块的特征宽度,比如采用类似Hyper Connection的机制;同时也需要提升注意力模块的算力投入,以获得更精细的token表示分辨率。
不少从业者会提到除了专家参数扩展外,还有engram这类扩展方向。我近期对engram的研究发现,这类方法更适合参数规模在1000亿到3000亿的轻量化模型,对于2T到10T参数的大型模型效果可能有限。尤其是对于存在KV重叠的架构来说,KV重叠或是Linear Attention自带的卷积操作本身就具备了n-gram的表征能力。当然,低复杂度的免计算参数查询能力依然极具潜力,类似engram的算法或许需要进一步优化潜在空间的表征能力,才能发挥更大价值。
在这些约束条件下,模型架构的优化重心自然转向了Attention模块。结合早年学习计算方法时的经验,我一直更偏爱迭代类算法,因此将目光投向了Loop Attention这类方向。Loop的本质是等效增加注意力头的数量,通过多次迭代的注意力计算,让token的表征在更高维度的潜在空间中充分展开,从而更好地适配更稀疏的专家路由逻辑。
近期我正在阅读相关论文,相比普通的Loop机制,这类新架构在态射复合方向上存在本质区别:如果将每一层看作状态空间上的自映射,普通Loop是同一对象上的映射迭代,依然属于深度范畴内的优化;而这类架构则引入了时间平移函子,将深度范畴嵌入到时空双范畴中。不过这类方式也会让KVCache的占用和处理变得更复杂,KV前缀匹配的逻辑也会随之变得繁琐,后续有机会我会专门拆解相关细节。
我们需要这类迭代机制的根本原因在于,在迭代过程中,注意力模块可以在潜在空间中改写Q矩阵,同时K和V矩阵也能得到同步优化。尤其是对于稀疏注意力架构来说,每次迭代的topk选择可以动态筛选更多的计算块,而非简单的截断操作。我最近还有一个大胆的设想:如果能构建类似专用结构,通过迭代将每次输出的OV作为MoE门控模块的输入子空间,多次迭代的输出组合成更高维度的稀疏表示,就能让topk专家的选择更加精细,这或许会成为新的优化方向。
当然也有人会提问,Linear Attention本身是否已经具备了递归或Loop的特性。我的看法是,我们应该优先提升Prefill和Decode阶段的并行性,同时优化KVCache上下文的可交换和组合性,以此提升推理时注意力算子的并行效率。
以上就是我近期复盘Loop Transformer时的一些不成熟的思考。当然也有可能这些架构优化的价值远不如高质量的训练数据,毕竟更优质的数据往往能带来更直接的性能提升。
参考资料
[1] recirculation: https://arxiv.org/abs/2608.17981

