
摘要
Transformer 在众多自然语言处理任务中已展现出卓越的性能。然而,其训练过程对优化器和学习率调度策略的设计提出了较高要求,需精心调参(例如,传统的随机梯度下降法 SGD 难以有效训练 Transformer 模型)。本文旨在从实验与理论两个角度深入理解“Transformer 训练为何复杂”这一核心问题。我们的分析表明,梯度不平衡并非导致训练不稳定的根源。相反,我们发现了一种显著影响训练过程的放大效应:在多层 Transformer 模型中,每一层对残差分支存在较强的依赖性,这种依赖会放大微小的参数扰动(如参数更新),从而引发模型输出的显著波动,造成训练不稳定。然而,我们同时也观察到,若依赖性过弱,则会限制模型的表达能力,导致最终训练得到的模型性能不佳。基于上述分析,我们提出了一种新的初始化方法——Admin(Adaptive model initialization),旨在稳定训练初期的动态过程,并在训练后期充分释放模型的潜力。大量实验结果表明,Admin 方法具有更高的训练稳定性,收敛速度更快,且能获得更优的模型性能。相关代码已开源,地址为:https://github.com/LiyuanLucasLiu/Transforemr-Clinic。
代码仓库
LiyuanLucasLiu/Transforemr-Clinic
官方
pytorch
GitHub 中提及
c00k1ez/plain-transformers
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| machine-translation-on-wmt2014-english-french | Admin | BLEU score: 43.8 Hardware Burden: Operations per network pass: |