FineWeb GPT-2模型训练总结 | AI生成和翻译
状态: 运行中,正常,约 72% 完成。启动时间 ~2026- 04-29 13:46 (tmux session 0)。
配置 (config/train_fineweb.py)
| 参数 | 值 |
|---|---|
| 模型 | 12L / 12H / 768 嵌入,无偏置,丢弃率 0 — 1.2359 亿参数 |
| 块大小 | 1024 |
| 批次 | 8 × 64 梯度累积 = 有效 512 序列 → 每次迭代 524,288 个词元 |
| 优化器 | AdamW 融合,学习率 3e-4 → 3e-5 余弦,预热 500,β2=0.99,权重衰减 0.1 |
| 调度 | 最大迭代次数 = 12,000 (学习率衰减迭代次数 = 12,000) |
| 评估 | 每 500 次迭代评估一次,200 批次,每次评估都保存检查点 (always_save_checkpoint=True) |
| 编译 | 开启 |
| 数据集 | 本地 fineweb |
吞吐量
- 稳定状态:~每次迭代 9.34 秒 (评估后的迭代为 29 秒,因评估开销)
- MFU: ~13–14% (预热前峰值达 15.4%)
- 完成时的词元预算:~62.9 亿词元 (12,000 × 52.4万)
损失曲线 (每 500 次迭代验证)
步数 训练损失 验证损失
500 5.4508 5.5082
1000 4.3793 4.3908
2000 3.9059 3.8516
3000 3.7440 3.6908
4000 3.6282 3.5831
5000 3.5656 3.4789
6000 3.5130 3.4665 ← 轻微平台期
7000 3.4670 3.4154
7500 3.4410 3.3677
8000 3.4243 3.3951 ← 小幅波动
8500 3.4017 3.3534 ← 最新
- 仍在下降,但每 500 次迭代的收益已从运行中期的约 0.08 放缓至约 0.02–0.05。
- 验证损失 ≤ 训练损失贯穿始终 (单批次训练 vs 200 批次平均验证 + 丢弃率=0 — 预期内)。
- 无发散,无 NaN,无明显值得标记的峰值。
当前状态
- 迭代 8,600 / 12,000 → 约 71.7% 完成 (约剩余 3,400 次迭代)
- 截至目前消耗词元:~45.1 亿
- 最新检查点:
out-fineweb/ckpt.pt— 1.4 GB,保存于第 8,500 步 (2026-04-30 11:54) - 预计完成时间:~8.5–9 小时 (3,400 × 9.34 秒 + 约 7 次评估暂停 × 约 20 秒)
备注 / 风险标识
- 配置注释写着“调整至最多 10000”,但
max_iters设为 12,000 — 除非停止,否则运行将完成全部 12k 次迭代。 - 最近的提交
a4c7d87(“调优至 10K 迭代”) 修改的是 1.5B 配置,非此文件 — 当前运行不受影响。 - 第 6,000 步的平台期和第 8,000 步的波动均在正常噪声范围内;总体趋势仍在下降。
always_save_checkpoint=True意味着每次评估都会用最新的检查点覆盖ckpt.pt,无论验证损失是否改善 — 鉴于验证损失持续下降,这没问题,但不会保留“最佳”快照。