跳到主要内容

自回归语言模型

自回归语言模型(Autoregressive Language Model)是当前主流大语言模型(GPT、Claude、LLaMA 等)的核心范式。理解自回归原理,是深入掌握 LLM 工作机制的第一步。

自回归的定义:Next-Token Prediction

自回归语言模型的训练目标极其简单:给定前面所有的 Token,预测下一个 Token

形式化表达为:给定一个 Token 序列 $x_1, x_2, \ldots, x_T$,模型学习条件概率:

P(x_t | x_1, x_2, ..., x_{t-1})

整个序列的联合概率通过链式法则(Chain Rule)分解:

P(x_1, x_2, ..., x_T) = P(x_1) × P(x_2|x_1) × P(x_3|x_1,x_2) × ... × P(x_T|x_1,...,x_{T-1})

这种分解方式的核心优势在于:它将一个高维联合分布的建模问题,转化为一系列条件概率的建模问题,而每个条件概率都可以由神经网络直接参数化。

训练时,模型接收完整序列,在每个位置预测下一个 Token,并用交叉熵损失(Cross-Entropy Loss)衡量预测与真实 Token 之间的差距:

L = -Σ log P(x_t | x_1, ..., x_{t-1})

条件概率链式分解的直觉理解

链式分解不仅是数学技巧,更有直觉上的意义:

  • 语言是时序依赖的——每个词的选择都受到前文语境的约束
  • 模型通过学习海量文本,内化了语言的统计规律、语法结构、世界知识
  • 在足够大的规模下,"预测下一个 Token"这一任务隐式要求模型理解语义、推理逻辑、掌握事实

与 BERT 的对比:CLM vs MLM

语言模型主要分为两类训练目标:

维度因果语言模型(CLM)掩码语言模型(MLM)
代表模型GPT 系列、LLaMA、ClaudeBERT、RoBERTa、ALBERT
训练目标预测下一个 Token预测被遮盖的 Token
注意力方向单向(只看左侧上下文)双向(同时看左右上下文)
适合任务文本生成、对话、代码文本分类、NER、语义匹配
推理方式逐 Token 自回归生成一次性编码,无法直接生成

BERT 的掩码语言模型(MLM)训练:随机遮盖 15% 的 Token,要求模型利用双向上下文还原被遮盖的词。这使 BERT 在理解任务上表现优秀,但无法直接用于生成——生成时无法并行预测所有位置,且无法利用双向信息。

GPT 类的因果语言模型(CLM)使用单向注意力(Causal Mask,下三角矩阵),每个位置只能"看到"自身及左侧的 Token,天然支持自回归生成。

Teacher Forcing 训练技巧

在训练阶段,如果让模型用自己的预测结果作为下一步的输入,早期训练中的错误会不断累积,导致训练极不稳定。Teacher Forcing 解决了这一问题:

  • 做法:训练时始终将真实标签(Ground Truth Token)作为下一步输入,而非模型的预测结果
  • 效果:消除错误传播,显著加速收敛,使训练更加稳定
  • 代价:训练与推理时的输入分布存在差异(Exposure Bias)——训练时看真实 Token,推理时看自己生成的 Token

Scheduled Sampling 等方法尝试缓解 Exposure Bias,但在 LLM 规模下,Teacher Forcing 仍是主流选择。

推理时的自回归生成策略

推理阶段,模型需要逐步生成 Token 序列。有多种解码策略(Decoding Strategy)可供选择:

每步选择概率最高的 Token:

x_t = argmax P(x | x_1, ..., x_{t-1})
  • 优点:速度快,确定性输出
  • 缺点:容易陷入局部最优,生成内容重复、缺乏多样性

维护 K 条候选序列(Beam Width=K),每步扩展并保留总概率最高的 K 条:

  • 优点:比贪心搜索找到更高概率的序列
  • 缺点:仍然倾向于生成通用、保守的文本;K 越大计算开销越大
  • 适用:机器翻译等需要确定性高质量输出的场景

随机采样(Sampling)

按概率分布随机采样 Token,引入随机性:

x_t ~ P(x | x_1, ..., x_{t-1})

温度(Temperature)调节

Temperature 参数 $\tau$ 控制概率分布的"尖锐程度",通过在 Softmax 前对 Logits 缩放实现:

P(x_i) = exp(z_i / τ) / Σ exp(z_j / τ)
  • $\tau < 1$(如 0.3):分布更尖锐,高概率 Token 被放大,输出更确定、更保守
  • $\tau = 1$:原始分布
  • $\tau > 1$(如 1.5):分布更平滑,增加随机性,输出更有创意但可能更不连贯

Top-k 采样

每步只从概率最高的 K 个 Token 中采样,截断长尾分布:

  • 固定候选集大小为 K,防止低概率 Token 被选中
  • 问题:K 固定无法适应不同步骤分布形状的变化(有时高概率 Token 很集中,有时很分散)

Top-p(Nucleus)采样

选取累积概率恰好超过阈值 p 的最小 Token 集合,再从中采样:

  • 当分布集中时,候选集小;当分布平坦时,候选集大
  • 自适应地控制候选范围,通常比 Top-k 生成更自然
  • 典型取值:p = 0.9 或 0.95

实际应用中的参数组合

生产环境通常组合使用多个参数:

Temperature=0.7, Top-p=0.9, Top-k=50

创意写作场景可适当提高 Temperature,代码生成等精确任务则使用较低 Temperature(甚至贪心解码)。