外观
综合复盘:你是否真正拥有这条训练链路
复盘不是把所有名词再念一遍,而是判断自己能否在没有模板提示的情况下定位问题。下面的问题横跨 tokenizer、数学、模型、数据、系统和对齐。建议先写下预测,再打开答案;如果能回答但无法在代码中找到对应行,回到实验实现重新追踪一遍。
先画出自己的系统
不看前文,从一份 UTF-8 文本开始,画到生成下一 token 为止。每条箭头标出数据类型、形状、持久化内容和一个可能的错误。一个合格的图至少包含:文档切分与数据隔离、tokenizer 版本、输入目标移位、因果掩码、模型 logits、稳定 loss、反向梯度、优化器状态、checkpoint 和解码策略。
再回答“哪个环节能偷偷提高指标却不提高真实能力”:验证泄漏、错误 mask、评测模板变化、奖励规则漏洞、重复样本、不同 tokenizer 的 NLL 横比,都是具体例子。发现这些问题需要不变量测试和实验记录,单靠看一条 loss 曲线不够。
计算与代码题
题 1。 某批次
答案
Q 为 [4,4,32,16],scores 为 [4,4,32,32],logits 为 [4,32,256]。scores 有 16384 个元素,占 65536 bytes,即 64 KiB。这只是 scores,一般还会有 probabilities、QKV、梯度等,不能当作整个模型的峰值内存。
题 2。 logits 为 [0,0,0,0]、目标 ID=2,单 token loss 与梯度是什么?若同一例子复制成 batch 8,平均 loss 的每个位置梯度如何变化?
答案
loss 为 [0.25,0.25,-0.75,0.25]。复制八次后每个位置梯度除以八,但共享参数汇总后仍与单例相同,忽略舍入误差。把 loss 求和与求平均混用,就会改变有效学习率。
题 3。 改变输入位置 10 的 token 后,位置 3 的 logits 变化了。可能在哪里出错?
答案
先查 mask 方向和广播轴、Q/K 转置、softmax 维度,确认是否把时间维与特征维混洗;再查是否在全序列维度做了不应有的归一化或其它跨时间操作。正常因果模型早期输出不受后续输入影响。目标移位另测,它可能导致泄漏却不一定破坏这个前向不变量。
题 4。 在线 softmax 的新块最大值比旧最大值大 20,为什么不能直接将新块概率和旧累积量相加?
答案
两者使用不同归一化基准,数值尺度相差
实验判断题
题 5。 扩大词表后 token 数下降 30%,训练吞吐 token/s 也上升了,是否一定更经济?
答案
还要比较处理相同原始文本的时间、输出层参数与计算、显存、验证质量和 tokenizer 开销。token/s 的单位本身变了,不能单独证明经济性。若每个 token 携带更多字节,可以同时报告 bytes/s 或文档/s,并保持评测文本一致。
题 6。 两张卡都从同一个 seed 开始随机抽样,梯度 all-reduce 后 loss 很稳定,有什么隐患?
答案
若数据游标与随机过程也完全相同,两张卡可能处理重复 batch,付出双倍计算却没有扩大有效样本量。初始化需要一致,数据流通常需要按 rank 划分。还要核对 all-reduce 是 sum 还是 mean、local loss 是否已归一化。
题 7。 组奖励 [1,1,1,1],GRPO 优势如何?让组内所有回答都错误与这个情况有什么共同点?
答案
两者中心化后都为零,标准差也为零,用 epsilon 稳定后优势仍为零,没有组内排序信号。其实际能力当然不同,所以必须同时记录原始 reward、全对/全错组比例和采样多样性,不能只看平均优势。
一份有意义的结业项目
用本地训练器完成两个互相独立的改进实验。第一项研究模型:例如上下文 12/24/48 对固定验证文本预测的影响,保持 token 预算和其它参数可比。第二项研究数据:例如对人工重复的语料去重,控制总训练 token 数,并报告循环次数与验证表现。每项先写预测,再运行至少两个 seed;如果结果不支持预测,解释可能原因而不是隐藏运行。
随后选择一个较难扩展:实现 KV cache 并验证逐步 logits;把 NumPy 参数映射到 PyTorch 比较前向与梯度;或实现 MinHash 候选并测误报漏报。每项都应先有 CPU 正确性证据,再讨论速度。GPU 路线进一步实现 Triton attention 或 DDP,应把硬件环境、数值误差与计时协议一起提交。
完成标准
| 能力 | 可验收证据 |
|---|---|
| 理解模型 | 手画张量形状,推导 softmax 与 attention 梯度 |
| 写出系统 | 从原始语料训练、保存并重新加载生成 |
| 定位错误 | 构造因果、移位、梯度和 mask 的失败用例 |
| 设计实验 | 控制变量、留出验证、记录数据与代码版本 |
| 解释性能 | 区分计算、内存、通信和编译开销 |
| 尊重证据 | 区分数值教学例、真实训练结果与未执行的 GPU 计划 |
达到这些标准后,你已经可以带着明确问题进入 官方 2025 实验快照。还不熟的部分可按 实验手册 重做,而不是继续收集更多课程链接。