Pretraining Parallelisms — Dwarkesh Patel 笔记
Dwarkesh Patel 对 Horace He 讲座的笔记,以及关于 distillation、Mythos、Pipeline RL 和 pretraining 失败模式的思考。
Pretraining Parallelisms(Horace He 讲座笔记)
基础公式
Pretraining FLOPs = 6ND
- 2 FLOPs per parameter per token(forward pass:multiply + add)
- Backward pass 是 2× forward(计算两个输入矩阵的梯度)
- 2 + 4 = 6
并行策略链
1. Data Parallel(DP)
- 复制模型权重到每个 GPU,每块处理一部分 batch
- 问题:HBM 有限(B300 288GB),存不下大模型权重和 activations
2. Fully Sharded Data Parallel(FSDP)
- 每块 GPU 只存每层参数的 1/N
- 处理每层前 all-gather 完整参数,处理后丢弃
- 默认首选:容易重叠计算和通信时间(权重通信不依赖前层结果)
- 通信开销:相比 naive DP,用 reduce-scatter 替换 all-reduce 后仅 50% overhead
3. 为什么 FSDP 不能无限扩展?
- Comms crossover:计算时间随 GPU 数增加而减少,通信时间不变 → MFU 暴跌
- Batch size floor:Attention 在序列内计算,不能跨 GPU split。若 critical batch size 10M tokens,序列长度 10K,则最多 1K GPU
4. Pipeline Parallelism
- 问题:bubbles — batch 开始时最后层 GPU 空闲,batch 结束时第一层 GPU 空闲
- 不能重叠 batch(需要合并梯度并更新模型后才能处理下一 batch)
- 架构约束:Kimi 的 attention-to-residuals、滑动窗口与全局 attention 交错等导致负载不均
TPU 优势
更多加速器在同一个 domain 内 → FSDP 更友好。
Can Distillation Be Stopped?
前沿实验室能否阻止蒸馏?如果不能,开源模型可以极快追赶。
成本估算:假设 1T tokens 可捕捉前沿模型精华,Opus 4.6 $25/MTok → $25M。微不足道。
实验室对策:隐藏 chain of thought。但有两个问题:
- CoT 不是 fundamentally different 的 token。可以指示模型直接开始解决问题
- 即使隐藏 CoT,也可将 reconstructing CoT 作为 RLVR target
最重要的点:agentic 模型的真正 juice 在于 tool use(写文件、运行 bash)。如果这些东西在本地用户计算机上做,很难隐藏。
产品公司蒸馏更深层:用户用产品查询前沿模型 API 10+ 轮后得到满意结果 → 产品公司拥有"gold diff" → 可作为 RL target 训练自有模型,奖励接近用户最终收敛结果的输出,惩罚用户拒绝/编辑的中间输出。
Mythos and Cybersecurity Equilibrium
Mythos 与之前版本的关键区别:
- 之前:找到单个漏洞("这里缺 bounds check")
- Mythos:将 5 个不同漏洞 rope 在一起,全部需要才能找到 exploit
不连续性更多来自网络攻击的组合性质,而非智能的 off-trend 增长。
攻防动态:
- 软件比 20 年前更安全,尽管越来越多人类智能在探测公共代码
- 如果突然涌入另一波智能,动态为何改变?
- Glasswing 让行业找到并修补大量潜伏 exploit → 到 2026 年底防御可能相对 offense 大幅增强
Counterpoint:找到漏洞和修补漏洞之间差异巨大。AI 更擅长前者。修补需要找到不干扰所有用户使用的修复方案。
潜在解决方案:
- 形式验证(如 seL4 proof)
- 用 LLM 快速将所有 C 代码 port 到 Rust
Pipeline RL
RL 训练中的问题:
- 平均响应长度增加(模型被训练为回答前思考更久)
- 长度方差也增加 → stragglers 拖慢 GPU utilization
Pipeline RL 方案:in-flight weight updates —— 新训练步骤完成后立即替换生成模型,使下一训练步骤的短轨迹和大部分长轨迹由最新版本模型生成。
Why Pretraining Runs Fail
Breaking Causality
Expert routing:
- Token routing:从 token 视角读分数,分配到 top-k experts → 可能导致跨 experts 严重不平衡
- Expert choice:训练中按 experts 相对偏好 split tokens,强制每 expert 获得大致相同数量 → 打破因果性(token n 分配到哪个 expert 可能取决于 token n+k 被路由到哪个)
- 传言:这解释了 Llama 4 和 Gemini 2 表现不佳
Token dropping:experts 忽略 rank 不强的 tokens → 后续 token 更强匹配可能导致前面 token 被忽略 → 打破因果性。Gemini 2 Pro 的问题。
Adding Bias
Bias 比 variance 更糟 —— variance 可平均掉,bias 会复合。
GPT-4 原始训练的 FP16 bug:
- collectives(如 all-reduce)使用 FP16
- FP16 在对数密度上分布粒度:1-2 之间约 0.001,1024+ 可能差多个整数
- 1+1+...+1(10,000 次)→ 到 1024 后加 1 可能 round down 到 1024 → 计算值比真实值 10x off
关键启示
- 训练运行的失败模式是否有限(如 5 种),还是每个新规模都会出现新的 bespoke issues?
- 受访者认为后者:即使仅在 numerics 内,也有无数种搞砸方式,新规模会不断出现新问题
- Bearish on AI 全自动 kernel 写作:Nvidia 花很长时间优化 Blackwell,说明这相当困难
- RL inference 中的 numerical drift 与训练引擎之间的 subtle off-policy biases 对最高质量训练至关重要,但对终端用户服务不是问题