大语言模型是如何“思考”的

模型并不像人那样“理解”世界——它的直接目标只是预测下一个 token。可当模型、数据和算力扩展到足够规模时,这种看似简单的预测任务,会逼着模型学会语言结构、世界知识、任务模式,甚至表现出接近“推理”的行为。


为什么要读这篇

上一篇文章讲了 LLM、Token、Context Window 等术语。但如果你想知道模型“为什么能工作”,就得理解它的核心机制:Transformer 架构 + Attention + 下一个 Token 预测

很多人第一次接触大语言模型时,都会有一种强烈的直觉冲突:

  • 一方面,模型回答问题时看起来真的像在“思考”
  • 另一方面,技术资料又告诉你:它本质上只是一个“下一个 token 预测器”

这两句话到底怎么同时成立?

答案是:“下一个 token 预测”这个目标虽然简单,但它并不浅。
如果你真的想把这个任务做到极致,模型就不得不学会很多东西:语法、常识、长距离依赖、概念之间的关系、代码结构、问题和答案的常见形式,甚至某些多步推演模式。

本文不讲公式,只讲概念和直觉。读完你会明白:

  • Transformer 为什么会取代 RNN
  • Attention 为什么是 LLM 的核心
  • 为什么“预测下一个词”足以支撑大部分语言能力
  • 为什么规模变大后,模型会表现出越来越强的“智能感”
  • 为什么这种“思考”更接近统计建模 + 表示学习,而不是人类式意识或理解

想深入底层? 本文不需要数学基础。但如果你想理解 Attention 的矩阵运算,推荐:


一个先说清楚的前提

在进入细节之前,先把一个容易误解的问题说透:

“模型是怎么思考的” 这个说法,本身就是一种拟人化表达。

更准确的说法应该是:

模型是如何在计算上形成表示、整合上下文,并生成下一步输出的。

也就是说,LLM 的“思考”并不是人类大脑里的主观体验,也不是一个显式的符号推理器。它做的事情更像是:

  1. 把输入切成 token
  2. 把 token 映射成高维向量
  3. 用多层 Transformer 不断混合和变换这些表示
  4. 在当前上下文条件下,为“下一个 token”计算概率分布
  5. 采样或选择一个 token 输出
  6. 把这个新 token 再加入上下文,继续下一轮

从外部看,这会表现得像“理解”“联想”“推理”。
从内部看,本质上是:大量参数上的向量运算 + 概率建模。

理解这一点非常重要,因为它决定了你后面如何看待:

  • 幻觉
  • 推理能力
  • 长上下文
  • 微调与对齐
  • 推理模型

1. Transformer 架构:为什么 LLM 建立在它之上

一句话:Transformer 是一种能够高效处理长序列、并让每个 token 都与上下文任意位置交互的神经网络架构。它是当代 LLM 的骨架。


在 Transformer 之前,模型为什么不够好用

在 Transformer 出现之前,处理文本最常见的是 RNN、LSTM 一类序列模型。它们的工作方式更像“一个词一个词往后读”:

  • 先看第一个词
  • 把信息传给下一步
  • 再看第二个词
  • 再传给第三步

这种结构有两个明显问题:

1. 长距离依赖难处理

一句话很长时,前面的信息要经过很多步才能传到后面,中间容易衰减。比如:

“我昨天在巴黎见到的那个朋友说,他明年准备去柏林读书。”

如果模型在处理后半句时,还要准确理解“他”指的是谁、地点关系是什么,RNN 类模型会比较吃力。

2. 难以并行

RNN 天然是串行的:前一步没算完,后一步很难开始。
这会极大限制训练效率,而 LLM 训练最需要的恰恰就是超大规模并行。

Transformer 的出现,本质上解决了这两个问题。


Transformer 的核心思想

Transformer 最重要的创新,不是“网络更深”,而是:

让每个 token 都能直接与序列中的其他 token 交互。

这就是 Attention 的作用。

传统序列模型像是“排队传话”,而 Transformer 更像是“全员开会”:

  • 每个 token 都可以看见和自己相关的其他 token
  • 不需要经过很多中间步骤转发
  • 可以同时计算整段序列中的依赖关系

这让模型既更擅长处理长距离依赖,也更适合现代 GPU/TPU 的并行计算。


Encoder 与 Decoder:原始 Transformer 的两部分

原始 Transformer(2017)分成两个部分:

组件作用典型用途
Encoder(编码器)双向理解输入,每个 token 都能看前后文BERT、检索、分类、翻译中的源语言建模
Decoder(解码器)单向生成输出,只能看过去的 tokenGPT、文本生成、对话生成

Encoder 更像“读懂”

它适合理解一个完整输入,比如分类、匹配、抽取。

Decoder 更像“续写”

它更适合生成,因为它天然遵守一个规则:

当前时刻只能看已经出现的内容,不能偷看未来。

这正好符合语言生成的本质:你只能基于已经说过的话,决定接下来要说什么。


为什么 GPT 选择 Decoder-only

这是很多人第一次学 LLM 时会疑惑的点。

既然原始 Transformer 有 Encoder 和 Decoder,为什么 GPT 不两者都用?

因为 GPT 的核心任务是自回归生成。对它来说,最重要的是:

  • 给定已有上下文
  • 继续往后写
  • 每次预测一个新 token

这个任务天然适合 decoder-only 架构。它的优点是:

1. 训练目标统一

训练时做 next-token prediction,推理时也做 next-token prediction,训练和使用几乎完全一致。

2. 架构更简单

只有一种主干结构,工程实现和扩展都更直接。

3. 生成能力极强

对于开放式文本、对话、代码、写作这类任务,decoder-only 已经足够强大。

所以今天我们说“LLM”,大多数时候默认就是指 decoder-only Transformer,也就是 GPT 这一脉的架构。


Transformer 到底为 LLM 提供了什么

如果只保留一句话,那就是:

Transformer 给了模型一种把整段上下文压进当前决策里的能力。

每生成一个 token,模型都不是只看“上一个词”,而是在多层结构里不断重算:

  • 这句话现在在讲什么
  • 哪些 token 最相关
  • 之前出现过的概念如何彼此影响
  • 当前最合理的续写方向是什么

所以,Transformer 不是“智能本身”,但它提供了让大规模语言建模成为可能的计算框架。


2. Attention 机制:模型是怎么“看重点”的

一句话:Attention 让模型在处理每个 token 时,动态决定应该重点参考上下文中的哪些位置。这是 LLM 能理解上下文的核心机制。


为什么没有 Attention 不行

设想一句话:

“小明把球递给了小红,因为她站得更近。”

当模型处理“她”时,它要判断“她”更可能指向谁。
如果没有一种机制能让当前位置回头看整个上下文,它就很难知道“她”应该和“小红”联系起来。

Attention 的核心作用,就是让模型在每一步都重新计算:

当前这个 token,最该参考上下文里的哪些 token?

这件事听起来简单,但它几乎就是“上下文理解”的全部基础。


Q / K / V 的直觉理解

每个 token 进入注意力层后,会被投影成三个向量:

向量英文直觉含义
QQuery“我现在需要找什么信息?”
KKey“我这里提供了什么线索?”
VValue“如果你关注我,我真正传递给你的内容是什么?”

可以把它想象成一个信息检索过程。

当前 token 拿着自己的 Q(查询),去和所有 token 的 K(键) 做匹配:

  • 匹配越高,说明“你和我当前要找的信息越相关”
  • 相关性越高,那个 token 的 V(内容) 就越会被纳入当前表示里

所以 Attention 不是“把所有上下文一股脑塞进来”,而是:

按相关性,有选择地聚合上下文。


一个具体例子:模型在翻译时会看哪里

假设输入是:

“请把‘苹果’翻译成英文。”

模型在生成 apple 这个 token 时,不会平均地看待整个句子。
它更可能把注意力集中在:

  • “苹果”
  • “翻译”
  • “英文”

而不是“请”“把”“成”这些功能性较强、信息密度较低的 token。

也就是说,Attention 让模型可以动态地“抓住重点”。

这也是为什么很多人会说:

模型的“理解”并不是显式规则,而是上下文加权融合


Attention 为什么比传统方法强

1. 它能处理长距离依赖

句子里很远的两个 token,也可以直接建立联系,不需要经过很多中间步骤转发。

2. 它是动态的

模型不是固定看某几个位置,而是每个 token、每一层、每一个 head 都可能关注不同位置。

3. 它适合并行计算

整段序列的注意力可以一起算,这对大规模训练非常关键。


多头注意力:为什么不是只看一种关系

现实语言中的相关性并不只有一种。

比如一句话里,同时可能存在:

  • 指代关系
  • 语法关系
  • 时间关系
  • 因果关系
  • 主题一致性
  • 代码中的变量依赖

所以 Transformer 不只做一次 Attention,而是做 Multi-Head Attention(多头注意力)

直觉上可以理解为:

模型不是用一种眼光看句子,而是同时用很多种“视角”看它。

有的头专门抓局部语法,有的头更关注远距离指代,有的头更容易跟踪括号、列表、变量名、段落主题。

这也是为什么大型语言模型的内部表示会非常丰富——它不是单一通道,而是多层、多头、不断重组的信息网络。


Attention 是不是等于“理解”

这里也要克制一点。

Attention 很重要,但它不等于完整理解,更不意味着“只要看了注意力图就能解释模型为什么这么回答”。

原因有两个:

  1. 模型最终输出来自很多层的连续变换,不是某一张注意力图单独决定的
  2. 现代 LLM 的能力不仅来自注意力,还来自 MLP 层、残差连接、层间表示积累等复杂结构

所以更准确的说法是:

Attention 是模型整合上下文的核心手段,但不是全部。


3. Token Prediction:为什么“接龙”会成为统一目标

一句话:大语言模型训练和推理的基本任务,都是给定前文,预测下一个最可能的 token。这是表面上极其简单、但实际上非常强大的统一目标。


训练时到底在优化什么

训练数据在形式上其实很简单:

输入: 人工智能是
目标: 预测下一个 token

模型会输出一个概率分布:

  • “一” 的概率是多少
  • “指” 的概率是多少
  • “未来” 的概率是多少
  • 其他 token 的概率是多少

训练的目标是:让真实下一个 token 的概率尽可能高。

这个过程在海量文本上反复进行,模型就会慢慢学会:

  • 什么词通常接在什么词后面
  • 某种句子结构通常如何延续
  • 特定知识在什么语境里出现
  • 一类问题通常对应怎样的答案风格

推理时为什么还是同一件事

推理时,模型做的还是同样的事情,只不过从“老师给标准答案”变成了“自己往下写”。

例如:

  1. 输入“请写一首春天的诗”
  2. 模型预测第一个 token,比如“春”
  3. 把“春”加入上下文
  4. 再预测下一个 token,比如“风”
  5. 重复这个过程

这叫 自回归生成(Autoregressive Generation)

所以训练和推理之间没有本质断裂。
LLM 不存在一个“训练时是统计模型,推理时突然变成思考引擎”的切换。它始终都在做一件事:

基于当前上下文,决定下一个 token 的概率分布。


为什么这个目标足够强

这是整篇最重要的问题之一。

表面上看,“预测下一个词”好像只是接龙。
但如果你真的要把这件事做好,尤其是在互联网级别的数据上做到足够好,模型其实不得不学会很多深层结构。

1. 你得学会语法

否则句子根本接不顺。

2. 你得学会事实和常识

否则很多文本延续概率就会错。

3. 你得学会任务模式

用户问问题、代码报错、论文摘要、邮件回复,这些都有不同的后续分布。

4. 你得学会某种“隐式推理”

比如:

  • “2 + 2 =” 后面更可能是 4
  • “巴黎是法国的” 后面更可能是“首都”
  • “下面给出证明” 后面更可能是有逻辑结构的文本
  • 一段代码里定义过的变量,后文应一致地继续使用

所以,“接龙”不是低级行为,它实际上逼着模型压缩了大量世界模式。


模型预测的不是“词”,而是分布

还有一个很关键的点:
模型不是机械地找“唯一正确答案”,而是在每一步输出一个概率分布。

这意味着:

  • 同一个 prompt 可以有多个合理续写
  • 不同采样策略会导致不同风格和创造性
  • 模型有时不是“不会”,而是高概率分布不够集中
  • 幻觉有时来自“看起来像合理续写,但并不真实”的高概率输出

这也解释了为什么温度(temperature)、top-k、top-p 这些采样参数会影响输出风格:
它们不是改变模型知识,而是在改变你如何从概率分布里取样。


一个重要限制:目标简单,不代表结果总可靠

虽然 next-token prediction 很强大,但它也带来天然局限。

模型优化的是:

在语言分布上“最像正确答案”

而不是:

在外部世界中“绝对真实”

这就是为什么模型会:

  • 说得非常流畅,但事实错误
  • 生成格式完美的假引用
  • 在模糊问题上自信补全
  • 在长推理中中途偏航

因为从训练目标看,它首先是一个语言分布拟合器,而不是一个自带真值校验器。

这一点会在后面的对齐训练、RAG、工具调用里被逐步修补,但在底层机制上,它始终成立。


4. Scaling Law:为什么规模会带来质变般的提升

一句话:模型参数、训练数据和训练计算增加时,性能往往遵循稳定的幂律提升。LLM 的很多进步,不是来自某个神奇技巧,而是来自大规模扩展。


Scaling Law 到底说了什么

在大模型研究里,一个非常重要的发现是:

当你持续增加模型规模、数据规模和训练计算时,模型性能会相对平滑、可预测地改善。

这就是所谓的 Scaling Law

变量影响常见结论
数据量更多预训练 token通常能继续提升泛化能力
参数量更大模型通常能容纳更复杂的模式
算力更多训练计算通常能把模型训得更充分

这里最重要的不是“越大越好”这句口号,而是:

性能提升不是偶然的,而是呈现出某种可持续、可拟合的规律。

这让研究机构敢于做超大规模投入,因为他们不是在赌运气,而是在沿着一条已经被反复验证的曲线往上走。


为什么这件事如此重要

因为它改写了整个 AI 研发范式。

在过去,很多机器学习系统更像“手工调特征 + 换模型结构 + 针对任务做优化”。
而在 LLM 时代,一个非常强的经验是:

在合理配方下,把系统做大,本身就是一种有效研究方法。

这也是为什么过去几年最强模型几乎都来自能整合巨量数据、算力和工程基础设施的组织。


Chinchilla 最优:不是只看参数,数据也很关键

Scaling 不是“只要参数更大就行”。
DeepMind 的 Chinchilla 工作指出:

对给定训练算力而言,很多模型其实是“参数太大、数据太少”。

也就是说,如果模型很大,但训练 token 不够,它没有被充分训练,资源利用并不最优。

策略典型配置结果
大模型 + 较少数据参数很大,但训练不充分数据利用率不高
较小模型 + 更多数据参数与数据更平衡同等算力下往往更优

这给行业一个很重要的启发:

  • 模型大小不是唯一指标
  • 数据量和数据质量同样关键
  • “参数更多”不自动等于“更强”

因此从 2023 之后,很多团队开始更重视数据配比、训练 token 数量、数据质量控制,而不再只卷参数数字。


Scaling 不只作用于知识,也作用于能力边界

随着规模扩大,模型不只是“记住更多事实”,还会在很多任务上表现得更稳定:

  • 更能遵守复杂格式
  • 更能处理长上下文
  • 更能做代码补全和重写
  • 更容易表现出多步任务能力
  • 更能从少量示例中归纳模式

这意味着 scaling 带来的,不只是容量增加,也包括表示质量和泛化能力的提升。


5. “涌现”与“连续提升”:智能到底是怎么拼出来的

一句话:当 Attention、Token Prediction 和大规模训练结合起来,模型会在很多任务上表现出看似“突然出现”的能力。但从更细的角度看,这些能力往往也是逐步积累、在某些评测上跨过阈值后变得显眼。


什么叫涌现(Emergence)

“涌现”这个词很流行,但也最容易被说得神秘。

它更准确的含义是:

某些能力在小模型上几乎看不出来,但当模型规模增大到某个区间后,在特定任务指标上会突然变得明显。

比如:

  • 指令遵循
  • 多步推理
  • 复杂代码生成
  • 工具使用
  • 更稳的长程依赖建模

但这里要注意两点:

1. 涌现不一定意味着真正的“突变”

很多能力从内部机制上可能是连续提升的,只是评测方式有阈值,导致曲线看起来像突然跳起来。

2. 涌现不等于魔法

它不是说模型忽然“觉醒”,而是说大量能力在足够规模下开始达到可见、可用的程度。

所以,比起把“涌现”讲成神秘现象,更好的理解方式是:

规模让很多原本微弱的能力跨过了实用门槛。


为什么“接龙”能拼出智能感

现在可以把前面几块拼起来了。

第一层:Token Prediction 提供统一目标

模型始终都在学“上下文接下来最合理的是什么”。

第二层:Attention 让模型能整合上下文

它不是只看上一个 token,而是动态聚合整段上下文的相关信息。

第三层:Transformer 提供可扩展结构

它让这种上下文整合能在大规模数据和大规模参数上高效进行。

第四层:Scaling 放大一切

数据越多、模型越大、训练越充分,模型能学到的模式就越丰富,泛化边界也越远。

这四件事叠在一起,就会形成一种外部观感:

模型不像是在背答案,而像是在“想”。


一个更贴切的类比

可以把 LLM 想象成一个极其强大的“上下文条件生成器”。

它读过海量文本,因此学会了:

  • 什么样的问题通常对应什么样的答案
  • 什么样的解释更像解释
  • 什么样的代码更像正确代码
  • 什么样的推理步骤更像合理推理

它不一定像人类那样“知道自己为什么知道”,但它会在统计上逼近:

在这个上下文里,一个高水平人类接下来最可能会怎么说。

当这个逼近做得足够好时,从外部看就会非常像“理解”和“思考”。


一个必要的反向提醒

也正因为如此,LLM 的能力和局限总是成对出现:

它为什么强

因为它能在海量模式中做高质量泛化。

它为什么会幻觉

因为它优化的是“像合理答案”,不是“连接真实世界真值”。

它为什么擅长语言任务

因为训练目标和语言分布高度一致。

它为什么在某些精确任务上不稳定

因为语言概率高,不代表外部逻辑一定严格正确。

所以,理解 LLM 的“思考”方式,最重要的不是神化它,而是看清它:

它是一个极强的模式压缩器、上下文整合器和概率生成器。


小结:从机制到“智能感”

把整篇文章压缩成一张图,大概就是这样:

机制它解决什么问题带来什么能力
Transformer如何高效处理长序列建立大规模语言建模骨架
Attention如何在当前时刻抓住相关上下文上下文整合、长距离依赖
Token Prediction如何定义统一训练目标语言生成、任务建模、模式学习
Scaling Law如何持续提升能力上限泛化增强、能力跨阈值、智能感增强

这四个部分缺一不可。

  • 没有 Transformer,训练规模起不来
  • 没有 Attention,上下文无法高效整合
  • 没有 Token Prediction,目标不统一
  • 没有 Scaling,很多能力就达不到“有用”的程度

理解这一点,你就理解了当代 LLM 所谓“思考”的本质。


核心概念速查

概念一句话
Transformer用自注意力处理序列的可扩展神经网络架构
Self-Attention让每个 token 动态关注上下文中相关部分的机制
Multi-Head Attention用多种不同“视角”同时建模 token 关系
Token Prediction给定前文,预测下一个 token 的统一目标
Autoregressive用已生成内容继续预测下一个 token
Scaling Law数据、参数、算力增加时性能按规律提升
Chinchilla同等算力下,参数与数据需平衡,不是越大越好
Emergence某些能力在规模扩大后跨过可见门槛而变得显著

下一篇

理解了模型如何“思考”,下一个问题就来了:

这些底层能力,为什么最后会变成 ChatGPT 这样“会聊天、会拒绝、会推理、会配合人类”的模型?

答案不在架构里,而在训练流程里。

下一篇我们就来看:

  • 预训练为什么只是起点
  • SFT 如何把模型变成助手
  • RLHF / DPO 如何改变模型行为
  • 推理训练为什么会催生 o3、DeepSeek-R1 这样的 reasoning model