返回 M01~M90 教材库
M29 · 预习教材教材已备 ≠ 学习已完成

M29:语言模型目标、数据预算与 Scaling

语言模型预训练用历史 token 预测下一个 token,通过交叉熵在给定模型、数据和计算预算下学习语料分布的可压缩规律。

2026-09-21Next-token、Cross-entropy、Perplexity、TokenBudget、DataMix、Scaling

内容类型:预习教材(不代表已完成)
日期:2026-09-21
阶段:P1 · AI Model Engineering 90
周次:W5 · 小语言模型预训练、数据与 scaling
节奏:周一概念与阅读
状态:教材已备;学习未完成
标签:Next-token、Cross-entropy、Perplexity、Token Budget、Data Mix、Scaling

一句话定义

语言模型预训练用历史 token 预测下一个 token,通过交叉熵在给定模型、数据和计算预算下学习语料分布的可压缩规律。

学习目标

  1. 写出 next-token objective 的输入与标签错位关系。
  2. 理解 cross-entropy、平均负对数似然与 perplexity。
  3. 区分 token budget、参数规模、训练计算与 data mix。
  4. 能预测欠拟合、过拟合与数据混合变化的曲线特征。

核心知识

给定 token 序列 x₁…x_T,自回归模型分解联合概率为 ∏ₜP(xₜ|x_<t)。训练时输入通常是前 T-1 个 token,标签是后移一位的 x₂…x_T;causal mask 保证每个位置只能看历史。总损失对有效 token 的负对数概率取平均,padding 和不需学习的前缀应通过 mask 排除。

cross-entropy 衡量模型分布对真实 token 的平均惊讶度。若平均 loss 为 L(自然对数),perplexity = exp(L),可直观理解为等效候选数,但只在 tokenizer、数据和处理一致时可比较。不同词表会改变 token 粒度,perplexity 不能无条件跨模型横比。

token budget 是训练实际看到的有效 token 数,包括重复;数据量是去重或原始语料规模,两者不同。data mix 决定不同领域、语言、代码、质量层级的采样比例。重复高质量数据可能强化模式,也可能导致记忆与过拟合;低质量大数据可能降低训练 loss,却损害目标行为。

scaling laws 描述在一定范围内,模型、数据和计算增加与 loss 改善的经验幂律关系。它们用于预算分配和趋势预测,不是保证任意架构、任意数据都遵循同一常数。计算固定时,模型过大但数据不足,或数据很多但模型容量太小,都可能不是有效配置。

机制与推导

对单位置真实 token y,logits z 经 softmax 得 p。交叉熵 L=-log p_y,对每个 logit 的梯度为 p_j-1[j=y]。这与 W2 的 p-y 结构一致:模型给错误 token 的概率越高,梯度越推动它下降;真实 token 概率越低,向上修正越大。

训练曲线可先做方向预测:训练与验证 loss 都高且缓慢下降可能欠拟合或学习率过小;训练继续降、验证反升可能过拟合或分布不匹配;两者突然爆炸可能学习率、数值或数据异常;曲线台阶可能来自学习率 schedule、数据阶段切换或记录方式。

最小练习

  1. 对短句 token [BOS, A, B, EOS] 写出每个位置的输入和标签。
  2. 假设三类词概率,手算一个 token 的负对数损失和 perplexity。
  3. 画三组空曲线:欠拟合、过拟合、突然发散,并写待验证原因。
  4. 设计一个小 data mix 表,注明来源、许可、比例与目的。
  5. 画 objective → gradient → learned behavior,同时标出代理目标边界。

常见误区

  • perplexity 低就等于事实正确、推理强或对话安全。
  • 跨 tokenizer 直接比较 perplexity。
  • token budget 等同于独立数据量,忽略重复。
  • scaling law 被当作无限扩展的物理定律。
  • 数据 mix 只看数量,不看许可、质量、语言和领域覆盖。

金融、Web3 与文档场景连接

若 tiny LM 主要训练通用文本,却希望生成金融监管语言,data mix 会决定术语与格式覆盖。但 next-token objective 只学习语言规律,不自动保证法规时效、金额正确或权限合规,这些需要数据治理和后续系统机制。

自检问题

  1. Next-token 的输入与标签如何错位?
  2. Perplexity 为什么不能跨 tokenizer 随意比较?
  3. Token budget 与唯一语料规模有何区别?
  4. 训练降而验证升可能有哪些解释?

专业课程对齐

  • Stanford CS336:对应语言模型目标、数据、训练计算与 scaling,是本日主教材;重点看 token budget、参数规模和算力预算如何共同约束训练。
  • Stanford CS224N:对应语言建模与 Transformer,补齐 next-token prediction 和序列概率分解。
  • Hugging Face LLM Course:对应 causal language modeling pipeline,帮助把 shifted labels、tokenization 和 loss 映射到实现。

深入学习提示

先精读 CS224N 的自回归分解 P(x)=∏_t P(x_t|x_<t),再看 CS336 的数据/计算/scaling 视角,最后用 Hugging Face Course 对照 causal LM 输入标签。公式上连接平均负对数似然、cross-entropy 与 perplexity=exp(NLL),并确认 padding 或无效 token 不进入平均。代码观察 inputs 与 targets 相差一个位置、context 边界如何采样、token budget 如何由 batch×sequence×steps 得到。反例包括用不同 tokenizer 的 perplexity 直接横比、训练/验证数据重复造成虚假泛化、参数增大但数据预算固定、data mix 改变后只看总 loss 掩盖子域退化。阅读结果应形成预算变量图,不需要记忆单一 scaling 结论。

学后填写区

  • 短序列输入/标签:____
  • 手算 cross-entropy:____
  • 三类曲线预测:____
  • data mix 草图:____
  • 实际学习日期与用时:____
学完后,请把自己的理解、练习结果和仍不确定的问题写入文末“学后填写区”,再到唯一进度账本更新状态。预先阅读后续教材不会自动增加完成数。