很多人理解大模型参数量时,会有一个直觉:

参数越大,模型越聪明。

这句话大方向没错,但太模糊。

更准确的问题应该是:

参数变大,到底多出来了什么?
模型是不是在训练时写进了更多规则?
为什么同一句话,小模型只能给套路答案,大模型却能分析得更细?

比如这句话:

我这个情绪分析小程序没有留存,应该怎么办?

一个小模型可能会回答:

可以增加签到、积分、排行榜、消息推送,提高用户活跃度。

而一个更强的模型可能会回答:

先不要急着加功能。情绪分析产品的问题可能不是缺少运营机制,而是用户没有持续使用理由。你要先判断用户是在一次性娱乐、情绪倾诉、长期记录,还是阶段性复盘。不同场景对应不同产品闭环。

为什么会这样?

不是因为大模型里面写了更多 if-else

真正的原因是:

模型越大,内部表示空间越大,能同时保留更多细粒度特征,能表示更复杂的条件关系。

这篇文章就先讲清楚这个底层原理。


一、大模型不是规则系统

很多开发者容易用传统程序思维理解大模型。

比如我们写业务代码时,可能会这样写:

if (userIntent.equals("产品留存")) {
    return "分析用户场景、复访路径、留存机制";
}

if (userIntent.equals("情绪安慰")) {
    return "先共情,再安慰用户";
}

但大模型不是这么工作的。

大模型训练时,并没有程序员手动写入:

if 用户问“小程序没有留存”:
    判断为产品留存问题

if 用户提到“情绪”:
    判断为心理安慰问题

它的训练目标更简单,也更底层:

给定前面的文本,预测下一个 token。

例如训练数据里有一句:

用户:我这个情绪分析小程序没有留存,应该怎么办?
助手:先不要急着加功能,要先判断用户为什么会重复使用……

模型训练时看到前文:

用户:我这个情绪分析小程序没有留存,应该怎么办?
助手:

它要预测后面第一个 token 是什么。

可能是:

也可能是:

可以

也可能是:

建议

如果训练数据中大量高质量回答都倾向于:

先分析需求
先拆用户场景
先判断复访理由

那么模型就会在训练中逐渐提高这些表达的概率。

如果大量低质量回答是:

签到
积分
排行榜

高质量数据中这种回答较少,或者在类似复杂语境下不合适,那么模型就会相对降低这些 token 的概率。

这个过程不是人工规则,而是梯度下降。

Transformer 原始论文《Attention Is All You Need》提出的核心结构,就是用注意力机制建模 token 之间的关系,而不是依赖 RNN、CNN 或手写语言规则。现代大语言模型基本都是在这个方向上发展出来的。([arXiv][1])

所以第一条结论是:

大模型不是规则系统。
它不是先执行 if-else,再输出答案。
它是在上下文条件下预测下一个 token。


二、那模型为什么看起来像“理解了意图”?

因为要预测好下一个 token,模型必须学会利用上下文里的隐藏结构。

还是这句话:

我这个情绪分析小程序没有留存,应该怎么办?

如果模型只看到“情绪”两个字,它可能会往心理安慰方向回答:

先接纳自己的情绪,不要太责怪自己。

如果模型只看到“小程序”三个字,它可能会往技术方向回答:

可以优化页面加载速度和交互体验。

如果模型只看到“没有留存”,它可能会往运营套路方向回答:

可以增加签到、积分、消息推送。

但这句话真正的上下文是组合起来的:

情绪分析 + 小程序 + 没有留存 + 应该怎么办

组合之后,它不是单纯情绪问题,也不是单纯技术问题,而是:

情绪类产品的用户留存问题

要给出更合适的回答,模型必须在内部形成类似这样的判断:

这是产品问题,不是单纯心理安慰问题。
这是留存问题,不是代码报错问题。
这是情绪类产品,不是电商、社区、游戏产品。
问题核心可能是用户复访理由,而不是单纯功能不足。

但注意,这些判断不是模型显式写出来的变量。

模型内部没有一个字段叫:

intent = 产品留存问题

更准确地说:

“意图”是人类对模型内部向量表示的解释。

模型自己处理的是:

token 向量
attention 权重
MLP 激活
隐藏状态
下一个 token 的概率分布

我们看到它输出了更符合场景的回答,于是说它“理解了用户意图”。

但底层其实是:

上下文改变了模型内部向量状态,向量状态改变了词表概率分布。


三、Transformer 推理时到底发生了什么?

简化来看,一个大语言模型处理文本大概经历这些步骤:

文本
→ tokenizer 切成 token
→ token 变成向量
→ 多层 Transformer 计算
→ 得到当前位置的隐藏状态
→ 映射成词表概率
→ 采样或选择下一个 token

例如输入:

我这个情绪分析小程序没有留存,应该怎么办?

会先被切成 token。

为了方便理解,可以粗略想成:

[我, 这个, 情绪, 分析, 小程序, 没有, 留存, 应该, 怎么办]

每个 token 会变成一个高维向量。

比如:

“情绪” → [0.12, -0.43, 0.08, ...]
“留存” → [-0.21, 0.67, 0.31, ...]
“小程序” → [0.44, -0.19, 0.52, ...]

真实模型里的向量维度可能是几千甚至上万维。

然后进入 Transformer 层。

Transformer 层里最关键的部分之一是 self-attention。

它的作用可以粗略理解为:

每个 token 不只看自己,还会根据相关性去“看”其他 token。

例如:

“留存”会关注“小程序”
“小程序”会关注“情绪分析”
“怎么办”会关注“没有留存”
“情绪”会和“分析”组合成产品类型

注意力机制的经典公式是:

Attention(Q, K, V) = softmax(QKᵀ / √d) V

这不是玄学。

它本质上是矩阵计算:

  • Q:当前 token 想找什么信息
  • K:其他 token 提供什么索引
  • V:其他 token 实际携带什么内容
  • softmax:算出应该关注谁
  • 最后加权求和,把相关信息混合进来

经过多层 Transformer 后,模型最后位置的隐藏状态就不再只是“怎么办”这个词的表示,而是融合了整个上下文的信息。

这个隐藏状态会被映射到词表上,得到每个候选 token 的概率。

比如:

P("先") = 0.12
P("用户") = 0.08
P("需求") = 0.07
P("签到") = 0.01
P("抱抱") = 0.002

于是模型可能输出:

然后继续基于新上下文预测下一个 token。

这就是生成过程。


四、“意图”到底从哪里来?

现在回到关键问题:

训练时没有 if-else,那“意图”是怎么来的?

答案是:

来自训练数据中的大量模式,被模型通过梯度下降压缩进参数里。

训练数据中可能存在很多类似样本:

样本类型 A:产品没人用

用户:我做了一个工具,但是没人用,怎么办?
助手:先不要急着加功能,要验证需求是否真实。

样本类型 B:留存很差

用户:我的 App 留存很差,怎么优化?
助手:先拆用户第一次为什么来,第二次为什么回来。

样本类型 C:情绪产品复用低

用户:情绪记录产品怎么提高复用?
助手:单次分析价值有限,长期记录、复盘和行动建议才可能形成持续价值。

样本类型 D:用户正在难过

用户:我今天很难受,不知道怎么办。
助手:先别急着解决问题,可以先把发生了什么说出来。

模型在训练中不断看到这些模式。

它会逐渐学到:

“小程序 + 没有留存 + 怎么办”
更可能接:
用户需求、使用场景、复访理由、产品闭环

而:

“我今天很难受 + 不知道怎么办”
更可能接:
共情、安慰、倾听、追问

所以,当模型看到:

我这个情绪分析小程序没有留存,应该怎么办?

它不是执行规则:

if 包含“留存”:
    intent = 产品问题

而是这个上下文激活了某些内部特征,使得与“产品留存分析”相关的 token 概率上升。

这就是“意图”的来源。

人类把这种现象叫作:

模型识别出了用户意图

但底层更准确的说法是:

上下文激活了某些向量特征,这些特征改变了后续 token 的概率分布。

五、参数量变大,到底多出来了什么?

这才是最核心的部分。

参数越大,不是说模型里多了更多人工规则。

参数越大,通常意味着:

  • hidden size 更大
  • 层数可能更多
  • attention head 更多
  • MLP 更宽
  • 可表示的函数空间更大

换成人话:

模型内部能容纳和区分的特征更多。

小模型看到这句话:

我这个情绪分析小程序没有留存,应该怎么办?

可能只能形成粗粒度表示:

产品问题
留存问题
求建议

于是它容易输出通用答案:

签到、积分、推送、排行榜。

大模型可能能保留更多细粒度特征:

这是情绪类产品
用户问的是产品留存
不是本人正在求安慰
不是技术开发问题
情绪分析可能是低频需求
单次分析偏娱乐
长期留存需要记录、复盘、行动建议
应该先拆用户场景

注意,这些不是显式的 if-else。

更像是高维向量空间里的很多特征同时被激活。

可以用一个不严谨但好理解的伪公式表示:

当前隐藏状态 h =
产品特征 * 0.8
+ 留存特征 * 0.9
+ 情绪安慰特征 * 0.2
+ 创业探索特征 * 0.6
+ 功能堆砌风险特征 * 0.7
+ 需求验证特征 * 0.8

这不是模型源码,只是帮助理解。

真实情况是这些特征分布在大量神经元、注意力头、MLP 激活和层间表示里。

所以关键句是:

模型越大,内部表示空间越大,能同时保留更多细粒度特征,能表示更复杂的条件关系。

这就是大模型分析更细的底层原因。


六、为什么小模型容易套模板?

因为小模型更容易学到粗粒度相关性。

例如互联网上有大量文章都在说:

提高留存 = 签到 + 积分 + 推送 + 社群 + 排行榜

当模型容量不够时,它可能学到的是:

留存差 → 签到积分

这个规律不是完全错。

但它太粗了。

它没有进一步区分:

情绪分析产品的留存
电商产品的留存
社区产品的留存
游戏产品的留存
工具产品的留存

这些产品的留存逻辑完全不同。

电商留存可能来自:

价格、复购、优惠、物流、品类

社区留存可能来自:

关系链、内容供给、互动反馈

游戏留存可能来自:

成长系统、奖励机制、关卡设计

情绪分析产品留存可能来自:

周期性情绪触发
记录复盘
被理解的反馈
行动建议
长期趋势价值

小模型可能只抓住:

留存 = 运营机制

大模型更可能抓住:

情绪类产品留存 = 用户为什么要反复表达和复盘情绪

这就是“粗粒度相关性”和“细粒度条件关系”的区别。


七、为什么大模型不是简单记住更多答案?

确实,参数更多会提升模型存储知识和模式的能力。

但如果只理解成“记住更多答案”,还是不够。

因为真实用户输入几乎无限变化。

比如:

我的情绪分析小程序没有留存,怎么办?

也可以换成:

我做了一个 AI 安慰产品,用户玩一次就走了。

还可以换成:

心理测试工具刚上线有人玩,但没人第二次打开。

表面文字不同,但底层结构相似:

心理/情绪类产品
+ 单次体验
+ 复访困难
+ 需求强度存疑

模型如果只是死记硬背,遇到新表达就会失效。

更强的模型会把这些表面不同的表达压缩成更抽象的结构。

这叫泛化。

GPT-3 论文《Language Models are Few-Shot Learners》里,一个重要现象就是:随着模型规模扩大,模型在没有针对具体任务微调的情况下,也能通过上下文示例完成很多任务。这说明大模型不只是记住答案,而是具备更强的上下文适配能力。([arXiv][2])

所以更准确地说:

小模型更容易记住表面词和高频套路。
大模型更容易学到抽象结构和条件关系。


八、有没有证据说明模型变大真的会更强?

有。

OpenAI 等人在《Scaling Laws for Neural Language Models》中研究了模型规模、数据规模、训练计算量和语言模型损失之间的关系。论文发现,在很大范围内,语言模型的交叉熵损失会随着模型大小、数据量和计算量增加呈规律性下降。([arXiv][3])

这句话翻译成人话就是:

模型变大、数据更多、训练计算量更大时,模型预测下一个 token 的平均错误会下降。

为什么这重要?

因为语言模型所有能力,底层都依赖:

P(next_token | context)

如果模型对下一个 token 的预测更准确,说明它对上下文里的结构掌握得更好。

比如:

我不是不想做,而是觉得做了也没人用。

弱模型可能抓到:

不想做

强模型更可能抓到:

不是不想做,而是担心需求不真实

这就是语义结构识别能力的差异。

当然,参数不是唯一因素。

模型能力还取决于:

  • 训练数据质量
  • 训练 token 数量
  • 训练计算量
  • 模型架构
  • 对齐方式
  • 推理策略

但在其他条件相近时,更大的模型通常有更强的表示能力。


九、模型内部真的会形成“功能性结构”吗?

这也是一个很重要的问题。

如果我们说模型内部形成了某些特征,会不会还是玄学?

目前可解释性研究还没有完全打开大模型黑箱,但已经有一些证据表明,Transformer 内部会形成可观察的功能性电路。

比如 Anthropic 的 Transformer Circuits 系列研究中,研究者分析了 induction heads。这类注意力头可以在上下文中识别重复模式,并帮助模型完成类似“看到 A 后面跟 B,下次看到 A 就预测 B”的行为。相关研究认为,induction heads 可能是上下文学习能力的重要机制之一。([变压器电路][4])

这说明一件事:

Transformer 内部不是完全不可解释的一团噪声。
它会在训练过程中形成某些可观察、可分析、具有功能作用的结构。

但也要注意:

目前我们还不能完整解释大模型内部所有能力。

所以严谨说法是:

我们知道 Transformer 通过注意力、MLP 和多层表示学习形成复杂特征;
我们也有部分可解释性证据说明模型内部存在功能性电路;
但我们还不能把大模型所有推理过程都还原成清晰的人类规则。

这比“模型有意识地理解了意图”更准确。


十、用一句话总结这篇文章

大模型不是规则系统。

它没有被写入一堆:

if 用户意图 == xxx

它训练时只是在做一件事:

根据上下文预测下一个 token。

但为了预测得更准,它被迫在参数中压缩大量语言结构、语义关系、知识模式和任务规律。

参数越大,模型内部表示空间越大,能同时保留更多细粒度特征,能表示更复杂的条件关系。

所以同一句话:

我这个情绪分析小程序没有留存,应该怎么办?

小模型可能只抓到:

产品 + 留存

于是输出:

签到、积分、推送。

大模型可能抓到:

情绪类产品 + 留存问题 + 需求强度 + 复访理由 + 用户场景

于是输出:

先拆用户为什么会重复使用,再设计记录、复盘和行动建议闭环。

这就是参数量带来的本质差异。

最后压缩成一句话:

模型越大,不是因为写了更多 if-else,而是因为内部表示空间更大,能保留更多细粒度特征,表达更复杂的条件关系。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐