# 5.1 自回归语言模型：从左到右的世界观

自回归语言模型（Autoregressive Language Model）是当前大语言模型最主流的预训练范式。GPT 系列、Llama、DeepSeek 等模型都基于这一范式。

## 5.1.1 核心思想：预测下一个词元

自回归语言模型的训练目标极其简洁：**给定前面的所有词元，预测下一个词元。** 数学上，给定一个词元序列 $$x\_1, x\_2, \dots, x\_n$$，模型最大化以下条件概率的乘积（等价于最小化负对数似然）：

$$\mathcal{L} = -\sum\_{t=1}^{n} \log P(x\_t | x\_1, x\_2, \dots, x\_{t-1})$$

这就是**语言建模目标**——让模型通过学习文本中词汇的共现模式，逐渐掌握语言的统计规律。

## 5.1.2 为什么“预测下一个词元”能学到知识

这个简单目标的深刻之处在于：**要准确预测下一个词元，模型必须深入理解文本的含义。**

考虑以下例子：

* “法国的首都是\_\_\_\_”→ 预测“巴黎”需要**世界知识**
* “他高兴极了，脸上露出了\_\_\_\_”→ 预测“笑容”需要**常识推理**
* “如果 x > 5 且 x < 10，那么 x 的范围是\_\_\_\_”→ 预测正确答案需要**逻辑推理**
* “The cat sat on the\_\_\_\_”→ 预测“mat”需要**语法和搭配知识**

要在所有这些场景中都做出正确预测，模型**事实上需要学习语法规则、语义关系、常识知识、逻辑推理甚至专业领域知识**。预测下一个词元不是目的，而是**迫使模型学习语言背后结构的手段**。

从信息论的角度看，一个完美的语言模型需要完全理解生成文本的底层分布——包括语言的所有层面。因此，语言建模可以被视为一种**通用的无监督学习信号**，它隐式地涵盖了几乎所有的 NLP 能力。

## 5.1.3 自回归模型的架构选择

自回归语言模型使用 Transformer **解码器**（带因果掩码的自注意力），正如 [2.4 节](/llm_internals/di-yi-bu-fen-ji-chu-pian/02_attention/2.4_self_cross_causal.md)中讨论的那样。因果掩码确保在预测第 $$t$$ 个词元时只能看到前 $$t-1$$ 个词元，与推理时的逐步生成过程一致。

这种架构选择使得训练和推理在数学上完全一致——训练时可以并行计算所有位置的损失（因为因果掩码在矩阵运算中自然实现），推理时则逐步生成。这种一致性是自回归模型的一大优势。

## 5.1.4 自回归的局限与折中

自回归模型的主要局限是**单向性**——它只能从左到右（或从右到左）看文本，无法同时利用上下文两个方向的信息。在理解型任务（如情感分类、关系抽取）中，后面的上下文同样重要：

* “这部电影的特效很好，但剧情\_\_\_\_”→ 如果不知道后文说的是“太差了”还是“也不错”，就无法判断整体情感

正是这一局限促使了 BERT 等双向预训练模型的出现（见下一节）。

然而，随着模型规模的增大，自回归模型通过**涌现能力**（Emergent Abilities）展现出了出色的上下文理解能力——即便是单向模型，在足够的参数和数据下也能在理解型任务上取得优异表现。这一现象说明，模型规模可以部分补偿架构设计的局限性。这也是为什么 GPT-3 之后，仅解码器架构逐渐成为主流。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/llm_internals/di-er-bu-fen-xun-lian-pian/05_pretraining/5.1_autoregressive.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
