G09:微型序列模型与可测训练循环
微型 scaling 实验不是缩小版 frontier 竞赛,而是在完全可控的序列任务上,把数据生成、模型容量、训练预算、连续损失和离散任务指标连接成可观察因果链。
内容类型:预习教材(不代表已完成)
日期:2027-03-02
阶段:P3 · AGI Foundations 90
总路线:Day 189 / 360
周次 / 节奏:W2 · 周二最小机制
状态:教材已备;学习未完成
主题:token loss、partial credit、exact match、compute ledger 与小模型
一句话定义
微型 scaling 实验不是缩小版 frontier 竞赛,而是在完全可控的序列任务上,把数据生成、模型容量、训练预算、连续损失和离散任务指标连接成可观察因果链。
学习目标
- 能设计一个 CPU/MPS 可运行的微型序列任务与模型,不依赖大规模语料。
- 能解释 token-level cross-entropy、sequence exact match 与 partial credit 的关系。
- 能记录参数量、训练 token、优化步数与粗略 compute,不用运行时间替代所有成本。
- 能提前定义停止条件和失败记录,避免只保留看起来成功的预算点。
核心知识
可选任务包括序列复制、反转、模加法、括号深度或有限状态转换。任务应有确定性生成器和 verifier,并能调节长度或组合深度。模型可以是 embedding、一个小型 GRU 或一两层 Transformer、线性输出头。模型选择不是重点;重点是同一实现能按配置改变宽度、深度和训练 token。
交叉熵对每个目标 token 的概率连续敏感。若正确 token 概率从 0.2 提升到 0.4,loss 会改善,即使 argmax 仍错误。Exact match 要求整条序列全部正确,因此对长度极敏感:若各 token 独立正确率为 p,长度 T 的序列全对概率近似 p^T。这会让平滑 token 改善表现为序列准确率的陡升或长期为零。
Partial credit 可用 token accuracy、编辑距离归一化、规则步骤正确率或最终数值误差。选择必须与任务构念一致:无序集合不应按字符串位置罚分;程序输出可以先 canonicalize。至少同时保留一个连续训练指标与一个任务指标。
机制与推导
对序列 y_1:T,teacher-forced loss 为:
[ \mathcal{L}=-\frac{1}{T}\sum_{t=1}^{T}\log p_\theta(y_t\mid y_{<t},x) ]
它测的是给定正确前缀时的下一 token 预测。自由生成时,早期错误会改变后续条件,出现 exposure mismatch。因此 loss 下降不保证 exact match 等比例改善,但两者也不是完全无关。
粗略训练计算可记为 C_est = steps × batch_tokens × f(params);Transformer 常用与参数量近似线性的估算,但本地实验无需声称精确 FLOPs。更重要的是所有配置使用同一估算和数据记账。参数预算包含 embedding 与输出层,不能只数核心 block。
训练循环应生成配置对象:seed/model_size/train_tokens/batch/optimizer/lr/eval_split;每个预算点从独立初始化开始,定期在固定验证集上记录 loss 和指标。若提前停止,记录触发条件。若发生数值爆炸或超时,失败点仍属于曲线,不能静默删除。
最小练习或观察步骤
- 选择长度 4~12 的序列反转或模加法,写出生成器、输入编码、输出和 deterministic verifier。
- 画出最小模型的数据形状:
batch × length → embedding → sequence block → logits。 - 定义两个模型规模和两个训练 token 预算,形成四个待运行配置;今天可只写配置,不要求全部运行。
- 预先定义 token loss、token accuracy、sequence exact match 与一种 partial credit。
- 构造
p=0.8/0.9、T=5/20的p^T表,直观看长度如何放大 exact-match 差异。
常见误区与边界
- 用训练 loss 比较泛化,却没有独立验证或 OOD 长度。
- 不同规模使用不同数据、学习率搜索力度或停止规则,却归因于参数量。
- 只报告最优 checkpoint,不披露选择依据和失败运行。
- 把 wall-clock 当作跨设备可比 compute;它同时受实现和硬件影响。
- 看到 exact match 从零跳升就断言新能力机制出现。
- 把微型任务的指数或排名外推到自然语言大模型。
研究/系统场景连接
金融序列可以用完全合成的交易符号模拟,例如要求识别有限状态规则或输出状态转移。Token loss 改善可能说明局部事件预测变好,却不代表整段风险路径判断正确;exact match 又可能过于严苛。选择 partial credit 时,应对应错误成本,如状态定位、规则步骤或最终风险类别,而不是为曲线好看。
后续推理 Agent 也会遇到相同结构:每一步行动局部正确率较高,长链全程成功率仍按乘积下降。微型序列实验因此不仅服务 scaling,还帮助理解长程规划中的误差累积。但当前实验没有工具、反馈或环境交互,不能直接代表 Agent。
自检问题
- 为什么 token loss 改善时 exact match 仍可能为零?
- Teacher forcing 与自由生成的条件分布有何差异?
- 四个预算点要固定哪些变量才有比较意义?
- 什么 partial credit 最符合你的任务语义?
- 哪些失败点不应从曲线中删除?
专业课程对齐
- 参考 Stanford CS336 的 tokenizer、模型和训练循环内容,理解一个语言模型实验如何被拆成可测组件。
- 阅读 Scaling Laws for Neural Language Models,只借鉴多预算点与损失拟合思路,不照搬规模结论。
- 使用 PyTorch 官方基础教程 对照 tensor、模型、优化和数据加载接口;若不运行,也可只画数据形状。
深入学习提示
优先让任务和记录清楚,再考虑模型复杂度。一个 5 万参数模型与四个可解释预算点,通常比单个较大模型更能说明机制。若有精力,可增加长度 OOD 或打乱规则,但一次只改一个变量。观察到不平滑曲线时,先检查优化、样本方差和 exact-match 长度效应,再讨论涌现。
学后填写区
- 我选择的 toy sequence task:
- 模型输入输出形状:
- 四个预算配置:
- 连续与离散指标:
- 预先定义的停止条件: