第七章:预测未来——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=1Tlog⁡P(xt∣x<t))\text{PPL} = \exp\left(-\frac{1}{T}\sum_{t=1}^{T} \log P(x_t | x_{<t})\right)PPL=exp(T1t=1TlogP(xtx<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. 数据依赖:不同数据集困惑度不可比
  2. 任务无关:低困惑度不一定代表任务性能好
  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
困惑度 衡量模型质量的核心指标

第二卷总结

第二卷"内功筑基篇"到此结束。我们学习了:

  1. Transformer架构:注意力机制、多头注意力、位置编码
  2. 规模法则:参数、数据、计算的平衡
  3. 预训练实战:分布式训练、混合精度、学习率调度
  4. Next Token Prediction:语言模型的核心任务

预训练完成后,模型已具备强大的基础能力,但还需要后训练来学会遵循指令、进行对话。

【下一卷预告】

第三卷"招式淬炼篇",我们将学习**监督微调(SFT)**之道,让模型学会理解人类指令、进行多轮对话、完成特定任务。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐