1. 语言模型的两大范式:自回归与非自回归
在自然语言处理领域,语言模型(Language Model, LM)的核心任务是预测文本序列的概率分布。根据生成方式的不同,主流模型可分为自回归(Autoregressive)和非自回归(Non-autoregressive)两大类。这两种范式在架构设计、训练目标和应用场景上存在本质差异。
自回归模型如GPT系列,采用从左到右的逐词生成策略。在预测第t个词时,模型只能看到前t-1个已生成的词,这种单向依赖使其天然适合文本生成任务。其数学表示为:
$$
P(x_{1:T}) = \prod_{t=1}^T P(x_t|x_{<t})
$$
而非自回归模型如BERT,则打破了序列依赖的限制。它通过双向注意力机制同时处理整个输入序列,所有位置的预测可以并行完成。这种特性使其在需要全局上下文理解的任务(如文本分类、实体识别)中表现突出。其概率分解形式为:
$$
P(x_{1:T}) = \prod_{t=1}^T P(x_t|x_{\backslash t})
$$
关键区别:自回归模型的预测是序列化的条件概率,而非自回归模型是并行化的联合概率估计。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. GPT的自回归机制解析
2.1 Transformer解码器架构
GPT系列模型基于Transformer的解码器堆叠,其核心组件包括:
- 掩码自注意力层:限制每个位置只能关注前面的词,保持自回归特性
- 位置前馈网络:对每个位置独立进行非线性变换
- 残差连接与层归一化:缓解深层网络梯度消失问题
以GPT-3为例,其工作流程如下:
- 输入前缀序列通过词嵌入层转换为向量表示
- 经过48层解码器块的逐层处理
- 最终输出分布通过softmax计算得到下一个词的概率
python复制# 简化的自回归生成伪代码
def generate(input_ids, max_length):
for _ in range(max_length):
logits = model(input_ids) # 前向计算
next_token = sample(logits[-1]) # 采样策略
input_ids = concat(input_ids,
