涌现能力
问题
什么是 LLM 的涌现能力?为什么模型达到一定规模后突然表现出新能力?上下文学习和思维链推理是如何工作的?
答案
涌现能力(Emergent Abilities) 是指在小模型上不存在、但当模型规模达到临界点后突然出现的能力。这是 LLM 最令人惊奇的特性之一。
一、涌现的典型表现
| 能力 | 涌现规模 | 说明 |
|---|---|---|
| 思维链(CoT)推理 | ~100B | 逐步推理数学、逻辑问题 |
| 上下文学习(ICL) | ~10B(基础)~100B(强) | 从 Prompt 中的示例学习 |
| 多步推理 | ~60B | 需要多个推理步骤的任务 |
| 代码生成 | ~30B | 编写可执行的代码 |
| 指令跟随 | ~10B | 理解并执行复杂指令 |
| 自我纠错 | ~100B | 发现并修正自己的错误 |
二、上下文学习(In-Context Learning, ICL)
ICL 是 GPT-3 发现的核心能力:不修改模型参数,仅通过在 Prompt 中提供几个示例,模型就能学会新任务。
# Few-shot In-Context Learning 示例
将情感分类为正面/负面:
评论:这个产品太棒了!质量很好。
情感:正面
评论:包装破损,功能不全,差评。
情感:负面
评论:价格合理,但物流太慢了。
情感:
模型会输出:"负面"或"中性"——它从示例中"学会"了任务格式和判断标准。
ICL 的工作原理(理论假说)
目前有多种假说:
- 贝叶斯推断:模型在 Prompt 中识别出数据分布,做隐式推断
- 隐式梯度下降:Transformer 的前向传播在数学上等价于对示例做梯度更新
- 任务向量检索:预训练中见过类似任务,ICL 通过注意力"检索"相关知识
三、思维链(Chain-of-Thought, CoT)
CoT 是 Google Brain 在 2022 年发现的:让模型逐步推理,而不是直接给出答案,准确率大幅提升。
# 标准 Prompting
Q: Roger 有 5 个网球,他又买了 2 罐,每罐 3 个。他现在有几个?
A: 11
# CoT Prompting
Q: Roger 有 5 个网球,他又买了 2 罐,每罐 3 个。他现在有几个?
A: Roger 一开始有 5 个网球。
他买了 2 罐,每罐 3 个,所以买了 2 × 3 = 6 个。
总共 5 + 6 = 11 个。
答案是 11。
- CoT 只在大模型(>100B)上有效,小模型反而增加了错误
- "Let's think step by step"这样的简单提示(Zero-shot CoT)也能触发逐步推理
- CoT 的本质是将复杂问题分解为多个简单步骤,每步都在模型的能力范围内
四、涌现是否真实存在?
2023 年有研究(Are Emergent Abilities of LLMs a Mirage?)对"涌现"提出质疑:
| 观点 | 论据 |
|---|---|
| 涌现是真实的 | 某些任务确实在小模型上完全失败、大模型上突然成功 |
| 涌现是度量假象 | 使用连续指标(如 token 级准确率)替代离散指标(如精确匹配),"涌现"就变成了平滑提升 |
"涌现"的定义取决于评估指标。如果用精确匹配(全对算 1,否则算 0),小模型得分总是 0,大模型突然变 1——看起来像涌现。如果用部分得分,提升是渐进的。但不可否认的是,LLM 在达到一定规模后确实展现出了质变——CoT 推理就是一个公认的例子。
五、推理时扩展(Test-time Compute Scaling)
2024 年的新趋势:不只在训练时扩大规模,在推理时也扩大计算量。
| 方式 | 代表 | 原理 |
|---|---|---|
| 推理时思维链 | o1、o3、DeepSeek-R1 | 模型在生成答案前先"思考" |
| 搜索 + 验证 | AlphaCode、ToT | 生成多个候选,搜索最优 |
| 自我反思 | Reflexion | 生成→评估→修正循环 |
o1/R1 的核心发现:让模型在推理时花更多 Token "思考",性能可以继续提升——这是另一种 Scaling Law。
常见面试问题
Q1: 什么是涌现能力?举例说明。
答案: 涌现能力是指小模型上完全不具备、但在模型规模超过临界点后突然出现的能力。典型例子:
- CoT 推理:GPT-3(175B)能通过逐步推理解数学题,但 GPT-2(1.5B)完全不行
- 多语言翻译:大模型即使没在翻译数据上训练,也能做翻译
- 代码修复:大模型能理解错误信息并修复代码
Q2: 上下文学习(ICL)和微调(Fine-tuning)的区别是什么?
答案:
| 对比 | ICL | Fine-tuning |
|---|---|---|
| 是否更新参数 | ❌ 不更新 | ✅ 更新 |
| 示例数量 | 几个到几十个 | 几百到几万 |
| 灵活性 | 高(随时换任务) | 低(需重新训练) |
| 性能上限 | 受限于上下文窗口 | 可以超越 ICL |
| 成本 | 推理成本高(长 Prompt) | 训练成本高 |
Q3: 为什么 CoT 在小模型上不起作用?
答案: CoT 要求模型具备两种能力:
- 生成有意义的推理步骤——需要足够的语言能力
- 在推理步骤之间保持逻辑一致——需要足够的"工作记忆"
小模型无法可靠地执行这两步,强制使用 CoT 反而会"编造"错误的推理步骤,降低准确率。通常 >10B 参数的模型才能从 CoT 中受益。
Q4: o1 等推理模型的核心创新是什么?
答案: 传统 LLM 的推理是"一次性"的——看到问题直接生成答案。o1 引入了推理时扩展:模型在回答前先生成一段"思考过程"(隐藏的思维链),可能包含尝试、回溯、验证。核心发现:用于推理的 Token 数量越多,性能越好——这是训练时 Scaling Law 之外的第二条 Scaling Law。