返回首页

Roadmap
更新于 2026年11月7日 全文 3982 字未阅读

什么才是大语言模型#

大语言模型(LLM)干的活,其实还是上一节那件事:预测某个 token,或者一串 token(出现的概率)——有时候,是整整好几段话的量。我们已经知道 token 可以是一个词、一个子词(词的子集),甚至只是单独一个字符。

那 LLM 凭什么比 N 元语法语言模型、比循环神经网络强出一大截?两条原因:

  • LLM 里的参数比循环模型多得多。

  • LLM 能收集到多得多的上下文。

这一节要介绍的,是目前构建 LLM 最成功、也用得最广的架构——Transformer。

什么是 Transformer?#

先从一个具体场景说起:翻译。Transformer 是当下各类语言模型应用中最先进的架构,比如这样一套基于 Transformer 的翻译器:

图 1. 左侧的输入框里写着 I am a good dog.,中间是一个淡蓝色的 Transformer-based translator 模块,右侧的输出框里写着 Je suis un bon chien.,前后两个框用箭头串起,是同一句话的英文与法文两个版本。
图 1. 基于 Transformer 的应用:把英文翻译成法文

完整的 Transformer 由一个编码器(encoder)和一个解码器(decoder)组成:

  • 编码器把输入文本转成一种中间表示(向量)。编码器本身就是一个庞大的神经网络。

  • 解码器把这份中间表示转成有用的文本。解码器同样是一个庞大的神经网络。

更多关于编码器-解码器的介绍,可以参见文章 Seq2Seq教程:编码器解码器结构与序列生成 中的内容。

放到翻译器里看,就一目了然了:

  • 编码器处理输入文本(比如一句英文),产出某种中间表示。

  • 解码器把这份中间表示转成输出文本(比如对应的法语句子)。

图 2. 左边是输入框 I am a good dog.,右边是输出框 Je suis un bon chien.;中间的 Transformer-based translator 蓝色大框里从左到右排着三个方块:黄色的 encoder、黄色的 decoder,以及夹在中间写着 intermediate representation 的白色方块,箭头依次相连。
图 2. 完整的 Transformer 同时包含编码器与解码器
点击了解“部分 Transformer”是什么

本模块讲的是完整的 Transformer——编码器和解码器都有。

MLWM: 如图所示就是包含完整编码器和解码器的 Transformer 网络结构图

Transformer网络结构图
Transformer网络结构图

相关内容可以参见课程 Multi-Head Attention 多头注意力机制图解教程:从动机到 Q/K/V 与多头分割原理 中的内容。

但实际上,只有一半的架构也存在:

  • 仅编码器(encoder-only)架构把输入文本映射成一种中间表示(通常是嵌入层),例如 BERT 模型。它的典型用途有两种:

    • 预测输入序列中的任意一个 token(这正是语言模型的常规职责)。

    • 造出一个足够精细的嵌入,可以拿去当别的系统(比如分类器)的输入。

  • 仅解码器(decoder-only)架构则根据已经生成出来的文本,继续生成新的 token,例如 GPT、Qwen 等。这类模型通常尤其擅长生成序列;如今的仅解码器模型还能把这种生成能力用在续写对话历史、续写各种提示词上。

什么是自注意力?#

要说 Transformer 凭什么能把上下文撑起来,就绕不开自注意力(self-attention)。它替输入里的每一个 token 问这么一句话:

输入中其他每一个 token,在多大程度上影响了对这个 token 的理解?

“自”这个字,指的是输入序列本身。有些注意力机制会去权衡输入 token 与输出序列(比如译文)里 token 的关系,或者与其他某个序列中 token 的关系;而自注意力只衡量输入序列内部、token 与 token 之间的关系。

为了让问题变简单,我们假设每个 token 都是一个词,整段上下文只有一句话:

The animal didn’t cross the street because it was too tired.

上面这句话一共 11 个词。每个词都在关注另外 10 个词,盘算着它们各自对自己到底有多重要。

请注意这句话里的代词 it。代词往往是有歧义的:它通常指代最近出现过的某个名词或名词短语,可在这句里,it 指的是 the animal 还是 the street?

自注意力机制做的事,就是判定每个邻近的词与代词 it 的相关程度。图 3 给出的正是这个结果——线越蓝,说明这个词对代词 it 越重要。也就是说,在这个句子里,animal 比 street 更重要。

图 3. 上下两排都是 The animal didn't cross the street because it was too tired. 这十一个词,上排的代词 it 位于偏右位置并被涂成深蓝;从 it 向下连出十一条线,指向下排的每个词,其中连到 animal 的那条最深最粗、呈深蓝色,连到 The 的那条是较粗的浅青色,其余的线都很细很淡。
图 3. 代词 it 的自注意力示意,出自 Transformer: A Novel Neural Network Architecture for Language Understanding

反过来看,如果把最后那个词换掉呢:

The animal didn’t cross the street because it was too wide.

在这句话里,我们便希望自注意力会把 street 排在 animal 前面,认为它与代词 it 更相关。

还有一点得分清楚:有些自注意力机制是双向的(bidirectional)——它会给被关注词前后的 token 都算一个相关性分数。比如图 3 里你会看到 it 两边的词都被算了进去,双向自注意力可以从被关注词的任意一侧收集上下文。而单向的(unidirectional)自注意力,就只能从一侧收集上下文。

这个区别是有用的:双向自注意力特别适合为整个序列生成表示;而那些要一个 token 一个 token 往外吐的应用,则需要单向自注意力。也正因为如此,编码器会使用双向自注意力,而解码器则使用单向注意力。

什么是多头多层自注意力?#

每一个自注意力层,通常都由多个自注意力头(head)组成。一层的输出,是各个头的输出经过某个数学运算(加权平均、点积之类)之后的结果。

因为每个头的参数都是随机初始化的,不同的头可以学到不同的关系。上一小节那个头,负责判断代词 it 到底指哪个名词;而同一层里的其他头,可能会去学每个词与其他词之间的语法相关性,或者别的某种交互。

一个完整的 Transformer,会把多个自注意力层一层层堆起来。上一层的输出,就是下一层的输入。这种堆叠,让模型能够逐层构建越来越复杂、越来越抽象的文本理解:靠前的层也许只盯着基础句法,靠后的层则把这些信息整合起来,去把握诸如情感、上下文、乃至贯穿整段输入的主题关联这类更细微的概念。

MLWM: 模型在对当前位置的信息进行编码时,会过度的将注意力集中于自身的位置,因此作者提出了通过多头注意力机制来解决这一问题。同时,使用多头注意力机制还能够给予注意力层的输出包含有不同子空间中的编码表示信息,从而增强模型的表达能力。

多头注意力机制结构图
多头注意力机制结构图

相关内容可参见多头注意力机制原理 中第1.2.2节内容。

点击了解 LLM 的 Big $O$ 复杂度

自注意力迫使上下文里的每一个词,都要去学习上下文中其他所有词的相关性。所以很容易就会得到:这是个复杂度为 $O(N^2)$ 的问题,其中:

  • $N$ 是上下文里的 token 数量。

要是光这个 Big $O$ 还不够让人头大,那么 Transformer 里还有多个自注意力层、每层又有多个自注意力头,所以真正的 Big $O$ 是:

$$ O(N^2 · S · D) $$

其中:

  • $S$ 是自注意力的层数。

  • $D$ 是每层的头数。

点击了解 LLM 是怎么训练出来的

你多半永远不会从零开始训练一个 LLM。训练一个工业级强度的 LLM,需要海量的 ML 专业能力、算力和时间。不过既然你点开了这个图标,我们就该把事情讲清楚。

构建 LLM 的主要原料,是数量惊人的训练数据(文本),通常还经过某种程度的筛选。训练的第一阶段,一般是在这批数据上做某种形式的无监督学习。具体来说,模型是在做掩码预测——把训练数据里某些 token 故意藏起来,然后靠预测这些缺失的 token 来学习。比如,假设训练数据里有这么一句话:

The residents of the sleepy town weren't prepared for what came next.

随机去掉一些 token,比如:

The ___ of the sleepy town weren't prepared for ___ came next.

LLM 说到底就是一个神经网络,所以损失(模型正确判断出的被掩码 token 数量)会引导反向传播以多大的力度去更新参数值。

一个靠预测缺失数据训练出来的 Transformer 模型,会逐渐学会从数据里发现模式、以及更高阶的结构,从而为那个缺失的 token 找到线索。再看一个被掩码的例子:

Oranges are traditionally ___ by hand. Once clipped from a tree, __ don't ripen.

在海量掩码样本上的充分训练,会让 LLM 学会:“harvested”或“picked”是第一个空缺处的高概率匹配,而“oranges”或“they”是第二个空缺处的好选择。

还有一个可选的进一步训练步骤,叫做指令微调(instruction tuning),它可以提升 LLM 遵循指令的能力。

MLWM: 上述例子其实是非常不恰当的,它把 BERT 一类模型使用的掩码语言建模(Masked Language Modeling,MLM)当成了 LLM 的普遍预训练方式。实际上,ChatGPT、GPT-4、GPT-5 等 GPT 系列模型的核心预训练方式,并不是随机遮盖 Token 再预测,而是自回归语言建模(Autoregressive Language Modeling),也叫做因果语言建模( Causal Language Modeling),也就是根据前面的 Token 预测下一个 Token。

掩码语言建模 VS 因果语言建模
掩码语言建模 VS 因果语言建模
对于绝大多数人的理解来说,LLM 几乎就约等于因果语言模型而不是掩码语言模型,而这里作为介绍 LLM 是如何训练出来,举因果语言模型的例子显然是更合适的,这里大家要注意。

为什么 Transformer 这么大?#

Transformer 里有几千亿、甚至几万亿个参数。

本课程前面一直在推荐:优先挑参数更少的模型。毕竟参数少的模型,做预测时消耗的资源更少。但研究显示,参数更多的 Transformer 始终优于参数更少的 Transformer。

LLM 到底是怎么生成文本的?#

你已经见过研究者们怎么训练 LLM 去预测一两个缺失的词了,可能并不觉得有多惊艳——毕竟预测一两个词,本质上就是各种文本、邮件、写作软件里的自动补全功能。那 LLM 凭什么能生成句子、段落,甚至关于套利的俳句?

其实,LLM 本质上就是自动补全机制,只不过它能自动预测(补全)成百上千个 token。举个例子,来看一句完整的话,后面跟上一句被遮住的话:

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

LLM 会为那句被遮住的话生成一组概率,其中包括:

概率词语
3.1%For example, he can sit, stay, and roll over.
2.9%For example, he knows how to sit, stay, and roll over.

一个足够大的 LLM,能为整段话、乃至整篇论文生成概率。你可以把用户向 LLM 提出的问题,看成“已知的那句话”后面跟上一个想象中的遮罩:

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

LLM 会为各种可能的回答生成概率。

MLWM: 这里需要注意,LLM 在生成大段文本的时候都是一个 token 一个 token 生成的。尽管上面内容提到一个 token 可能是好几段话的量,但是几乎所有 LLM 输出的 token 都是一个词、一个子词(词的子集),甚至只是单独一个字符。 简单来理解,尽管 LLM 能够生成大段的内容,但是整个过程是一个 token 一个 token 产生而来的。

再举一个例子:一个在海量数学“应用题”上训练出来的 LLM,看上去在做很复杂的数学推理。实际上,它只是在给一道应用题的题干自动补全而已。

LLM 的好处#

LLM 能为各类目标读者生成清晰、易懂的文本。LLM 也能在它明确被训练过的任务上做出预测。有些研究者声称,LLM 在没有被明确训练过的输入上同样能做出预测;但也有研究者反驳了这种说法。

LLM 的问题#

训练一个 LLM 会牵扯出一堆问题:

  • 收集一个庞大的训练集。

  • 消耗数月时间,以及巨量的算力和电力。

  • 解决并行化方面的难题。

而用 LLM 做推理预测,会带来下面这些问题:

  • LLM 会产生幻觉(hallucination),也就是它的预测经常包含错误。

  • LLM 会消耗巨量的算力和电力。(在更大的数据集上训练,通常能减少推理阶段所需的资源;但更大的训练集本身要消耗更多训练资源。)

  • 和所有 ML 模型一样,LLM 可能表现出各种各样的偏见。

练习:检查你的理解#

假设一个 Transformer 在十亿份文档上训练而成,其中有成千上万份文档至少出现过一次 elephant 这个词。以下哪些说法大概率成立?

  • A. Transformer 会把 elephant 这个词,与各种包含 elephant 的习语关联起来。

  • B. 金合欢树(acacia)是大象食谱里重要的一环,它与 elephant 这个词之间的自注意力分数会逐渐升高。

  • C. Transformer 会逐渐学会忽略训练数据中 elephant 一词的讽刺与反讽用法。


关键术语:

  • 解码器(Decoder)

  • 嵌入层(Embedding layer)

  • 编码器(Encoder)

  • 幻觉(Hallucination)

  • 指令微调(Instruction tuning)

  • 大型语言模型(Large language model, LLM)

  • 神经网络(Neural net)

  • 参数(Parameter)

  • 自注意力(Self attention)

  • 张量处理单元(Tensor Processing Unit, TPU)

  • 张量处理单元 Pod(Tensor Processing Unit Pod)

  • 无监督学习(Unsupervised learning)

阅读 --