[论文解读] Accelerating Asynchronous Stochastic Gradient Descent for Neural Machine Translation
该论文通过引入延迟梯度更新以实现更大的有效小批量并使用本地优化器缓解因延迟导致的收敛问题,从而加速神经机器翻译中的异步随机梯度下降(ASGD)。在调整动量和学习率缩放后,该方法相比优化后的基线模型训练速度提升27%,BLEU分数下降可忽略不计,交叉熵损失更低。
In order to extract the best possible performance from asynchronous stochastic gradient descent one must increase the mini-batch size and scale the learning rate accordingly. In order to achieve further speedup we introduce a technique that delays gradient updates effectively increasing the mini-batch size. Unfortunately with the increase of mini-batch size we worsen the stale gradient problem in asynchronous stochastic gradient descent (SGD) which makes the model convergence poor. We introduce local optimizers which mitigate the stale gradient problem and together with fine tuning our momentum we are able to train a shallow machine translation system 27% faster than an optimized baseline with negligible penalty in BLEU.
研究动机与目标
- 解决由于梯度延迟和大批次大小导致的神经机器翻译中异步SGD收敛缓慢的问题。
- 克服序列建模任务中GPU显存限制导致的小批量大小受限问题。
- 通过优化学习率和动量调度策略,在不牺牲模型性能的前提下提升训练速度。
- 使用硬件无关且可扩展的技术,实现序列到序列模型的更快端到端训练。
- 证明延迟梯度更新和本地优化器可在增加批次大小和减少通信频率的情况下维持收敛性。
提出的方法
- 通过在τ个迭代周期内累积梯度后再通信,引入延迟梯度更新,从而在不超出GPU显存限制的前提下有效增大小批量大小。
- 在每个工作节点上实现本地优化器,以减轻因大有效小批量导致的梯度延迟影响。
- 应用学习率预热和动量衰减策略,以稳定大批次训练的收敛过程。
- 使用调优超参数的改进版Adam优化器,平衡收敛速度与稳定性。
- 通过在本地求和多个小批量来模拟大批次,减少通信开销,同时保持模型更新频率。
- 应用梯度裁剪和动量自适应策略,以稳定高批次大小下的训练动态。
实验结果
研究问题
- RQ1延迟梯度更新是否能在不超出GPU显存限制的前提下,使NMT中的有效小批量更大?
- RQ2延迟更新与本地优化器的结合对序列模型在异步SGD中的收敛性有何影响?
- RQ3在使用极大批次时,何种学习率和动量调度策略最有利于保持收敛速度?
- RQ4在不降低BLEU分数或交叉熵损失的前提下,训练速度最多可提升多少?
- RQ5预热和动量衰减策略在多大程度上缓解了大批次训练中的不稳定性?
主要发现
- 在罗曼尼亚语-英语翻译的浅层RNN模型上,该方法相比优化后的基线模型训练速度提升27%,BLEU分数仅下降0.03点。
- 当τ = 4时,每秒处理的词数从40.2k提升至47.6k,显著提高了训练吞吐量。
- 尽管有效小批量大小扩大四倍,该模型每轮的交叉熵损失仍低于基线,表明优化稳定性更好。
- 在罗曼尼亚语-英语任务中,该系统达到最佳BLEU分数的速度比基线快1.6倍,证明了收敛效率的提升。
- 在英语-德语深层RNN模型上,该方法训练速度比基线快1.3倍,同时BLEU分数几乎相同,且交叉熵损失更优。
- 调整动量并应用衰减策略对稳定大批次训练至关重要,其效果优于单纯的学习率缩放。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。