大语言模型的历史脉络与技术全景 (Historical Trajectory and Technological Landscape of LLMs)
第 1 章 大语言模型的历史脉络与技术全景
Historical Trajectory and Technological Landscape of LLMs
若将 2017 年作为一条分水岭,自然语言处理(Natural Language Processing, NLP)领域的进展呈现出近乎相变(phase transition)式的跃迁。在 2017 年之前,从 n-gram 到长短时记忆网络(Long Short-Term Memory, LSTM),模型规模的边际扩展已难以为性能带来质的突破;而自 Transformer 架构被 Vaswani 等人在《Attention Is All You Need》中提出以来,仅用约七年的时间,模型参数规模便从亿级(10^8)跃升至千亿(10^11)乃至万亿(10^12)量级,训练数据规模从数十 GB 跃升至数 TB,下游任务的覆盖范围亦从特定基准扩展至开放域生成、推理、规划乃至多模态协同。本章旨在回答两个相互耦合的问题:其一,大语言模型(Large Language Model, LLM)的兴起究竟是偶然的工程突破抑或具备历史必然性?其二,促成这一变革的计算范式、数据规模与算法创新是如何彼此耦合、共同将语言理解能力推至通用智能边界的?为系统回答上述问题,本章将沿"统计语言模型(n-gram)→ 神经词嵌入(word2vec/GloVe)→ 循环序列模型(RNN/LSTM)→ 预训练 Transformer(ELMo/BERT/GPT-1)→ 规模化基础模型(GPT-3/PaLM/LLaMA)→ 对齐指令模型(InstructGPT/ChatGPT)"的技术脉络展开分析,并通过代表性模型的参数、数据规模对照表,为后续章节建立历史坐标系。
> 核心问题(Core Question):大语言模型兴起的技术动因与历史必然性是什么?(What are the technical drivers and historical necessities behind the rise of large language models?)
1.1 统计语言模型的兴衰与维度灾难
统计语言模型(Statistical Language Model, SLM)的理论根基可追溯至 Shannon 在 1948 年的奠基性工作。语言被建模为离散符号序列上的概率分布:给定一段历史上下文 $w_{1:i-1} = (w_1, w_2, \dots, w_{i-1})$,模型预测下一个词 $w_i$ 的条件概率 $P(w_i \mid w_{1:i-1})$。在最简化的实现路径中,研究者通常施加 $n-1$ 阶马尔可夫假设(Markov assumption),即:
$$ P(w_i \mid w_{1:i-1}) \approx P(w_i \mid w_{i-n+1:i-1}) $$
此即 n-gram 模型(n-gram model)。其参数可通过最大似然估计从语料中直接统计:
$$ P(w_i \mid w_{i-n+1:i-1}) = \frac{\text{count}(w_{i-n+1:i})}{\sum_{w} \text{count}(w_{i-n+1:i-1}, w)} $$
然而,n-gram 模型的根本困境并非来自参数估计本身,而来自组合爆炸所导致的维度灾难(curse of dimensionality)。当词表大小 $V$ 达到英语常用词的量级($V \approx 10^5$)时,理论上 $n=5$ 的 5-gram 总数将达到 $V^5 \approx 10^{25}$ 这一远超人类文明数据总量的天文数字。实际语料中能够被观测到的 n-gram 仅占其中极微小比例,由此引发的数据稀疏性(data sparsity)使得多数条件概率只能借由各种平滑(smoothing)技术近似——包括 Laplace(additive)平滑、Katz 回退(Katz back-off)、Jelinek-Mercer 插值,以及在 1990 年代后期成为事实标准的改进 Kneser-Ney 平滑(Modified Kneser-Ney smoothing, Chen & Goodman, 1999)。
平滑技术虽然在形式上缓解了零概率问题,但未能触及一个更深层的本质:n-gram 模型本质上是一个离散组合查找表,其参数与 $V^n$ 成指数增长,因此模型容量无法在不付出组合代价的前提下扩展到长距离依赖。当研究者在 2000 年代试图将上下文窗口扩展至 5-gram 以上时,所观察到的困惑度(perplexity, PPL)下降迅速饱和,而存储与计算成本却呈指数攀升。给定:
$$ \text{PPL}(W) = \exp\left(-\frac{1}{N} \sum_{i=1}^{N} \log P(w_i \mid w_{1:i-1})\right) $$
这一定义本身揭示了一个不祥的事实:PPL 的下界取决于词表熵,但 n-gram 所能抵达的下界与训练数据量级之间的差距随着 $n$ 的提升而愈发悬殊。更关键的是,n-gram 模型完全无法捕捉语义泛化(semantic generalization):它无法识别"the cat is sitting on the mat"与"a dog rests on the rug"在语义层面上的等价性,亦无法学习到诸如时态、语态、论元结构等抽象语法属性。这一缺陷并不源于工程实现,而源于其建模假设——n-gram 将语言视为符号表面的统计现象,而忽略了语言背后的分布式语义结构(distributional semantic structure)。因此,n-gram 时代的天花板并非算力约束所致,而是范式(paradigm)层面的限制。这一困境构成了 2000 年代之后驱动研究者转向神经语言模型的直接动机。
1.2 分布式语义假说与神经词嵌入
早在 1957 年,Firth 便以一句格言——"You shall know a word by the company it keeps"——为分布式假说(distributional hypothesis)奠定了哲学基础。其后 Harris(1954)的分布语义学论证进一步表明:在语料库中频繁出现于相似上下文中的词项,往往具备相近的语义。这一假说的可计算化(computational operationalization)正是 21 世纪初神经语言模型崛起的理论锚点。
Bengio 等人在 2003 年的开创性论文《A Neural Probabilistic Language Model》中,首次将前馈神经网络应用于语言建模任务。其架构在共享的词嵌入矩阵 $C \in \mathbb{R}^{V \times m}$($m$ 为嵌入维度,通常为 $50 \sim 200$)中查找每个词的稠密向量表示,并将上下文窗口内的词嵌入拼接后输入一个或多个全连接层,再由 softmax 输出下一词的概率分布:
$$ P(w_i \mid w_{i-n+1:i-1}) = \frac{\exp\left( \mathbf{v}_{w_i}^T \cdot \mathbf{h}_i + b_{w_i} \right)}{\sum_{w=1}^{V} \exp\left( \mathbf{v}_{w}^T \cdot \mathbf{h}_i + b_w \right)} $$
其中 $\mathbf{h}_i$ 为拼接上下文嵌入并经非线性变换后的隐层表示。该模型在两个层面取得了突破:第一,参数规模与词表大小解耦——参数增长由 $V^n$ 降为 $V \cdot m$,使得高维稀疏空间被压缩至低维稠密流形(low-dimensional manifold);第二,语义泛化首次以几何方式呈现——出现在相似上下文中的词在嵌入空间中自然地彼此靠近,学习到的分布式表征可被下游分类器直接复用。
2013 年,Mikolov 等人在 Google 发布的 word2vec 工具包将上述思想推向了工业规模。Word2vec 包含两条互补的训练路径:连续词袋模型(Continuous Bag-of-Words, CBOW)根据上下文预测中心词,跳元模型(Skip-gram)则根据中心词预测上下文词。在工程层面,研究者引入了负采样(negative sampling)与层次化 softmax(hierarchical softmax)两种加速策略,将单步训练复杂度从 $O(V)$ 降至 $O(\log V)$,从而使得在十亿词级别的语料上训练 $300$ 维嵌入在数小时内即可完成。
Skip-gram 的目标函数可形式化为:
$$ \mathcal{L} = \sum_{t=1}^{T} \sum_{\substack{-c \leq j \leq c \\ j \neq 0}} \log \sigma\left(\mathbf{u}_{w_{t+j}}^T \mathbf{v}_{w_t}\right) + \sum_{k=1}^{K} \mathbb{E}_{w_k \sim P_n(w)} \log \sigma\left(-\mathbf{u}_{w_k}^T \mathbf{v}_{w_t}\right) $$
其中 $\mathbf{v}_{w_t}$ 为中心词嵌入,$\mathbf{u}_{w_{t+j}}$ 为上下文词嵌入,$K$ 为负样本数,$P_n(w)$ 为负采样的经验分布。Word2vec 最令人瞩目的发现并非其在词相似度(word similarity)任务上的逼近表现,而是其词向量所支持的线性类比推理(linear analogical reasoning):$\mathbf{v}_{\text{king}} - \mathbf{v}_{\text{man}} + \mathbf{v}_{\text{woman}} \approx \mathbf{v}_{\text{queen}}$。这一现象提示,分布式嵌入中隐含编码了某种接近平移不变性(translational invariance)的几何结构。
2014 年,Pennington 等人提出的 GloVe(Global Vectors for Word Representation)则从另一条理论路径抵达了相近的终点。GloVe 显式地构造词-词共现矩阵 $X \in \mathbb{R}^{V \times V}$,并通过加权最小二乘回归(weighted least-squares regression)将共现比值(co-occurrence ratio)建模为嵌入向量的内积:
$$ \mathbf{u}_i^T \mathbf{v}_j + b_i + \tilde{b}_j = \log X_{ij}, \quad w_{ij} = f(X_{ij}) $$
GloVe 与 Skip-gram 在形式上分别对应全局矩阵分解(global matrix factorization)与局部上下文窗口(local context window)两条路径,但二者在 Levi 等人(2015)的研究中被证明在某种特定假设下是渐近等价的。这一理论上的合流,使得分布式语义假说在 2014 年前后已具备相对成熟的数学表述。
然而,词嵌入时代仍然存在两条关键局限。其一,嵌入是上下文无关的(context-independent):bank 在 "river bank" 与 "bank account" 中共享同一向量表示。其二,超出词表问题(out-of-vocabulary, OOV):未在训练词表中出现的词(命名实体、新造词、拼写变体等)无法获得语义表示。这两条局限共同成为驱动研究者从静态嵌入迈向语境化嵌入(contextualized embedding)与序列建模的动力。
1.3 循环神经网络与序列建模的范式困境
词嵌入为词级别的语义空间赋予了良好几何性质,但语言本质上是顺序生成(sequential generation)的过程——下一词的概率不仅依赖局部窗口,更依赖跨越数十乃至数百词的句法与篇章结构。能否将这种长程依赖(long-range dependency)建模为可微分计算,是 2010 年代初期深度学习在 NLP 领域的关键命题。
循环神经网络(Recurrent Neural Network, RNN)的核心思想是将长度为 $n$ 的序列压缩为一个固定维度的隐状态(hidden state):
$$ \mathbf{h}_t = f\left(\mathbf{W}_h \mathbf{h}_{t-1} + \mathbf{W}_x \mathbf{x}_t + \mathbf{b}\right) $$
其中 $\mathbf{h}_t \in \mathbb{R}^{d_h}$,$\mathbf{x}_t$ 为 $t$ 时刻输入(典型情况下为词嵌入),$f$ 为非线性激活函数(实践中常用 $\tanh$)。理论上,RNN 具备建模任意长度依赖的能力,但实际上,通过时间反向传播(Back-Propagation Through Time, BPTT)所计算的梯度会在链式法则下呈现指数级衰减或爆炸,即所谓的梯度消失(vanishing gradient)与梯度爆炸(exploding gradient)问题。Bengio 等人(1994)以及 Hochreiter & Schmidhuber(1997)的工作从理论上证明,传统 RNN 在超过约 100 个时间步后,跨距离依赖信号的传播效率将接近零。
为应对这一困难,Hochreiter 与 Schmidhuber 在 1997 年提出的长短时记忆网络(Long Short-Term Memory, LSTM)通过引入由遗忘门(forget gate)、输入门(input gate)、输出门(output gate)三组门控信号调节的细胞状态(cell state),在数学上构造了一条近似线性的梯度通道。其核心更新方程为:
$$ \begin{aligned} \mathbf{f}_t &= \sigma\left(\mathbf{W}_f [\mathbf{h}_{t-1}; \mathbf{x}_t] + \mathbf{b}_f\right) \\ \mathbf{i}_t &= \sigma\left(\mathbf{W}_i [\mathbf{h}_{t-1}; \mathbf{x}_t] + \mathbf{b}_i\right) \\ \tilde{\mathbf{C}}_t &= \tanh\left(\mathbf{W}_C [\mathbf{h}_{t-1}; \mathbf{x}_t] + \mathbf{b}_C\right) \\ \mathbf{C}_t &= \mathbf{f}_t \odot \mathbf{C}_{t-1} + \mathbf{i}_t \odot \tilde{\mathbf{C}}_t \\ \mathbf{o}_t &= \sigma\left(\mathbf{W}_o [\mathbf{h}_{t-1}; \mathbf{x}_t] + \mathbf{b}_o\right) \\ \mathbf{h}_t &= \mathbf{o}_t \odot \tanh(\mathbf{C}_t) \end{aligned} $$
其中 $\odot$ 表示逐元素乘积(element-wise product),$[\cdot;\cdot]$ 表示向量拼接。这一精巧的门控机制使得 LSTM 在跨数百乃至数千时间步的序列任务中得以保留远端信息。至 2014 年前后,Cho 等人提出的门控循环单元(Gated Recurrent Unit, GRU)以更精简的两门设计(重置门与更新门)获得了相近的表现,从而印证了门控(gating)作为长程依赖建模的通用解的合理性。
在序列到序列(Sequence-to-Sequence, Seq2Seq)范式下,Sutskever 等人(2014)将 LSTM 编码器与解码器堆叠应用于机器翻译,并在 WMT'14 英法任务上首次使神经方法在 BLEU 指标上稳定超越统计机器翻译系统。Bahdanau 等人(2015)在此基础上进一步引入了加性注意力(additive attention),首次允许解码器在生成每一目标词时,软对齐(soft-align)到源序列的全部位置,使长句翻译的 BLEU 显著提升。
然而,循环结构存在一个工程层面的根本约束:顺序计算(sequential computation)的不可并行性。RNN/LSTM 的隐状态 $\mathbf{h}_t$ 在数学上严格依赖于 $\mathbf{h}_{t-1}$,这意味着长度为 $n$ 的序列在 GPU 上必须经过至少 $n$ 个串行时间步才能完成前向传播。给定 GPU 在 2014–2016 年间的典型峰值算力(如 NVIDIA P100 的 ~10 TFLOPS),将训练扩展到长度 $n > 1024$ 的段落或在数千万句的语料上完成预训练已触碰到工程极限。与此同时,梯度信号的逐时间步传播亦限制了上下文窗口的可扩展性,即便在门控机制下,超过约 500 个时间步的有效依赖学习仍被视为困难。
由此呈现的工程困境是双重的:计算层面受限于顺序依赖,记忆层面受限于梯度衰减。这两条困境共同将 NLP 推向了 2017 年那道关键的范式分水岭——对序列中任意两个位置建立直接连接的注意力机制。
1.4 Transformer:对序列并行性瓶颈的范式破解
2017 年 Vaswani 等人在 Google Brain 团队发表的《Attention Is All You Need》不仅仅是一项工程改进,更是一次范式层面的重构(paradigm shift)。其核心洞察可以归纳为:将序列中每一位置对其他所有位置的关系,建模为通过查询(Query)、键(Key)、值(Value)三元组计算的加权汇聚过程——即自注意力(self-attention)——从而彻底取消了循环依赖对并行化的束缚。
给定输入矩阵 $\mathbf{X} \in \mathbb{R}^{n \times d}$,自注意力机制首先通过三个可学习的线性投影矩阵 $\mathbf{W}_Q, \mathbf{W}_K, \mathbf{W}_V \in \mathbb{R}^{d \times d_k}$ 产生对应的 $\mathbf{Q}