
这两年只要聊大模型就绕不开“涌现能力”这个词。我最早听到它时第一反应是这不就是把复杂性系统里的“涌现”概念搬到机器学习里了吗后来看得越多越发现这个词已经被用得非常泛甚至互相矛盾。同一个能力有人说是涌现出来的有人说只是评价指标造成的假象还有人认为是模型内部某种因果结构在规模达到临界点后突然形成。三种说法都有道理但它们说的根本不是同一件事。这就是上述标题里那个“界定困境”的由来我们到底是在描述一个统计数据还是在断言一个因果机制如果只是闲聊倒也无所谓但一旦涉及研究设计、基准测试、产品选型就必须把这两层分开。否则很容易做出一份“看起来发现巨大规律换了个场景就完全不复现”的实验。这篇文章想做的是把围绕涌现能力的各种争论拆开重新梳理“统计现象”和“因果机制”这两个层面然后给出一套我在实际项目里常用的分析思路和实验框架。适合正在做大模型评测、可解释性研究或模型选型评估的开发者参考。如果你只是对“涌现”这个概念好奇也可以从中学会一套分辨真伪能力的方法。1. 涌现能力为什么越聊越糊涂一个概念的三角困境1.1 从复杂性科学借来的概念到了大模型语境里已经变味“涌现”这个词原本来自复杂性科学。蚂蚁群体能构建复杂巢穴单个蚂蚁没有设计图纸神经元单个放电不产生意识但海量神经元的集体活动形成了主观体验。这类现象的共同点是整体行为无法直接从局部规则简单线性叠加得出宏观上出现了新的结构和规律而且这种规律很难被还原到某个单一微观要素上。把这个词搬到大模型领域之后含义发生了很大漂移。现在大多数人说“模型涌现了某种能力”其实是在说在模型规模或训练数据量达到某个阈值之前某个任务上的性能几乎为零而一旦跨过阈值性能突然跳到可用甚至优秀水平。这种“突然出现”的感觉和复杂性科学里那个“整体大于部分之和”有点像但本质上是两种语言。前者是观察层面的性能变化后者是机制层面的新质产生。二者不一定对应。而这种不对应正是“涌现能力”界定困境的根源。如果我们把测量结果直接等同于机制发生就会在理论上留下一个大坑一个任务上出现性能跃迁究竟是模型真的长出了新的计算能力还是我们选的尺子刚好在某个位置发生了非线性扭曲1.2 三种主流定义方式各有各的硬伤我平时看相关论文和讨论发现“涌现能力”大体上有三种定义方式。每一种看起来都能用但操作化之后都有问题。第一种是最常见的统计定义以模型参数量为自变量以某个基准任务的准确率为因变量如果曲线的形态是“先在低位平缓然后在某个规模附近突然上升”就认为出现了涌现。这种定义的最大问题在于自变量和因变量都不是纯函数关系。参数量增加往往伴随训练数据量、训练时长、架构细节一起变你很难说清楚“突然上升”到底是谁引起的。再加上很多基准任务本身题目数量有限准确率的取值是离散的曲线的突变幅度会被放大。第二种是能力定义模型在某个任务上从“看似完全不会”到“竟然会了”而且这种“会”不是死记硬背而是表现出了泛化性。比如换了新题、换了措辞依然能完成。这个定义比指标曲线更有说服力但它仍然停留在行为层面。你无法从行为判断内部发生了什么只能推断。更麻烦的是“泛化”和“记忆”的边界本身就模糊大模型训练数据规模巨大你怎么证明一个新任务从未出现在训练集里几乎不可能。第三种是机制定义模型内部形成了某种新的表征或计算策略比如在隐藏层中出现了对“数数”的编码或者注意力头开始执行某种可理解的算法。只有机制上的新变化才配叫涌现。这个定义在科学上更严格但在实际操作上极难验证。因为大规模模型的内部状态是高维、分布式的所谓“某种新的表征”很难和“规模增长后原有表征精度更高”区分开。这三种定义各有各的立场但放在同一场讨论里概念就会错位。你说统计涌现他说机制涌现互相之间根本没有共同度量。1.3 统计现象与因果机制是两套完全不同的语言我特别想用一个生活场景来类比。假设你让孩子练习投篮每周记录命中率。前五周命中率一直停在5%左右第六周突然到了40%第七周能到60%。你会说“投篮能力涌现了吗”从统计现象看确实像突变练习量跨过某个点后成绩突然从接近零跳到稳定命中。但从因果机制看可能有几种完全不同的解释。可能是孩子身高突然长了手臂力量上来了可能是他某天掌握了屈膝发力的感觉也可能是我们换了更矮的篮筐或者把一个目标从“十个球连续命中三次”调整成了“投十个球不看结果”。在涌现能力讨论里这种混淆随处可见。模型的参数量、训练步数、数据构成、评价指标、prompt形式任何一个变量变化都可能造成“突然变强”的错觉。而真正的问题——模型内部是否出现了新的因果结构——需要更精细的手段才能回答。统计语言回答的是“相关和预测”因果语言回答的是“机制和干预”。两者缺一不可但不能混为一谈。2. 统计现象视角那些看似“涌现”的曲线可能只是测量幻觉2.1 准确率曲线为什么会“跳崖”指标本身的离散化效应有一个现象很多做评测的人都遇到过某个模型卡在30%准确率很久你增大一个规模档位它突然到了85%。直觉上这是涌现但先别激动看看评测集是怎么构成的。假如一个任务有20道二选一题随机概率是50%。模型的能力其实是平滑上升的每道题的正确概率从50%涨到99%。如果评测指标是“20道题全部正确才算通过”那么在最开始很长一段通过率都是0因为只要一道错就不算通过。到了后期随着单题正确率逼近1通过率才会快速爬升。这条通过率曲线会形成一个非常陡的拐点。但实际上单题正确率曲线是平滑的。反过来如果评测指标是“20道题做对10道算及格”那么拐点会出现在能力刚超过随机水平的时候。同一个模型、同一个能力仅仅因为指标定义不同就会呈现出完全不同的“涌现规模阈值”。这个例子我在实际项目里反复遇到过。某开发者做评测时选择了一道包含多步骤组合判断的综合题模型在较小规模上几乎全错到较大规模时正确率暴增。他非常兴奋地说是涌现。可我们把这个综合题拆成20个原子子题分别统计正确率后每条子能力曲线都是平滑上升的。所谓“涌现”只是“全部答对”这个复合条件的非线性投影。2.2 规模、数据、训练步数三条曲线叠在一起即使指标本身平滑另一个混淆来源是训练配置。很多“涌现”现象是在最终模型checkpoint上观察到的但“模型更大”这个变量往往同时意味着“训练步数更多”“学习率调度方式不同”“数据顺序不同”。这些因素同样可能产生性能突跃。举一个我处理过的模拟项目X一组实验里小模型训练了30万步大模型训练了40万步因为预算允许。结果大模型在某个推理任务上从差劲变为优秀看起来是涌现。但把训练步数对齐到小模型30万步时大模型其实还不强多出的10万步正好跨过了某个任务的学习拐点。换句话说这更像是“训练时间不够”而不是“随规模涌现”。要避免这种误判标准做法是保留多个中间checkpoint画出“训练步数-性能”曲线而不是只看最终精度。如果规模产生的涌现是系统性的它应该在不同训练步数下反复出现如果只是某个配置到达阈值的假象换几个随机种子或训练步数后涌现点就会漂移甚至消失。我在自己的实验里经常用“同规模多随机种子”和“同总计算量不同规模”两种方式交叉验证能筛掉一大半伪涌现。2.3 统计视角能给我们什么预测和工程选型统计层面的涌现并不全是坏事。只要观测协议稳定即使我们说不清机制也可以用它来指导工程决策。比如在某个任务上固定某模型族绘制“规模-性能”曲线找到性能突然满足产品需求的规模区间。这本身就是一种有用的模型选型方法。它回答的是“多大才能用”不回答“为什么到这么大就会用”。但如果把统计现象直接包装成科学结论很容易被反噬。我见过不止一次有人拿着一条从0跳到100的准确率曲线宣称发现了新的涌现能力结果换一个评测模板或者换一个同规模另类模型现象完全消失。问题不在于观测不真实而在于观测协议里混入了太多未控制的变量。所以在统计阶段我们至少要记录清楚评测集的题目数量、每题的评分方式、随机基线水平、模型同规模下的多次运行方差、训练数据和训练步数是否对齐。这些信息比那个“哇好厉害”的拐点图重要得多。3. 因果机制视角真正需要回答的是“模型内部发生了什么变化”3.1 从“能不能做”到“怎么做出来的”这一步必须跨过去如果只停留在统计层面我们永远无法回答涌现的本质。要进入因果机制层面核心问题是模型做到这个任务依赖的是内部哪些表征、计算路径或决策规则这些内容在规模增长过程中是何时形成的它们的变化是断崖式的还是渐进式的这里我常用一个类比一个人从不会骑车到会骑车行为上确实存在一个“突然会了”的时刻。但你去看他的运动控制不是某一块肌肉凭空长出来而是神经系统里原本就有的平衡控制回路通过反复练习形成了一种新的协调模式。大脑里没有“会骑车”的开关是多个既有模块之间的连接权重发生了连续调整。模型里的涌现可能也是类似的东西某种能力所需的计算机制早就部分存在只是规模增大后模型能更可靠地激活和组合这些机制。因此“涌现”不应被理解成一个全有全无的属性开关而更可能是多维连续变量共同演化到某个可观测阈值的过程。机制层面的关键是找到那个“阈值”背后的可分解构成要素。3.2 探测、干预、消融把隐藏机制“抓出来”的三个工具在实操中有三个工具组合起来非常有效。第一个是探针法。在模型隐藏层训练一个小的线性分类器去检测某一层向量是否编码了任务所需的概念。比如一个算术推理任务你可以检测隐藏层中是否出现了“两个对象的数量差”的线性表示。如果探测准确率在小模型时就接近随机到一定规模后明显上升这说明新表征确实形成了但如果探测准确率从一开始就很高只是下游输出层不会用那就说明“能力”早就在内部存在缺的是读出机制。后者不能算严格意义上的机制涌现。第二个是因果干预也叫激活替换或路径修复。核心思想是让模型回答一个需要某能力的问题在中间某层替换一组神经元激活值看输出是否变化。如果替换的神经通路对正确输出是因果必需的那么破坏它之后模型应该答错。这种方法能把“哪个部分真正参与决策”找出来。实际操作时可以先用注意力权重或集成梯度定位候选神经元再对候选神经元做激活扰动最后看答案被破坏的比例。第三个是消融实验。把候选模块置零或者剪掉看能力是否下降。要注意的是消融掉一个模块后能力消失只能说明该模块是完成任务的必要条件不能说明它就是“涌现”的核心机制。可能某个无关模块被剪掉后引发了全局表征崩塌。所以消融结果要和探针、干预结果互相佐证不要单独下结论。3.3 机制视角下的“涌现”也许从来没有非黑即白的开关我之前参与过一个跨领域研究性质的模拟项目用一组不同规模的模型做组合规则推理。原始准确率曲线确实出现了很漂亮的拐点小模型几乎为0大模型一下子到了90%。但当我们把探针插入中间层时发现“规则编码”的线性表征分数从最小模型开始就已经显著高于随机而且几乎随规模线性上升。换句话说机制从一开始就在一点点形成只是在小模型上无法稳定地被输出层利用。后来我们做了进一步的干预把输出层之前的一小段前馈网络替换成更简单的投影小模型的准确率也能大幅提升。这进一步说明我们没有观察到“新机制的涌现”我们看到的是一个旧机制被更有效地读取和路由的过程。这让我对“涌现”这个词变得非常谨慎。当然这不是说所有涌现都一定是测量假象。可能确实存在一些复杂能力比如多步规划、组合性泛化需要多种机制在某个规模后同时成熟才会出现跨越式表现。只是要证明这种情况需要证据链条能够说明新发生的不是单一机制而是机制间的某种组合并且这个组合在更小模型内部无法稳定实现。这样的证据远比一条S型曲线有力得多。4. 工程与研究中的实操框架如何做一次不误导人的“涌现能力”研究4.1 实验设计五步法从现象到机制逐层验证基于前面提到的两类视角我在实际项目里总结了一套五步流程。第一步严格定义任务并构建数据。要确保任务不是多项选择题式的粗粒度指标尽量拆解成原子子能力并明确随机基线水平。如果可能用合成任务控制训练数据分布排除记忆泄露。第二步固定训练配置和评测条件。使用全周期日志保留中间checkpoint对齐训练步数和数据量至少跑3个随机种子。第三步做统计跃迁判断。看“规模-性能”曲线是否在多个种子里稳定出现如果不稳定先不要谈涌现。第四步做机制归因。用探针、激活干预、消融等手段定位任务所依赖的内部表征看这些表征是渐进形成还是突变出现。第五步跨任务、跨架构交叉验证。如果某种涌现机制只在单一任务、单一模型族上成立结论就要打折扣。这套流程并不复杂但能挡住绝大多数“自以为发现了涌现”的研究。我自己做过一个对比同样一组结果只跑第一到第三步结论是“在X规模时出现涌现”跑完第四和第五步后结论变成了“内部表征是线性增长的行为突跃由读出机制和指标阈值共同导致”。两者的科研价值完全不同。4.2 一个可复现的模拟案例合成规则推理实验为了让这一步具象化我写了一个合成任务示例给模型输入若干条条件规则例如“如果红色在左边则圆在绿色旁边”再给一组物体摆放状态要求模型判断某个结论是否成立。这个任务通过程序生成训练和测试集分布完全隔离不存在训练数据泄露的可能。我设置了三个模型规模档位。结果显示复合任务准确率在小规模档几乎为0中规模档约20%大规模档跳到88%。单看这条曲线很容易得出“涌现”的结论。但同一个实验里我另外记录了隐藏层中规则表征的探测分数三条规模下的分数分别是0.52、0.68、0.85接近线性上升。为了进一步确认我固定总参数量不变只增加训练数据中的规则组合密度小模型的复合准确率从0提升到了57%这说明任务表现高度依赖数据覆盖而非单纯依赖规模。最终结论是该任务上观察到的“涌现”主要是统计测量和训练覆盖共同导致的机制层面并没有非连续变化。这种实验设计的好处是把“涌现”从一句广告词变成一组可追问的实验现象。每个人都可以用自己的模型和数据复现只要把探测模块和中间checkpoint接入训练流程就行。4.3 常见问题与排查技巧实录我在做这类分析时踩过不少坑列几个高频问题供参考。疑问一准确率曲线明明从0跳到90%“这不是涌现是什么”排查方向检查评测集是否由少数复杂组合题构成以及“通过”标准是不是连蒙带猜很难碰到的阈值。把复合题拆成原子题画曲线大概率会看到平滑上升。疑问二几个不同规模模型的涌现点不一样为什么排查方向比较它们的训练步数、数据总量、学习率和评测时的解码参数。如果这些变量没有对齐涌现点漂移不代表机制差异。疑问三同一个现象换一种prompt模板就消失了。排查方向这是典型的评测脆弱性。一个好的涌现结论应该在多种prompt形式下都能复现。单模板上的突跃优先怀疑测量噪声。疑问四探针分数和准确率不匹配怎么解释排查方向探针分数高说明表征可用准确率低说明下游解码没用好。这是“有机制但无行为表现”和“行为突跃但机制连续”正好相反。出现这种情况时你需要重新问自己你定义的涌现到底发生在哪一层我把这些整理成一个排查表你可以直接贴到实验记录里。观察现象可能原因排查手段准确率突然跳高指标离散、任务粒度太粗拆分原子子任务用连续指标涌现点随配置漂移训练步数/数据量未对齐固定总计算量对齐中间checkpoint换prompt后消失评测协议不稳定多模板、多温度报告方差机制探针连续上升能力早已存在只是读出不足用激活干预验证下游依赖消融一个模块能力消失全局表征崩塌结合干预和多模块消融4.4 写报告和评审时我常用的三句保守表达最后聊点方法论以外的东西。在实际项目报告和内部评审里措辞会直接影响决策。我给自己定了几条规则第一只说“观察到性能跃迁”不说“模型涌现了新能力”。因为性能跃迁是事实描述新能力是机制断言证据不足时不能说。第二只说“该任务上表现随规模显著提升”不说“规模化带来通用涌现”。兼顾严谨与结论价值。第三如果说“初步证据支持某种机制假设”一定附上探针或干预的证据链而不是只放一条曲线。这些说法在内部会被认为“谨慎”但从效果看恰恰是它们帮我规避了大量后期返工。因为一旦把假说当结论写进报告后续所有产品决策都会跟着偏。我自己干这行越久越觉得“涌现能力”这个词应该被拆成“涌现”和“能力”两层来用。涌现描述的是观察到的变化形态能力描述的是模型内部可泛化的计算机制。两者有关联但从不默认相等。如果你刚开始接触这个概念不妨把每一次“看到涌现”都当成一个待检验的问题用统计工具确认现象用机制工具寻找原因最后再决定要不要在对外说明里使用那个诱人的词。我在实际项目里最深的体会是定义困境不是学术抬杠它直接决定了我们是把精力花在解释真实机制上还是花在整理漂亮曲线上。与其寻找一个包罗万象的涌现定义不如承认它本质上是多层级、多视角的然后在每项实验里明确说清楚自己站在哪个层级。这样一来所谓“界定困境”反而变成了很好的科学训练逼着你想清楚你到底观察到了什么以及你凭什么说它发生了质变。这种思考方式比任何一份“涌现能力榜单”都有用得多。