Skip to main content
QUICK REVIEW

[论文解读] Parallel training of DNNs with Natural Gradient and Parameter Averaging

Daniel Povey, Xiaohui Zhang|arXiv (Cornell University)|Oct 27, 2014
Neural Networks and Applications参考文献 24被引用 123
一句话总结

本文提出了一种可扩展的、与硬件无关的框架,用于通过在多台机器之间周期性地平均参数,并结合一种高效的近似自然梯度方法(NG-SGD),实现深度神经网络(DNN)的并行训练。通过每1–2分钟或每400,000个样本进行一次参数平均,并结合NG-SGD,该方法在最多8块GPU上实现了接近线性的加速,且通信量极少,显著提升了大规模语音识别训练中的收敛性和稳定性。

ABSTRACT

We describe the neural-network training framework used in the Kaldi speech recognition toolkit, which is geared towards training DNNs with large amounts of training data using multiple GPU-equipped or multi-core machines. In order to be as hardware-agnostic as possible, we needed a way to use multiple machines without generating excessive network traffic. Our method is to average the neural network parameters periodically (typically every minute or two), and redistribute the averaged parameters to the machines for further training. Each machine sees different data. By itself, this method does not work very well. However, we have another method, an approximate and efficient implementation of Natural Gradient for Stochastic Gradient Descent (NG-SGD), which seems to allow our periodic-averaging method to work well, as well as substantially improving the convergence of SGD on a single machine.

研究动机与目标

  • 开发一种可扩展的、通信高效的DNN训练方法,用于在配备多块GPU的机器上处理大规模语音识别数据集。
  • 解决标准SGD在分布式训练中与低频参数平均结合时出现的不稳定性和收敛性差的问题。
  • 通过最小化网络流量同时保持模型质量,实现与硬件无关的并行训练。
  • 通过实验验证,周期性参数平均与NG-SGD结合可实现稳定、快速的收敛和线性加速。
  • 为Kaldi工具包中的大规模DNN提供一种实用且可投入生产的训练框架。

提出的方法

  • 在不同机器上使用多个独立的SGD进程,每台机器在其不同的随机数据子集上进行训练。
  • 每隔1–2分钟或每400,000个样本周期性地平均模型参数,并将结果重新分发到所有机器以实现更新同步。
  • 应用一种高效且近似的自然梯度随机梯度下降(NG-SGD)实现,以稳定训练并加速收敛。
  • 采用一种改进的学习率调度策略,其中有效学习率等于单个学习率除以机器数量,以保持一致的更新幅度。
  • 实现NG-SGD的“简单”和“在线”两种变体,后者因存在时间依赖性而用于序列训练。
  • 集成i-vector作为输入特征,以支持在线推理,并在流式应用中提升说话人自适应能力。

实验结果

研究问题

  • RQ1在多台机器之间周期性地平均参数,是否能在不频繁通信的情况下实现DNN训练的线性加速?
  • RQ2参数平均与近似NG-SGD的结合是否能在非凸DNN优化中实现稳定且快速的收敛?
  • RQ3NG-SGD相较于标准SGD,在单机和多机设置下如何提升收敛速度?
  • RQ4能否使所提方法实现与硬件无关,并在多样化的多GPU或多核环境中实现可扩展性?
  • RQ5i-vector的集成对流式语音识别中在线推理和模型性能有何影响?

主要发现

  • 当GPU数量从1块增加到8块时,该方法实现了接近线性的加速,且通信开销极低。
  • 仅使用参数平均会导致收敛性差,但与NG-SGD结合后可实现稳定且快速的训练。
  • NG-SGD在单机环境下显著提升了收敛速度,大幅缩短了大规模DNN的训练时间。
  • 该框架支持离线和在线推理,i-vector的引入实现了实时自适应并降低了延迟。
  • 该方法在性能上达到或超过使用LDA、MLLT和fMLLR自适应的传统系统,同时更适用于迁移学习。
  • 有效学习率的缩放机制(即将单个学习率除以机器数量)对训练的稳定性和收敛性至关重要。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。