[论文解读] Reducing the Training Time of Neural Networks by Partitioning
该论文提出了一种新颖的预训练方法,将神经网络划分为多个更小的、独立的子模型,并在相同任务上并行训练这些子模型,从而在不损失性能的前提下减少训练时间。通过利用随分区数量几乎呈二次方减少的子模型,该方法实现了显著的加速效果——在较大模型上最高可达3.3倍,同时保持与现有训练框架的兼容性,并为分布式学习带来潜在优势。
This paper presents a new method for pre-training neural networks that can decrease the total training time for a neural network while maintaining the final performance, which motivates its use on deep neural networks. By partitioning the training task in multiple training subtasks with sub-models, which can be performed independently and in parallel, it is shown that the size of the sub-models reduces almost quadratically with the number of subtasks created, quickly scaling down the sub-models used for the pre-training. The sub-models are then merged to provide a pre-trained initial set of weights for the original model. The proposed method is independent of the other aspects of the training, such as architecture of the neural network, training method, and objective, making it compatible with a wide range of existing approaches. The speedup without loss of performance is validated experimentally on MNIST and on CIFAR10 data sets, also showing that even performing the subtasks sequentially can decrease the training time. Moreover, we show that larger models may present higher speedups and conjecture about the benefits of the method in distributed learning systems.
研究动机与目标
- 在不损害最终性能的前提下,减少深度神经网络的训练时间。
- 解决预训练大模型带来的高计算成本,特别是在资源受限或分布式环境中的问题。
- 通过保持原始学习任务,实现子模型的并行且无需通信的训练。
- 探索该方法在更大模型及分布式学习系统中的可扩展性和效率。
- 提供一种与现有架构、优化器和损失函数兼容的预训练方法。
提出的方法
- 将神经网络划分为多个更小的子模型,每个子模型在相同原始任务上独立训练。
- 每个子模型在输入数据的子集上进行训练,参数随机初始化并通过标准反向传播更新。
- 训练完成后,通过合并其学习到的权重,将子模型组合成完整网络的预训练初始模型。
- 通过使用不同的随机初始化和在权重传输过程中注入噪声,确保子模型学习到多样化的表征。
- 合并过程包括对每个参数集添加均匀噪声(最大绝对值的2%),并将累积动量重置为零。
- 该方法与标准训练流水线兼容,可应用于任何神经网络架构、优化器或损失函数。
实验结果
研究问题
- RQ1将神经网络划分为独立子模型是否能在保持最终性能的前提下减少预训练时间?
- RQ2训练加速效果如何随子模型数量和模型规模变化?
- RQ3即使子模型是顺序而非并行训练,该方法是否仍能实现加速?
- RQ4子模型所学习到的表征多样性是否在合并后有助于提升泛化能力?
- RQ5该方法在分布式或模型并行训练系统中可能带来哪些潜在优势?
主要发现
- 在包含430k参数的3层模型上,创建2个子模型时实现了2.1倍的加速;在包含210万参数的4层模型上,加速比达到3.3倍。
- 即使子模型按顺序训练,该方法相比直接训练完整模型仍实现了1.45倍的加速。
- 在MNIST和CIFAR10上的实验表明,最终性能未出现退化。
- 随着分区数量的增加,子模型所学习到的表征之间的成对多样性也相应提升,支持了该方法的设计理念。
- 通过将每个子模型的参数量几乎呈二次方减少,该方法显著降低了分布式训练中的通信开销。
- 该方法与现有训练框架兼容,可与Net2Net等方法结合用于模型扩展。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。