M33:W5 一页小结:从数据与目标到曲线和行为
预训练诊断是一条因果链:数据决定可见经验,目标定义学习信号,优化器改变参数,曲线记录过程,最终行为则需要独立任务证据来判断。
内容类型:预习教材(不代表已完成)
日期:2026-09-25
阶段:P1 · AI Model Engineering 90
周次:W5 · 小语言模型预训练、数据与 scaling
节奏:周五一页小结
状态:教材已备;学习未完成
标签:pretraining、data、objective、optimization、diagnosis
一句话定义
预训练诊断是一条因果链:数据决定可见经验,目标定义学习信号,优化器改变参数,曲线记录过程,最终行为则需要独立任务证据来判断。
学习目标
- 串联 W5 的 data→objective→optimization→curve→behavior 五层关系。
- 能初步区分欠拟合、过拟合、优化故障与数据问题。
- 形成一页可复用的训练排查顺序,而不是背诵单个技巧。
核心知识
数据层包括来源、许可、清洗、去重、切分、领域配比与 token 数。模型不直接接触“知识”,只接触 tokenizer 转换后的训练序列。数据中不存在或被错误切分的模式,不能靠调学习率补回。
目标层的 next-token cross-entropy 奖励预测训练分布中的下一个 token。它并不直接奖励真实性、合规性或有用性,因此低 loss 与这些业务性质之间没有必然等号。
优化层决定有限预算下能否找到更低训练损失,包括初始化、batch、学习率、调度、梯度裁剪与数值精度。优化失败会让本可学习的模式没有进入参数。
曲线层是间接证据。训练与验证同时高且下降缓慢,可能欠拟合、学习率过小或任务本身噪声大;训练低而验证恶化,可能过拟合、泄漏后的分布偏差或验证集不匹配;突发尖峰可能来自异常 batch、学习率、数值溢出或数据管线。
行为层必须通过独立样例或任务指标观察。困惑度改善可能只意味着语言流畅性提高,不能自动推出长程推理、事实正确或领域决策更好。
机制/推导
可以把一次训练写成:
raw data → filter/dedup/mix → tokens → batches → objective → gradients → optimizer updates → checkpoints → evaluations
每条箭头都可能引入错误。排查宜从最便宜且最基础的边界开始:样例与标签 → shape/mask/shift → 单 batch 过拟合 → 梯度与更新 → 小规模 train/validation → 资源效率 → 行为评估。越过前层直接调大模型,会扩大成本而不一定增加信息。
最小练习或观察步骤
- 在一页纸中央画出五层因果链,并为每层写两个可观测量。
- 从下列四种现象中任选两个:loss 不降、loss 震荡、train 降而 validation 升、loss 降但样例表现不变。
- 对每个现象至少列出一个数据原因、一个优化原因和一个评估原因。
- 标记哪一步可以用单 batch、固定验证集或单变量实验缩小范围。
- 最后写出 W5 仍不确定的三个问题,放入复习清单;不要求当日解决。
常见误区
- 认为 loss 是模型价值的完整代理。
- 看到验证改善就忽略切分泄漏与模板重复。
- 将欠拟合简单等同于“模型太小”,忽略训练预算和数据噪声。
- 把 scaling law 当作个人 tiny LM 的精确预测公式。
- 只报告最好 checkpoint,不报告选择规则与训练成本。
金融 / Web3 / 文档场景连接
金融和链上文本的时间变化明显:新监管条文、攻击手法和合约版本会改变分布。随机切分可能把未来模板泄漏到训练。训练小结应明确“模型在哪个时间截面学到什么”,并把时序外验证与普通验证分开。
自检问题
- 为什么低 next-token loss 不等于事实正确?
- 欠拟合至少可能来自哪三层?
- 训练曲线能直接证明哪些事,不能证明哪些事?
- 你的最小排查顺序是什么?
专业课程对齐
- 精读 Stanford CS336 中 tokenizer、data processing、Transformer、training 与 scaling 的课程主线,用它校准本日 data→objective→optimization→curve→behavior 五层因果链。
- 精读 Hugging Face LLM Course 的 tokenizer、datasets 和 causal LM fine-tuning 相关章节,对照高层工具隐藏的数据拼接、mask 与 label shift。
- 选读 Stanford CS224N 的语言模型与 Transformer 讲次,作为概念表达的第二视角。
深入学习提示
顺序以 CS336 为骨架,HF 用来追踪代码路径,CS224N 只做概念复述。从一个 batch 反向追踪:原文如何变成 token id,label 如何错位,logits 如何进入 cross-entropy,梯度如何更新参数。公式层要连起 NLL、PPL 和 token budget;资源层要说明参数、激活、优化器状态的占用。反例是用一条下降曲线跳过数据泄漏、目标错位和行为评估,直接得出“模型已学会”。
**研读产出:**用一页图固定五层的接口证据:data 层放数据卡、重复率与切分规则;objective 层放 label shift、mask 与交叉熵;optimization 层放学习率、梯度和已见 token;curve 层分开 train/validation、吞吐与内存;behavior 层使用独立探针。在每层旁写一个可能伪装成下一层改善的故障,如重复文档让验证损失虚低。最后将一个训练现象用“事实—解释—替代解释—下一个最小检查”四栏重写,以阻止总结变成概念清单。
学后填写区
- 本周最稳固的联系:
- 最容易混淆的两层:
- 我的训练排查顺序:
- 需要回访的材料:
- 暂不解决的问题: