模型与实验室 3.0 · 值得看 2026-06-23 · 文章

GPT-2 规模模型训练干预实验:学习率是最大变量,Dropout 反而有害

英文标题 / English Title GPT-2 Scale Model Training Intervention Experiments: Learning Rate is the Biggest Variable, Dropout is Actually Harmful (GPT-2 规模模型训练干预实验:学习率是最大变量,Dropout 反而有害) 研究背景 Giles Thomas 在自己训练 GPT-2 规模模型(163M 参数,44 小时本地训练)的过程中,对多种训练干预手段进行了系统性测试,旨在找到让模型性能最大化的有效方法。 他测试的干预手段包括:学习率调整、学习率调度、Weight decay、QKV bias、Gradient clipping、PyTorch AMP(混合精度训练)和 Weight tying。...

打开原文回到归档

英文标题 / English Title

GPT-2 Scale Model Training Intervention Experiments: Learning Rate is the Biggest Variable, Dropout is Actually Harmful (GPT-2 规模模型训练干预实验:学习率是最大变量,Dropout 反而有害)

研究背景

Giles Thomas 在自己训练 GPT-2 规模模型(163M 参数,44 小时本地训练)的过程中,对多种训练干预手段进行了系统性测试,旨在找到让模型性能最大化的有效方法。

他测试的干预手段包括:学习率调整、学习率调度、Weight decay、QKV bias、Gradient clipping、PyTorch AMP(混合精度训练)和 Weight tying。

干预手段效果排名

第一名:学习率调整 + 学习率调度(效果最大)

学习率是影响训练效果最大的变量。适当调高学习率并配合学习率调度(learning rate scheduling),能带来最大收益。

Thomas 在实验中发现,学习率与 Weight decay 在标准梯度下降中强相关,需要一起考虑才能发挥最大效果。

第二名:Weight Decay(有效)

从现在标准的 0.1 降低到更接近 GPT-2 原始配置的 0.01,能够改善模型在测试集上的 loss。这是目前排名第二的干预手段。

第三名:QKV Bias(微小帮助)

在 QKV(Query-Key-Value)注意力机制中加入偏置,能提供微小的帮助。

效果有限:Gradient Clipping

梯度裁剪的效果相对有限。

训练加速但不推荐:PyTorch AMP

混合精度训练(AMP)可以将训练速度提升一倍,但会导致 loss 略有变差——如果追求最佳性能而非训练速度,不建议使用。

❌ 反而有害:Dropout

在单轮训练(single-epoch training)场景下,Dropout 不仅没有帮助,而且有害。 移除 Dropout 后,模型性能反而提升。

这挑战了长期以来"Dropout 是正则化必备手段"的认知——在快速迭代训练场景下,Dropout 的正则化效果无法发挥,反而增加了训练负担。

❌ 反而有害:Weight Tying

权重复用(Weight tying)反而让模型表现变差。

关键洞察

1. Dropout 在快速训练场景下无效甚至有害

传统的 Dropout 正则化假设需要多个训练 epoch 才能发挥效果。在单轮训练场景下,模型没有足够的样本来学习 Dropout 所引入的噪声模式,反而白白浪费了训练 capacity。

2. 学习率与 Weight Decay 强交互

两者在标准梯度下降中强相关,Thomas 分别测试了它们孤立和组合使用的效果,发现它们的最佳设置是相互依赖的。

3. AMP 是双刃剑

虽然混合精度训练可以大幅提升训练速度,但以牺牲模型精度为代价。对于追求最佳性能而非训练速度的生产场景,不建议使用。

4. 干预手段之间的独立性

  • Gradient clipping 和 Dropout 移除在概念上相对独立
  • QKV bias 也相对独立
  • 但 Weight decay 和学习率之间存在强交互,需要一起调试

5. Loss 不是唯一指标

Loss 的微小改善(或变差)不一定能预测真实世界的模型实用性——在指令微调场景下,Loss 和实际任务表现之间的相关性比预想的要弱。

结论

对于快速迭代的 GPT-2 规模 LLM 训练实验,最值得优先尝试的配置优先级:

1. ✅ 调高学习率 + 使用学习率调度 2. ✅ 降低 weight decay 到 0.01 3. ✅ 移除 dropout 4. ✅ 加入 QKV bias 5. ✅ 使用梯度裁剪(而非 AMP)

来源

  • Giles Thomas Blog(结论篇):https://www.gilesthomas.com/2026/04/llm-from-scratch-32m-interventions-conclusion
  • 同一系列其他文章:
  • 32a: Interventions: baseline model(基线模型)
  • 32f: Interventions: weight decay(权重衰减)
  • 32g: Interventions: weight tying(权重复用)
  • 32i: Interventions: what is in the noise(噪声分析)
  • 32j: Interventions: trying to train a better model in the cloud(云端训练尝试)
  • 33: What I learned from the appendices(附录学习总结)