题目重点:从公开提示中的 control group 出发,固定数据、算力和评估口径,讨论随机种子、污染、消融与线上离线差异。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 要比较的 treatment 是一项训练方法 X(例如新采样策略),baseline 除 X 外尽量保持一致;X 的真实内容未公开。
- 固定预训练/微调数据版本、模型初始权重或初始化分布、训练 token 数、算力预算、推理预算和评测集合;如果 X 会改变训练速度,也分别比较等 FLOPs 和等墙钟时间两个口径。
- 主指标在实验前注册,另设安全/能力退化 guardrail;评测集与训练数据做污染检查。
解题路线
- 先写因果问题:`effect = outcome(X)−outcome(baseline)` 在同等资源与数据条件下是否稳定;确定随机化单位为训练 run/seed,而不是把同一 checkpoint 上的样本误当独立实验。
- 至少跑多个 seed,尽可能配对相同初始化和数据顺序,报告均值、方差和置信区间;先做小模型/短训练筛选,再用足够规模确认趋势,避免只选最好的一次 run。
- 设计消融:去掉 X 中每个关键组件、比较不同强度、测试不同任务/数据子群;防止改进仅来自更多训练 token、额外标注或评测集泄漏。
- 如果要线上验证,先通过离线 guardrail,再对用户/会话做稳定随机分流,固定模型版本和曝光窗口,关注安全与体验指标;线上对照无法完全替代训练层因果比较,因为服务策略也可能变化。
- 预先规定停止规则和计算预算,出现有害输出/严重退化时暂停;记录所有配置、数据快照、代码 commit 和评估脚本,以便复现。
手动走一遍
虚构训练例要检验采样策略 X。baseline 与 X 各跑 5 个配对 seed,均训练 100B token、相同模型/数据版本,主指标为一组未见过的任务正确率,guardrail 是错误拒答率。若 X 的平均正确率提高 1 点,但 guardrail 明显恶化,则不能只报主指标成功;如果 X 用了额外 20% 训练 FLOPs,还需等资源对照。数值纯属演示。
规模与取舍
若两组各 S 个 seed、每 run 消耗 C GPU·小时,基本训练成本约 2SC;消融与不同规模会乘上更多 run。统计样本量取决于 seed 间方差与目标可检测效应,不可从题目推定固定 N。日志与模型 checkpoint 存储也可能主导成本。
易错点与追问
容易失分的边界
- 只比较一个 seed 的最佳 checkpoint,无法区分方法效应与随机波动。
- treatment 多用了数据/token/算力,却声称方法本身更好。
- 先看评测结果再挑主指标,产生选择偏差。
- 训练与评测数据污染未检查,分数改善可能是记忆。
- 把未公开具体方法编造成 Anthropic 的正式实验题。
继续深挖
- 若新方法节省训练时间但同算力指标相同,该按什么目标判断价值?
- 线上随机化单位是用户还是会话,跨用户传播会怎样破坏独立性?
- 若不同任务一升一降,如何在预注册目标下决策?
