大模型的涌现能力定义解析(附:涌现争议与 AI 应用开发的启示)

把”模型放大到一定规模,能力突然从无到有”当成工程规律去依赖,是不靠谱的。涌现能力(Emergent Abilities)指的是在小模型上完全失败、放大参数或数据后才出现的能力,如多步算术、跨语种迁移、复杂代码补全。但这条规律在 2023 年起就遭到 Schaeffer 等学者的系统质疑——很多所谓的”突然跳跃”,只是评测指标选得不够平滑带来的视觉假象。在内部 AIGC 产品里,我曾因为”模型大了就一定涌现复杂能力”而推迟了小型化路线,结果小模型在合适的 prompt 工程与工具调用下,反而能稳定覆盖 80% 业务;后来把”押注涌现”改成”按任务门槛选模型”,整体响应成本才真正降下来。

一、涌现能力的定义与常见清单

Wei 等人在 2022 年给出的定义被广泛引用:能力在小模型上接近随机水平,模型规模超过某个阈值后成绩陡升,曲线形如跃迁而非平缓爬升。常见被列为”涌现”的任务包括:少样本 prompt 中的多步推理、字符级操作、跨语言翻译、形式化数学证明、复杂指令遵循。

能力类别 小模型表现 大模型表现 是否真正涌现 备注
多步算术(如 4 位数加法) 接近 0% 显著抬升 任务复杂度主导,指标非线性放大视觉 改用连续指标后曲线趋平
In-context Learning 弱 强 真正涌现 与”归纳头”等电路出现相关
跨语种翻译 差 显著改善 渐进式,混合涌现 训练数据覆盖度影响极大
复杂指令遵循 差 强 强涌现表现 指令微调可提前”诱发”该能力
代码补全 / 多文件改动 弱 强 任务难度阈值驱动 评测指标选择影响结论

判断某个能力是否”真涌现”的关键,是换用更平滑的连续指标(如 token 编辑距离、token 级 BLEU)后看曲线是否仍然跃迁。如果换指标后变成平滑上升,原始”涌现”多半是评测假象;如果跃迁依然在,那才是值得投入的能力。

二、为什么会有涌现,以及它为何被争议

涌现现象的理论根源可以追溯到 Anderson 那篇”More is Different”——复杂系统在不同尺度会展现新规律。在神经网络里,规模化带来了新的电路结构(如用于 in-context learning 的归纳头)和新能力(如长程推理),这在机制层面是真实的。

争议则集中在评测侧:很多所谓”涌现”严重依赖离散、非线性的指标(例如 exact match、pass@1 二值化),当改用平滑指标后,能力提升曲线常常是连续的、可预测的。这也解释了为什么”小模型在某些任务上居然打平大模型”——评测口径不同,结果就会反转。

更关键的是,涌现能力还和训练数据、提示策略、推理时计算深度强相关:chain-of-thought、工具调用、self-consistency 都能让”小模型 + 好工程”逼近”大模型裸跑”的水平。这条规律对应用开发的直接影响是:不要把”模型必须够大”当成前提,而要把”能力是否可被诱导”作为选型依据。

三、对 AI 应用开发的三条启示

  1. 以任务门槛选模型,不以规模选模型:先看业务要解决的任务在哪个难度区间,再选能稳定跨过门槛的最小模型。能用 7B + RAG 解决的,不上 70B;能用 Sonnet 解决的,不必上 Opus。
  2. 把”涌现”视为概率事件:把复杂能力看作”高方差能力”——同一 prompt 在不同请求上结果可能差异很大。设计上要做自检、投票、重试,而不是假设”模型既然涌现了就能稳定输出”。
  3. 用工程化手段主动诱发能力:instruction tuning、tool use、CoT prompting、self-consistency 等手段,可以把某些”涌现门槛”压到更小的模型上。换句话说,工程能换来部分规模红利。

下面这段用 OpenAI SDK 演示”小模型 + 工具调用”绕过”复杂涌现能力”假设的写法,在内部 RAG 项目里被反复用到:

from openai import OpenAI
import json

client = OpenAI()

def get_order_status(order_id: str) -> str:
    # 真实业务里这里查 DB
    return json.dumps({"order_id": order_id, "status": "shipped"})

response = client.chat.completions.create(
    model="gpt-4o-mini",
    tools=[{
        "type": "function",
        "function": {
            "name": "get_order_status",
            "description": "查询订单的当前状态",
            "parameters": {
                "type": "object",
                "properties": {"order_id": {"type": "string"}},
                "required": ["order_id"],
            },
        },
    }],
    messages=[
        {"role": "system", "content": "你是订单助手,需要时调用工具查真实数据。"},
        {"role": "user", "content": "帮我查一下订单 #A1029 的状态。"},
    ],
)

# 即使是"小模型",只要工具明确,也能稳定给出可验证答案
tool_call = response.choices[0].message.tool_calls[0]
if tool_call.function.name == "get_order_status":
    args = json.loads(tool_call.function.arguments)
    result = get_order_status(args["order_id"])
    print(result)

这段代码说明:复杂多步推理不必全押在”大模型涌现”上,把决策拆给”小模型 + 工具链”往往更可控、更省成本。

四、几条容易踩的误区

不要把”涌现”和”AGI 前兆”混为一谈。涌现是规模化的伴生现象,不必然指向通用智能;同样的,模型也可能涌现出意料之外的有害行为(如策略性欺骗、奖励 hacking),评估框架必须配套升级。

另一个误区是把涌现曲线当成可预测的工程 milestone。Wei 等人的早期工作里,跃迁的阈值因任务而异、无法在事前精确预测——按”等模型到了再上”做产品规划,往往落后于”用工程手段把现有模型用到极限”的团队。

到这里,关于涌现是什么、它如何被争议、它对应用开发意味着什么就讲完了。真正的工程经验是:把涌现当高方差现象管理,比把它当确定性规律依赖,更接近 AI 应用的真实状态。

常见问题(FAQ)

Q1:涌现能力是真实存在的还是评测假象?

两者都有。机制层面真实存在(如归纳头电路),但部分”突然跳跃”是离散指标造成的视觉假象。

Q2:小模型能”诱导”出涌现能力吗?

能。CoT prompting、工具调用、self-consistency 等工程手段可让小模型逼近大模型的部分能力。

Q3:选模型该相信”规模越大越好”吗?

不应。以任务门槛选最小可用模型,叠加工程化能力诱发,比单纯堆规模更稳定且经济。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 qiqicto@qq.com 举报,一经查实,本站将立刻删除。
赞 (0)
其AI的头像其AI普通用户

相关推荐

返回顶部