大模型修炼秘籍 第七章:预测未来——Next Token Prediction
第七章:预测未来——Next Token Prediction
预测未来语言通,因果掩码单向行。

【本章导读】
语言模型的核心能力,在于预测未来。给定前面的文字,预测下一个字。这看似简单的任务,却蕴含着语言理解、知识推理的深刻能力。
一、语言模型的核心任务
【Next Token Prediction】
输入: "大模型修炼"
目标: 预测下一个token
模型输出概率分布:
"秘籍": 0.35
"之道": 0.25
"需要": 0.15
"的": 0.10
...
【为什么有效?】
预测下一个词需要模型理解:
- 语法规则:什么词可以接在后面
- 语义连贯:什么词使句子有意义
- 世界知识:什么词符合事实
- 推理能力:什么词符合逻辑
二、因果语言模型
【因果语言模型心法】
因果语言模型(Causal Language Model, CLM)是最常用的预训练方式。每个位置只能看到之前的词,不能看到之后的词。
【因果掩码】
位置: 0 1 2 3
┌───┬───┬───┬───┐
0 │ 1 │ 0 │ 0 │ 0 │ 第0个位置只能看自己
├───┼───┼───┼───┤
1 │ 1 │ 1 │ 0 │ 0 │ 第1个位置可以看0和1
├───┼───┼───┼───┤
2 │ 1 │ 1 │ 1 │ 0 │ 第2个位置可以看0、1、2
├───┼───┼───┼───┤
3 │ 1 │ 1 │ 1 │ 1 │ 第3个位置可以看所有
└───┴───┴───┴───┘
1 = 可以看到, 0 = 不能看到
【训练过程】
输入序列: [BOS] 大 模 型 修 炼 秘 籍 [EOS]
↓ ↓ ↓ ↓ ↓ ↓
预测目标: 大 模 型 修 炼 秘 籍 [EOS]
每个位置预测下一个token
【代表模型】
GPT系列、LLaMA、DeepSeek等主流大模型都采用因果语言模型。
三、掩码语言模型
【掩码语言模型心法】
掩码语言模型(Masked Language Model, MLM)随机遮盖部分词,让模型预测被遮盖的词。BERT采用此方法。
【掩码策略】
原始: 大模型修炼秘籍
↓
掩码: 大模型anked秘籍
↓
预测: anked → 修炼
【BERT的掩码策略】
| 操作 | 比例 | 示例 |
|---|---|---|
| 替换为anked | 80% | “修炼” → “anked” |
| 替换为随机词 | 10% | “修炼” → “学习” |
| 保持不变 | 10% | “修炼” → “修炼” |
【CLM vs MLM】
| 特性 | CLM | MLM |
|---|---|---|
| 方向 | 单向(左到右) | 双向 |
| 任务 | 预测下一个词 | 预测被遮盖的词 |
| 适用 | 生成任务 | 理解任务 |
| 代表模型 | GPT、LLaMA | BERT |
大语言模型普遍采用CLM,因为生成能力更重要。
四、困惑度详解
【困惑度心法】
困惑度(Perplexity)是衡量语言模型质量的核心指标。困惑度越低,模型越好。
【计算公式】
PPL=exp(−1T∑t=1TlogP(xt∣x<t))\text{PPL} = \exp\left(-\frac{1}{T}\sum_{t=1}^{T} \log P(x_t | x_{<t})\right)PPL=exp(−T1t=1∑TlogP(xt∣x<t))
【直观理解】
困惑度表示模型在每个位置平均有多少个"候选词":
- PPL = 100:模型在100个词中猜测
- PPL = 10:模型在10个词中猜测
- PPL = 1:模型完全确定
【典型困惑度】
| 模型 | 困惑度(WikiText-2) |
|---|---|
| GPT-2 Small | 29.4 |
| GPT-2 Medium | 22.8 |
| GPT-3 | ~15 |
| LLaMA-7B | 5.7 |
| LLaMA-65B | 3.3 |
【困惑度的局限】
- 数据依赖:不同数据集困惑度不可比
- 任务无关:低困惑度不一定代表任务性能好
- 领域敏感:领域外数据困惑度会升高
五、训练技巧
【数据打包】
将多个文档拼接成一个固定长度的序列:
文档1: [BOS] 文档1内容 [EOS]
文档2: [BOS] 文档2内容 [EOS]
文档3: [BOS] 文档3内容 [EOS]
↓ 打包
序列: [BOS] 文档1内容 [EOS] [BOS] 文档2内容 [EOS] [BOS] 文档3内容 [EOS]
【注意力掩码】
跨文档的注意力需要被屏蔽:
文档1 文档2 文档3
┌────┬────┬────┐
│ 1 │ 0 │ 0 │ 文档1只能看自己
├────┼────┼────┤
│ 0 │ 1 │ 0 │ 文档2只能看自己
├────┼────┼────┤
│ 0 │ 0 │ 1 │ 文档3只能看自己
└────┴────┴────┘
【长序列处理】
现代大模型支持超长上下文:
| 模型 | 上下文长度 |
|---|---|
| GPT-3 | 2048 |
| GPT-4 | 128K |
| Claude | 200K |
| DeepSeek | 128K |
长序列技术:
- RoPE扩展:位置编码外推
- ALiBi:相对位置编码
- FlashAttention:高效注意力计算
六、预训练的成果
【预训练后模型的能力】
预训练完成后,模型具备了:
| 能力 | 描述 |
|---|---|
| 语言建模 | 预测下一个词 |
| 知识存储 | 记住训练数据中的知识 |
| 零样本学习 | 无需示例完成任务 |
| 少样本学习 | 从少量示例中学习 |
| 涌现能力 | 思维链、推理等 |
【预训练模型的局限】
预训练模型还不能:
- 很好地遵循指令
- 进行多轮对话
- 避免有害输出
- 执行特定任务
这些能力需要在后训练阶段学习。
七、本章心法总结
【口诀】
预测未来语言通,因果掩码单向行。
困惑度量功力深,预训练后根基成。
【要点回顾】
| 要点 | 说明 |
|---|---|
| Next Token Prediction | 语言模型的核心任务 |
| 因果语言模型 | 单向预测,适合生成 |
| 掩码语言模型 | 双向理解,适合NLU |
| 困惑度 | 衡量模型质量的核心指标 |
第二卷总结
第二卷"内功筑基篇"到此结束。我们学习了:
- Transformer架构:注意力机制、多头注意力、位置编码
- 规模法则:参数、数据、计算的平衡
- 预训练实战:分布式训练、混合精度、学习率调度
- Next Token Prediction:语言模型的核心任务
预训练完成后,模型已具备强大的基础能力,但还需要后训练来学会遵循指令、进行对话。
【下一卷预告】
第三卷"招式淬炼篇",我们将学习**监督微调(SFT)**之道,让模型学会理解人类指令、进行多轮对话、完成特定任务。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)