AI · 知识点
LLM
大语言模型的底层逻辑:从 Transformer 到今天的 LLM
大语言模型的底层逻辑:从 Transformer 到今天的 LLM
如果要理解今天的大语言模型,最值得回到的一篇论文仍然是 2017 年的 《Attention Is All You Need》。
这篇论文并没有直接提出今天意义上的“大语言模型”,它研究的核心任务仍然是机器翻译。但它提出的 Transformer,后来成为 GPT、Llama、Qwen 等现代大语言模型最重要的基础架构之一。
从这个意义上说,理解大语言模型,首先要理解 Transformer 到底改变了什么。
01 / 一、大语言模型首先是一个“语言概率模型”
一、大语言模型首先是一个“语言概率模型”
从生成机制看,大语言模型做的事情并不神秘。
给定一段已经出现的文本:
The capital of France is ...
模型需要计算下一个 token 的概率分布,例如:
然后根据这个概率分布选择一个 token,再把新生成的 token 加回上下文,继续预测下一个。
于是,一段看似完整的回答,本质上是一个不断重复的过程:
这也是所谓的 autoregressive generation,自回归生成。
《Attention Is All You Need》中的 Transformer decoder 已经采用了这一机制:在预测当前位置时,只允许模型依赖此前已经出现的输出,而不能提前看到未来 token。论文通过 masked self-attention 保证这一点。
所以,从最底层看,大语言模型并不是先“想好一整段答案”再输出。
它是在不断回答同一个问题:
在当前上下文下,下一个 token 最可能是什么?
真正复杂的地方,不在“预测下一个 token”这件事本身,而在于:
模型究竟如何理解前面的上下文。
这正是 Transformer 解决的问题。
02 / 二、Transformer 真正解决的是“信息如何相互作用”
二、Transformer 真正解决的是“信息如何相互作用”
在 Transformer 出现之前,序列模型主要依赖 RNN、LSTM 等结构。
这类模型处理语言时存在天然的顺序依赖。
假设有一句话:
The company announced a new model after months of research.
RNN 通常需要从前往后逐步计算:
当前位置的表示依赖前一个位置的隐藏状态。
论文指出,这种 sequential computation 会直接限制并行训练能力,尤其当序列变长以后,训练效率问题会越来越明显。
Transformer 做出的关键改变是:
不再依赖循环神经网络,而是让不同位置之间直接通过 Attention 建立关系。
论文对此的表述非常明确:Transformer 完全依赖 attention mechanism,去掉了此前序列模型中的 recurrence 和 convolution。
这不是一次简单的网络结构调整。
它实际上改变了语言模型处理信息的方式。
过去更接近:
信息按照序列向后传递。
Transformer 则变成:
当前 token 可以直接判断,整个上下文中哪些信息与自己有关。
这就是 Self-Attention。
03 / 三、Attention:语言理解变成了一次“相关性计算”
三、Attention:语言理解变成了一次“相关性计算”
Transformer 中最核心的三个变量是:
也就是:
- Query
- Key
- Value
《Attention Is All You Need》对 Attention 的定义是:
一个 Query 与一组 Key-Value pairs 进行匹配,根据 Query 与不同 Key 的兼容程度计算权重,再对对应的 Value 加权求和。
可以把这个过程理解成两件事。
第一件事是:
当前 token 应该关注哪些信息?
第二件事是:
被关注的信息应该向当前 token 提供什么内容?
Query 和 Key 主要负责解决第一个问题,Value 则负责第二个问题。
例如:
The animal didn't cross the street because it was tired.
当模型处理 “it” 时,它需要判断这个代词究竟与前面的哪个词关系更强。
模型并不会依靠一套人工编写的语法规则,而是通过 Query 与不同 Key 之间的相似程度计算权重。
如果 “animal” 得到较高的 attention weight,那么它对应的 Value 信息便会更多地进入 “it” 当前的表示之中。
所以 Attention 的本质可以理解成:
动态计算上下文中不同信息之间的重要程度。
这正是 Transformer 能够建模语言关系的核心机制。
04 / 四、为什么是 Q、K、V?
四、为什么是 Q、K、V?
Transformer 中最著名的公式之一是:
这条公式基本可以拆成三个阶段。
1. QK^T:计算相关性
Query 与所有 Key 做点积:
得到的是一组匹配分数。
也就是说:
当前信息与上下文中的哪些信息关系更强?
2. Softmax:把分数转换成权重
这些匹配分数经过 Softmax 后,会转化为一组权重。
例如可能得到:
| TokenAttention Weight | |
|---|---|
| animal | 0.68 |
| street | 0.08 |
| cross | 0.12 |
| tired | 0.12 |
于是模型知道:
当前 token 应该重点参考 animal。
论文还特别加入了:
这一缩放项。
原因是当向量维度较高时,点积值可能变得很大,使 Softmax 进入梯度非常小的区域,因此论文使用 \sqrt{d_k} 对点积结果进行缩放。
这也是名称 Scaled Dot-Product Attention 的来源。
3. 乘以 V:提取真正的信息
最后:
模型按照刚刚计算出来的权重,对不同 Value 进行加权组合。
所以从信息流角度看:
解决的是:
应该看谁?
而:
解决的是:
从它那里拿什么信息?
这也是理解 QKV 最重要的一层。
Q、K、V 并不是三个独立的“知识库”,而是同一个 token 表示经过不同参数矩阵投影后形成的三种表示方式。
05 / 五、Multi-Head Attention:语言不存在唯一的关系
五、Multi-Head Attention:语言不存在唯一的关系
如果一个句子只进行一次 Attention,会出现一个明显的问题:
语言中的关系并不是单一维度的。
考虑一句话:
Apple introduced a new chip in California last year.
其中同时存在很多不同关系:
- Apple 与 introduced:主谓关系;
- introduced 与 chip:动作与对象;
- California:地点信息;
- last year:时间信息;
- Apple 与 chip:公司和产品之间的实体关系。
因此 Transformer 引入了 Multi-Head Attention。
论文并不是只进行一次 Attention,而是把 Q、K、V 映射到多个不同的表示空间,再同时执行多组 Attention,最后将结果拼接起来。
原始 Transformer base 使用了 8 个 attention heads,每个 head 的 d_k=d_v=64。
这意味着模型可以同时从不同角度观察同一句话。
值得注意的是,这些 head 并不是人为规定:
Head 1 负责语法,Head 2 负责时间,Head 3 负责实体。
它们是在训练过程中自己形成的。
论文后来观察不同 attention distribution 时发现,不同 attention heads 确实会表现出不同的行为,一些 head 与句子的语法和语义结构存在明显联系。
这实际上揭示了 Transformer 很重要的一种能力:
复杂结构并不一定需要人工定义,也可以从大量数据中通过优化逐渐形成。
06 / 六、Attention 只是“找关系”,FFN 才负责继续加工
六、Attention 只是“找关系”,FFN 才负责继续加工
理解 Transformer 时,一个常见误区是:
Transformer 就是 Attention。
实际上,Attention 只是其中的一部分。
原论文的 Transformer 每一层基本包含两类核心模块:
以及:
同时辅以 residual connection 和 layer normalization。
其中 Attention 更主要负责:
不同 token 之间的信息交互。
而 Feed-Forward Network,FFN 则进一步加工每个 token 当前已经汇聚得到的信息。
原始论文中的 FFN 为:
即:
所以一层 Transformer 可以粗略理解为两个阶段:
Attention:
当前 token 从其他位置获取哪些信息?
FFN:
得到这些信息以后,如何进一步转换自己的内部表示?
随后新的表示进入下一层 Transformer,再进行一次新的 Attention 和 FFN。
层层叠加之后,token 的表示不断发生变化。
最开始,“Apple”可能主要只是一个词的 embedding。
经过多层 Transformer 以后,它已经融入:
- 它出现的位置;
- 与前后文的关系;
- 当前句子的语义;
- 与其他实体之间的关联;
- 当前任务需要的信息。
这才是所谓的 contextual representation。
07 / 七、没有 RNN 以后,Transformer 怎么知道词序?
七、没有 RNN 以后,Transformer 怎么知道词序?
完全依赖 Attention 又产生了另一个问题。
Attention 本身并不知道顺序。
从纯粹的集合关系来看:
I love you
和:
You love me
都只是三个 token。
但语言显然高度依赖顺序。
因此论文专门加入了:
Positional Encoding。
作者明确指出,因为 Transformer 不使用 recurrence 和 convolution,所以必须额外注入 token 的相对或绝对位置信息。
原始 Transformer 使用不同频率的 sine 和 cosine 构造位置编码:
因此输入 Transformer 的信息实际上不只是:
而是:
Embedding 负责告诉模型:
这个 token 是什么。
Position 则负责告诉模型:
它出现在什么位置。
现代 LLM 的位置编码方法已经出现很多变化,但“必须让模型知道 token 的顺序”这个基本问题并没有改变。
08 / 八、Transformer 为什么如此适合做“大模型”
八、Transformer 为什么如此适合做“大模型”
Transformer 真正具有历史意义的地方,并不只是它在机器翻译上取得了更好的结果。
更重要的是,它具备非常强的 scalability。
论文第 6 页专门比较了 Self-Attention、Recurrent 和 Convolutional architectures。
其中 Self-Attention 的最小 sequential operations 为:
而 recurrent layer 是:
同时 Self-Attention 中任意两个位置之间的最大路径长度也是:
而 recurrent architecture 为:
这两个指标非常重要。
第一,训练更容易并行化
RNN 天然存在:
这样的计算依赖。
而 Self-Attention 可以同时计算大量 token 之间的关系。
这意味着 GPU 的大规模矩阵运算能力能够被更充分地利用。
第二,长距离关系的路径更短
在 recurrent network 中,一个很早出现的信息要影响一个很晚出现的位置,需要经过很多中间状态。
而 Self-Attention 可以直接建立:
这样的联系。
论文也将 long-range dependencies 作为比较不同网络结构的重要标准,并指出更短的信息传播路径有利于学习远距离依赖。
这两件事情结合在一起,带来的结果就是:
Transformer 非常适合被继续放大。
更多 GPU、更多数据、更大的参数规模,都可以继续投入其中。
于是 Transformer 后来从一种机器翻译架构,逐渐成为了大语言模型的基础架构。
09 / 九、从 6500 万参数,到“大语言模型”
九、从 6500 万参数,到“大语言模型”
回看 2017 年的 Transformer,今天甚至会觉得它相当小。
原始论文中的 Transformer base:
N=6d_{model}=512d_{ff}=2048- 8 attention heads
- 约 6500 万参数
Transformer big 约为:
2.13 亿参数。
而后来真正推动 LLM 出现的路径,本质上是不断扩大这套架构:
↓
更多参数
↓
更多训练数据
↓
更多计算资源
↓
更大规模的预训练
↓
更强的语言建模能力
于是,语言模型不再只擅长某一个固定任务。
过去可能需要分别训练:
- 翻译模型;
- 摘要模型;
- 问答模型;
- 分类模型。
而大规模预训练后的 Transformer 开始能够使用同一个模型完成大量不同语言任务。
这才逐渐形成了今天所说的:
Large Language Model。
10 / 十、理解 LLM,可以记住这一条信息链
十、理解 LLM,可以记住这一条信息链
如果把现代大语言模型极度压缩,它的核心信息流大致可以写成:
↓
↓
↓
↓
↓
↓
↓
↓
不断自回归生成
这条链条里,2017 年《Attention Is All You Need》几乎奠定了中间最重要的结构。
当然,今天的 LLM 已经远远超过论文中最初的 Transformer:训练方法、位置编码、激活函数、归一化方式、注意力实现、模型规模和推理系统都发生了大量演进。
但如果只问:
现代大语言模型最重要的技术转折点在哪里?
Transformer 仍然是无法绕开的答案。
它真正改变的,不只是某一个网络结构,而是一种计算语言的方式:
不再要求信息按照序列逐级传递,而是允许每个 token 根据当前上下文,动态寻找与自己最相关的信息。
这也是为什么一篇最初以机器翻译为目标的论文,最终成为了整个大语言模型时代最重要的技术起点之一。
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L. and Polosukhin, I. (2017). Attention is All you Need., pp. 5998-6008.