B小模型代码能力测评:超越百亿参数大模型
AI领域长期存在一个极具诱惑的假设:若无法持续扩大模型规模,能否通过提升“思考深度”来弥补?类比而言,一个普通人反复琢磨同一难题,能否最终获得天才式的洞察?
由北京航空航天大学、人民大学、IQuest Research、Langboat等机构组成的研究团队,在2026年6月通过预印本论文(arXiv:2606.18023)给出了一个既意外又合理的结论:可以,但思考的“度”至关重要——增加一次循环,性能猛增;再多一次,反而退回原点。
一、为何相同参数下,“两轮推演”远胜“单轮处理”
核心在于“循环Transformer”机制。标准语言模型由多层“神经回路”堆叠,信息单向流水线传递。循环Transformer则另辟蹊径:仅共用一组神经回路,但反复调用多次。好比传统模型是流水线作业,每个工人只做一道工序;循环Transformer则是同一匠人用相同工具反复打磨同一件作品,每次打磨的角度和力度都在动态调整。
设计魅力显而易见:无需增加工具(参数量),仅靠“增加打磨次数”(循环深度)即可提升精度,开辟了“非堆料式”能力增长路径。早期研究已证实,35亿参数模型通过50次循环,计算量可媲美5000亿参数模型。
工程瓶颈随即显现:循环越多,计算耗时成倍增长,还需额外存储每次循环的中间状态,内存开销巨大。相当于匠人每打磨一次就拍照存档,50次循环需存50份档案,实际部署几乎不可行。
于是,“并行循环Transformer”(PLT)应运而生,通过两项精巧设计破解工程难题:
1. 共享KV门控滑动窗口注意力: 首轮处理时建立“全局知识库”,后续所有循环直接查阅该固定库,无需各自重建,内存占用保持稳定。
2. 跨循环位置偏移(CLP): 实现并行的关键。各循环无需严格按序等待——第二轮不必等第一轮所有位置处理完毕,可基于第一轮邻近位置信息提前开工。相当于将串行流水线改造为错位并行的多道工序。
两者结合,使得PLT无论循环多少次,延迟和内存消耗几乎与单次循环一致。然而,CLP机制带来隐蔽代价:为实现并行,每个位置在第二轮及以后接收的并非自身上一轮的历史信息,而是相邻位置的信息。
好比修改自己文章时,不看自己上一轮草稿,反而参考邻座同学的草稿。这种“位置错配”成为PLT结构的固有代价,也为后续性能谜团埋下伏笔。
二、用“收益与代价”天平衡量每轮循环
研究团队构建了清晰的分析框架:每增加一轮循环,都伴随着“精炼收益”与“位置错配代价”的博弈。收益大于代价,循环有益;反之则有害。
如何量化这场博弈?团队从三个维度剖析“收益”:
隐藏状态动态: 观察每轮后模型内部“词语向量”的变化。变化方向一致,说明模型持续优化;方向反复颠倒,如同匠人“修了改、改了修”,纯属无效劳动。
注意力热图演化: 观察每轮关注点分布。每轮关注模式差异显著,表明模型在捕捉新上下文关系;若模式固化,则信息流动“冻结”,再循环无意义。
输出分布变化: 直接看模型对下一词的预测变化幅度。变化越大,该轮思考的实质性影响越强。
至于“代价”,团队定义了“内在偏移代价”指标,衡量相邻词语表示向量间的平均差异。相邻词差异大,将邻居信息误用为自身信息会导致严重失真;差异小则影响较小。
将收益与代价曲线绘制在同一张图(论文中的“增益-代价剪刀图”)上,鲜明规律浮现:从第一轮到第二轮,收益下降但仍处高位,代价基本稳定;但从第二轮开始,收益急剧萎缩,代价却坚如磐石。 代价成为固定“税”,收益这块“蛋糕”却越做越小。实验估算,从第三轮开始,每轮偏移代价高达实际精炼收益的30到45倍。这完美解释了“两轮循环”为何是黄金拐点。
三、模型内部,每轮循环究竟在做什么
研究团队对训练了不同循环次数(1到4轮)的模型进行深度“解剖”,所有证据指向同一结论:第二轮是真正的“黄金思考”,后续循环贡献甚微甚至有害。
从隐藏状态看: 追踪“步长”(变化幅度)、“角度变化”(优化方向一致性)、“有效秩”(语义多样性)和“固定点距离”(离稳定状态有多远)四项指标。数据显示,第二步修改幅度最大、方向最一致。但从第三步开始,修改方向出现反向振荡,且词语表示的“有效秩”达到峰值后下降,意味着模型区分能力减弱,语义空间被压缩。
从注意力机制看: 注意力分布在第二轮变化最大,之后迅速“冻结”,不再产生新信息流动模式。更严重的是,随着循环增加,本应各司其职的多个注意力头变得越来越“同质化”,功能冗余退化。此外,模型在所有循环中都严重依赖第一轮建立的全局缓存,后续循环并未带来多少新鲜信息。
从输出结果看: 虽然随着循环深入,正确答案排名单调上升(看似变好),但每轮提升在第二轮后急剧萎缩。第四轮输出变化更像是模型在输出前做的“格式整理”,而非真正的“内容深化”。
四、真实战场数据:2次循环的实力有多强
理论再精巧,也需实战检验。研究团队在一系列权威代码测评中全面比拼,结果极具冲击力。
在代码生成任务(HumanEval+)上,2次循环版本得分84.1,优于1次循环的81.1,而3次循环跌至75.0。跨语言代码生成(MultiPL-E)呈现同样趋势。
真正的亮点出现在自动化软件工程领域。在目前最权威、要求解决GitHub真实缺陷的SWEbench Verified测评中:
- 1次循环(基础版):43.0分
- 2次循环:64.4分(飙升21.4分)
- 3次循环:27.6分(甚至低于基础版)
这个对比极具戏剧性。许多主流大模型在此测评上表现平平。而2次循环的LoopCoder-v2(仅70亿参数)以64.4分超越720亿参数的某顶尖模型(60.4分),与业界顶级模型(69.2-80.9分)差距并不遥远。这清晰证明:通过更聪明的“思考”设计,小模型完全具备挑战巨头的潜力。
五、若加上“明说出来”的推理过程,效果会更好吗
上述实验让模型“内部多想,但不说话”。如果让它像人类一样“边想边说”(即输出思维链),效果如何?
研究团队对比了“仅内部2次循环”和“2次循环+显式推理链”两个版本。结果发现,在推理密集型任务上,两者叠加产生了“1+1>2”的超加法效应。
例如,在考察实时代码竞赛能力的LiveCodeBench上:
- 仅循环:35.4分
- 循环+推理链:62.3分(提升26.9分)
关键在于,显式推理链和隐性循环工作在两个不同层面:前者在文字层面做宏观问题拆解,后者在向量层面对每个子问题进行微观精炼。互不重叠,分工协作,实现效能最大化。这为未来模型设计指明高效路径:同时利用内部精炼和外部推理。
六、这项研究告诉我们如何选择循环次数
当然,这些发现基于特定的PLT架构。研究团队给出了实用循环次数选择指南,无需穷举测试,只需观察一个关键指标:有效秩。
若有效秩仍在上升,说明模型表示多样性尚未饱和,增加循环可能还有收益;若有效秩开始下降,则后续循环只会让表示空间越来越窄,此时增加循环就是在为固定位置错配代价“交税”,却买不到新的“精炼成果”。这是一个低成本、高效率的诊断方法。
对于PLT架构而言,2次循环是稳健且高效的默认值。若想再进一步,更有效的方向或许是结合显式推理,或探索能动态调整位置偏移代价的机制。
说到底,这项研究像极了心理学中的“过度思考”现象:某些决策中,快速直觉往往优于反复权衡,因为过度分析会让人陷入细节纠缠,丧失全局判断力。LoopCoder-v2的实验与之惊人相似:第二轮循环是清醒的再审视,抓住了关键;而第三轮及以后,则像在焦虑中不断推翻已有判断,越想越乱。
这对整个AI领域具有重要启示。当计算和规模扩张遇到瓶颈时,如何设计“更深入思考”的机制是关键。简单地“多想想”并不总是有效,核心在于理解每次额外思考的真正贡献与代价。这项研究通过一套可解释的内部诊断方法,将“经验之谈”上升到了系统性的科学分析。
当然,研究也有其边界:所有结论基于PLT这一特定架构,其固有的CLP代价在其他循环设计中未必相同。此外,实验主要在代码任务上验证,在数学、多模态等其他领域是否存在类似的“思考饱和点”,仍有待探索。
Q&A
Q1:LoopCoder-v2是怎么在不增加参数的情况下提升性能的?
A:它采用了“循环Transformer”设计,让同一组核心参数被多次调用,每次调用都对信息进行深度精炼。结合并行循环Transformer(PLT)的优化机制,额外的循环几乎不增加实际延迟和内存开销,从而用接近相同的计算量实现了更深入的“思考”。
Q2:为什么循环次数从2次增加到3次,LoopCoder-v2的表现反而会下降?
A:核心原因在于“收益-代价”失衡。CLP机制带来的“位置偏移代价”在每次循环中几乎固定,而每次额外循环带来的实质性精炼收益却快速衰减。从第三轮开始,代价远高于收益(约30-45倍)。同时,模型内部表示的多样性在第二轮后开始下降,后续循环反而在压缩其表达能力。
Q3:PLT循环模型的“思考版本”和普通版本有什么区别,为什么叠加使用效果更好?
A:普通版本只在内部隐性循环,不输出过程;“思考版本”则额外输出文字推理链。两者提升来自不同维度:隐性循环精炼微观理解,显式推理拆解宏观结构,互不干扰、协同增强,因此叠加后产生了远超单独使用的“超加法”效果。