【Transformer 与注意力机制】27|原论文怎么训出来的:8 张 P100、12 小时、warmup 4000 步

💡 原文中文,约28100字,阅读约需67分钟。
📝

内容提要

本文详细解析了Transformer模型的训练配方,包括超参数选择、warmup的重要性、学习率公式设计、dropout和label smoothing的应用。通过对比2017年与现代大模型的训练方法,指出核心训练策略基本保持不变,这些细节对于复现原论文的BLEU分数至关重要。

🎯

关键要点

  • Transformer模型的训练配方包括超参数选择、warmup的重要性、学习率公式设计、dropout和label smoothing的应用。

  • 2017年原论文公开了一套完整的训练配方,并在WMT2014上取得了当时的SOTA。

  • 学习率公式lr = d^(-0.5) · min(step^(-0.5), step · warmup^(-1.5))的设计是为了适应模型宽度的变化。

  • warmup_steps设置为4000步是经过实验验证的最佳选择,去掉会导致训练不稳定。

  • batch by tokens的策略是为了提高GPU利用率,避免因句子长度差异导致的显存浪费。

  • dropout设置为0.1是为了提供适度的正则化,现代大模型通常不再使用dropout。

  • label smoothing的应用可以提高模型的泛化能力,尽管可能导致PPL变差,但BLEU得分通常会提高。

  • 现代大模型的训练配方相较于2017年基本保持不变,核心策略依然有效。

延伸问答

Transformer模型的训练配方包括哪些超参数选择?

Transformer模型的训练配方包括学习率、warmup步数、dropout、label smoothing等超参数选择。

为什么warmup_steps设置为4000步?

设置为4000步是经过实验验证的最佳选择,去掉会导致训练不稳定。

学习率公式lr = d^(-0.5) · min(step^(-0.5), step · warmup^(-1.5))的意义是什么?

该公式描述了学习率的变化规律,先线性增长后按1/√step衰减,适应模型宽度的变化。

dropout在Transformer模型中的作用是什么?

dropout用于提供适度的正则化,防止模型过拟合,原论文中设置为0.1。

label smoothing如何影响模型的泛化能力?

label smoothing可以提高模型的泛化能力,尽管可能导致PPL变差,但BLEU得分通常会提高。

现代大模型的训练配方与2017年相比有哪些变化?

现代大模型的训练配方在细节上有所变化,如β₂从0.98调到0.95或0.999,weight decay从0增加到0.1等。

➡️

继续阅读