第1章:大语言模型概述与学习路径
大语言模型(Large Language Model, LLM)是人工智能发展历程中的一座里程碑,它通过在海量文本数据上训练深度神经网络,获得了对语言结构、世界知识乃至逻辑推理的深刻理解能力。与传统程序不同,LLM 并非由人类手写规则驱动,而是从数据中自动习得统计规律与语义关联,从而能够生成连贯、相关且富有洞察力的文本。这一范式转变不仅重新定义了自然语言处理(NLP)的边界,更将 AI 的应用从狭窄的垂直任务推向通用的智能助手、创意伙伴与知识引擎。理解 LLM 的技术演进,已成为把握当前 AI 浪潮的核心钥匙。本章将系统梳理从统计语言模型到现代 Transformer 架构的完整发展脉络,剖析关键模型的创新本质,并为零基础读者规划一条清晰的学习路径,辅以极简代码示例揭示文本生成的底层原理,最终为全书十五章的深度探索奠定认知基础。
发展历程:从 n-gram 到 Transformer 的范式革命
语言模型的核心使命是估计一个词序列出现的概率 $P(w_1, w_2, ..., w_T)$。这一看似简单的概率问题,却驱动了 NLP 领域数十年的技术演进。演进路线可划分为三大范式:基于频率统计的传统语言模型、基于浅层神经网络的神经语言模型,以及基于深度注意力机制的现代大语言模型。每个范式都针对前代的瓶颈提出了革命性的解决方案。
统计语言模型:马尔可夫假设与数据稀疏困境
20 世纪 90 年代,统计语言模型成为主流。其核心是 n-gram 模型,它基于马尔可夫假设:一个词的出现仅依赖于其前 $n-1$ 个词。概率通过最大似然估计从语料库中计数得到: $$P(w_i | w_{i-n+1}^{i-1}) = \frac{\text{count}(w_{i-n+1}^{i-1}, w_i)}{\text{count}(w_{i-n+1}^{i-1})}$$ 其中 $w_{i-n+1}^{i-1}$ 表示前 $n-1$ 个词组成的上下文。例如,二元模型(bigram)$P(w_i|w_{i-1})$ 仅考虑前一个词。
n-gram 模型简单高效,在语音识别、机器翻译早期任务中取得实用进展。但其根本缺陷日益凸显: 1. 数据稀疏性:即使使用数十亿词的语料,多数 n-gram 组合从未出现,导致概率估计为零。为解决此问题,需引入平滑技术(如加一平滑、Kneser-Ney 平滑),将概率质量分配给未见的 n-gram,但这仅是权宜之计,无法真正捕捉语言的泛化能力。 2. 上下文窗口受限:n 值增大虽能扩展上下文,但会加剧数据稀疏,且无法建模长距离依赖(如代词与先行词的关系)。 3. 语义鸿沟:模型将词视为离散符号,无法表达“猫”与“猫咪”的语义相似性,导致无法利用语义信息进行泛化。
这些局限性预示着:语言模型必须从离散符号计数转向连续空间表示,从局部窗口转向全局上下文建模。
神经语言模型:词嵌入与序列建模的曙光
2003 年,Bengio 等人提出神经概率语言模型(Neural Probabilistic Language Model, NPLM),首次将神经网络引入语言建模,开启了神经语言模型时代。其核心思想是:将每个词映射为稠密向量(即词嵌入,word embedding),通过一个前馈网络或循环网络预测下一个词的概率。
NPLM 的结构包含四个组件: 1. 输入层:将上下文词 $w_{t-n+1}, ..., w_{t-1}$ 通过查找表(lookup table)转换为词向量 $\mathbf{e}(w_{t-n+1}), ..., \mathbf{e}(w_{t-1})$。 2. 拼接层:将 $n-1$ 个词向量拼接为长向量 $\mathbf{x} = [\mathbf{e}(w_{t-n+1}); ...; \mathbf{e}(w_{t-1})]$。 3. 隐藏层:通过非线性变换 $\mathbf{h} = \tanh(\mathbf{W}\mathbf{x} + \mathbf{b})$ 提取特征。 4. 输出层:计算所有词的条件概率 $P(w_t | \text{context}) = \frac{\exp(\mathbf{h}^T \mathbf{v}_{w_t})}{\sum_{w \in V} \exp(\mathbf{h}^T \mathbf{v}_w)}$,其中 $\mathbf{v}_w$ 是输出词向量,$V$ 为词汇表。
NPLM 的重大突破在于:词向量作为连续空间的分布式表示,成功将离散符号映射到几何空间,使得语义相似的词在向量空间中距离相近(如“国王” - “男人” + “女人” ≈ “女王”)。这解决了统计模型的语义鸿沟问题,并为后续发展奠定了基础。
然而,NPLM 仍面临序列建模的效率瓶颈。为处理变长序列,研究者转向循环神经网络(Recurrent Neural Network, RNN)。RNN 通过隐状态 $\mathbf{h}_t$ 递归传递历史信息: $$\mathbf{h}_t = f(\mathbf{W}_{xh} \mathbf{x}_t + \mathbf{W}_{hh} \mathbf{h}_{t-1} + \mathbf{b}_h)$$ 其中 $f$ 通常为 $\tanh$ 或 ReLU。理论上,RNN 可捕捉任意长度的依赖关系。但实践中,梯度消失/爆炸问题使其难以训练长序列。当序列长度增加时,反向传播中梯度会指数级衰减或增长,导致网络无法学习远距离依赖。
1997 年,Hochreiter 和 Schmidhuber 提出长短期记忆网络(Long Short-Term Memory, LSTM),通过精心设计的门控机制(输入门、遗忘门、输出门)和细胞状态(cell state)路径,有效缓解了梯度问题。LSTM 的细胞状态像一条“信息高速公路”,允许梯度无阻碍地流动,而门控则调节信息的写入、保留与读出。此后,门控循环单元(Gated Recurrent Unit, GRU)作为简化版 LSTM 也广泛应用。基于 LSTM 的语言模型在 Penn Treebank 等数据集上显著优于 n-gram 模型,成为 2010 年代 NLP 的基石。
尽管如此,RNN/LSTM 仍存在固有缺陷:
- **顺序计算瓶颈**:由于隐状态严格依赖前一时间步,训练无法并行化,序列长度越长,计算越慢,制约了模型规模与数据量的扩展。
- **长程依赖依然脆弱**:尽管 LSTM 改善了梯度流动,但实证研究表明,其有效记忆长度通常不超过 100 个词,对于文档级甚至段落级的长距离依赖仍力不从心。
- **双向上下文分离**:标准 LSTM 语言模型是单向的(从左到右),要获得双向上下文(如 BERT 所做的),需分别训练两个模型或进行复杂改造,效率低下。
这些瓶颈指向一个根本问题:序列模型是否必须顺序处理? 答案在 2017 年的一场革命中被彻底改写。
Transformer:注意力机制重构序列建模
2017 年,Vaswani 等人在论文《Attention Is All You Need》中提出 Transformer 架构,完全摒弃了循环与卷积,仅依赖自注意力机制(Self-Attention)构建模型。这一设计不仅解决了 RNN 的顺序计算瓶颈,更实现了对全局上下文的高效建模,成为当今所有大语言模型的共同基石。
自注意力:动态加权聚合全局信息
自注意力的核心思想是:序列中每个位置的表示,都应基于序列中所有位置的表示进行动态加权聚合。权重由查询(Query)与键(Key)的兼容性决定,值(Value)则携带实际信息。对于输入序列 $\mathbf{X} \in \mathbb{R}^{T \times d_{\text{model}}}$($T$ 为序列长度,$d_{\text{model}}$ 为模型维度),首先通过线性投影生成 Q、K、V: $$\mathbf{Q} = \mathbf{X}\mathbf{W}_Q,\quad \mathbf{K} = \mathbf{X}\mathbf{W}_K,\quad \mathbf{V} = \mathbf{X}\mathbf{W}_V$$ 其中 $\mathbf{W}_Q, \mathbf{W}_K \in \mathbb{R}^{d_{\text{model}} \times d_k}$,$\mathbf{W}_V \in \mathbb{R}^{d_{\text{model}} \times d_v}$。注意力权重通过缩放点积计算: $$\text{Attention}(\mathbf{Q},\mathbf{K},\mathbf{V}) = \text{softmax}\left(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_k}}\right)\mathbf{V}$$ 缩放因子 $\sqrt{d_k}$ 防止点积过大导致 softmax 进入梯度极小区域。softmax 确保权重归一化,使每个位置输出为值的凸组合。
几何解释:自注意力可视为在 $d_k$ 维空间中,每个查询向量 $\mathbf{q}_i$ 与所有键向量 $\mathbf{k}_j$ 计算余弦相似度(经缩放),据此加权聚合对应的值向量 $\mathbf{v}_j$。这使模型能直接建立任意两个位置的关联,无论距离多远。
多头注意力:捕获多样化的关系模式
单一注意力头可能局限于一种关系模式(如句法或局部语义)。Transformer 提出多头注意力(Multi-Head Attention),将 Q、K、V 投影到多个子空间,并行计算多个注意力头,最后拼接并投影: $$\text{MultiHead}(\mathbf{Q},\mathbf{K},\mathbf{V}) = \text{Concat}(\text{head}_1, ..., \text{head}_h)\mathbf{W}_O$$ 其中 $\text{head}_i = \text{Attention}(\mathbf{Q}\mathbf{W}_Q^i, \mathbf{K}\mathbf{W}_K^i, \mathbf{V}\mathbf{W}_V^i)$。多头机制允许模型同时关注不同子空间的信息,例如一个头关注主谓一致,另一个头关注修饰关系,极大增强了表示能力。
位置编码与残差连接:注入顺序与稳定训练
自注意力本身是排列不变的(permutation-invariant),无法利用序列顺序。Transformer 通过位置编码(Positional Encoding)向输入添加位置信息。原始论文使用正弦和余弦函数: $$PE_{(pos,2i)} = \sin(pos/10000^{2i/d_{\text{model}}}),\quad PE_{(pos,2i+1)} = \cos(pos/10000^{2i/d_{\text{model}}})$$ 这种设计允许模型学习相对位置关系,且能外推到比训练更长的序列。
此外,Transformer 层采用残差连接(Residual Connection)与层归一化(Layer Normalization): $$\mathbf{Z} = \text{LayerNorm}(\mathbf{X} + \text{Attention}(\mathbf{X}))$$ 残差连接缓解了深度网络的梯度消失问题,层归一化稳定了训练过程。这两者是训练超深模型(如 100+ 层)的关键。
编码器-解码器架构与并行计算优势
原始 Transformer 采用编码器-解码器架构,专为序列到序列(seq2seq)任务(如机器翻译)设计。编码器堆叠 $N$ 层,每层包含多头自注意力与前馈神经网络(FFN);解码器类似,但增加掩码自注意力(防止未来信息泄漏)及对编码器输出的交叉注意力。
Transformer 的革命性优势在于完全并行化:所有词元的注意力计算可同时进行,不再依赖前一时刻的隐状态。这使得训练速度比 RNN 快一个数量级以上,且能有效利用 GPU 的并行计算能力,为训练超大规模模型铺平了道路。
里程碑模型:GPT 与 BERT 的分野与演进
Transformer 架构催生了两种截然不同但 equally influential 的预训练范式:自回归语言模型(如 GPT 系列)与自编码语言模型(如 BERT)。它们分别代表了生成式与理解式 AI 的两大支柱。
GPT:自回归生成式预训练的典范
OpenAI 的 GPT(Generative Pre-trained Transformer)系列遵循“预训练 + 微调”范式,采用单向Transformer解码器作为 backbone。其预训练目标为标准语言建模:给定上文,预测下一个词。 $$\mathcal{L}_{\text{LM}} = \sum_{t=1}^{T} \log P(w_t | w_{<t})$$ 由于解码器使用掩码自注意力,每个位置只能看到左侧上下文,这使其天然适合文本生成任务。
- **GPT-1**(2018):首次证明,在大规模语料(BookCorpus)上预训练的单向 Transformer,只需简单微调即可在多种 NLP 任务上达到 SOTA。
- **GPT-2**(2019):放大模型规模(最大 15 亿参数)与数据量,展示**零样本学习**能力——无需任务特定数据,仅通过任务描述(prompt)即可生成相关文本。例如输入“翻译英语为法语:hello world”,模型输出“bonjour world”。这标志着 LLM 开始展现通用性。
- **GPT-3**(2020):规模跃升至 1750 亿参数,训练数据达 5700 亿词元。其核心发现是**规模定律**(Scaling Laws):模型性能随参数、数据、计算量幂律增长。GPT-3 展现出强大的**上下文学习**(in-context learning)能力:通过在提示中提供 few-shot 示例,模型能即时适应新任务而无需梯度更新。这大幅降低了使用门槛,推动了提示工程(Prompt Engineering)的兴起。
- **ChatGPT**(2022):基于 GPT-3.5 系列,通过**指令微调**(Instruction Tuning)与**基于人类反馈的强化学习**(RLHF)对齐人类偏好,使模型更安全、有用、无害。其对话能力引爆全球,将 LLM 带入消费级应用时代。
GPT 路径的核心优势在于生成一致性与长文本连贯性,使其成为内容创作、代码生成、对话系统的首选。但其单向上下文也限制了在需要双向语境的任务(如句子填空、情感分析)中的表现。
BERT:双向上下文理解的开端
Google 的 BERT(Bidirectional Encoder Representations from Transformers)采用双向Transformer编码器,其预训练目标为: 1. 掩码语言建模(Masked Language Modeling, MLM):随机掩盖输入中 15% 的词元,预测被掩盖的词。这迫使模型融合左右两侧上下文进行预测。 2. 下一句预测(Next Sentence Prediction, NSP):判断两个句子是否连续,以学习句子间关系。
BERT 的双向性使其在理解类任务上表现卓越,如问答(SQuAD)、文本分类(GLUE 基准)。其“预训练 + 微调”范式成为行业标准:用户下载预训练权重,在特定任务数据上添加一个简单输出层,进行全模型微调。BERT 及其变体(RoBERTa、ALBERT、DeBERTa)长期主导 NLP 基准榜,直到生成式模型在指令微调后迎头赶上。
T5 与统一文本到文本范式
Google 的 T5(Text-to-Text Transfer Transformer)提出将所有 NLP 任务统一为“文本到文本”格式:输入为任务描述加文本(如“翻译英语到法语:hello”),输出为目标文本。预训练目标包括 MLM 与-span 损坏(随机掩盖连续文本片段并预测)。T5 证明了架构统一性对多任务学习的价值,并系统探索了规模、数据、任务设计的影响。
核心价值:LLM 如何重塑 NLP 范式
LLM 的崛起不仅是技术迭代,更是研究范式与应用范式的双重革命。
1. 从“任务特定模型”到“基础模型”
传统 NLP pipeline 为每个任务(如命名实体识别、情感分析)设计专属架构、特征工程与训练数据。LLM 采用基础模型(Foundation Model)思路:在大规模无标注数据上预训练一个通用模型,再通过少量标注数据或提示适应下游任务。这大幅降低了开发成本,提升了模型泛化能力。一个 GPT 模型可同时用于写作、编程、数学推理,而传统方法需数十个独立系统。
2. 从“监督学习”到“自监督学习”与“提示学习”
预训练阶段完全依赖自监督信号(如预测下一个词),无需人工标注,可利用互联网上的海量公开文本。下游适应阶段,提示学习(Prompt-based Learning)成为新范式:不再修改模型权重,而是设计输入提示(prompt)引导模型输出。例如,情感分析任务可输入“这部电影很:”,模型续写“精彩”即为正面。这甚至催生了零样本(zero-shot)、少样本(few-shot)学习,使模型能处理未见过的任务。
3. 涌现能力:规模带来的质变
当模型参数超过某一阈值(约数十亿),LLM 会涌现(emerge)出小模型不具备的能力,如上下文学习、指令遵循、思维链推理(Chain-of-Thought)。这些能力无法通过训练目标直接预测,而是规模扩大后系统行为的突变。这挑战了传统的“更多数据与参数仅带来渐进改进”的认知,表明大模型可能形成了内部的“世界模型”与推理机制。
4. 人机交互界面重构
LLM 将交互界面从图形用户界面(GUI)推向自然语言界面(LUI)。用户无需学习复杂操作,直接用自然语言表达需求,模型理解并执行。这极大降低了技术使用门槛,使 AI 成为普惠工具。同时,模型作为“知识引擎”与“创意协作者”,正在改变教育、研发、内容创作等行业的工作流。
5. 研究焦点的转移
NLP 研究重心从“设计更好的任务特定架构”转向:
- **缩放定律**(Scaling Law