NeuroFlux:利用自适应局部学习实现内存高效的 CNN 训练
机器学习
2024-03-05 v2
摘要
在资源受限的移动和边缘环境中进行高效的设备端卷积神经网络(CNN)训练是一个尚未解决的挑战。反向传播是采用的标准方法,但由于其强烈的层间依赖性,需要保留整个 CNN 模型的中间激活值在 GPU 内存中,因此它是 GPU 内存密集型的。这需要更小的批量大小以便在可用的 GPU 内存预算内进行训练,但反过来导致训练时间 substantially 高且不切实际。我们介绍了 NeuroFlux,一种专为内存受限场景定制的新型 CNN 训练系统。我们开发了两个新颖的机遇:首先,采用可变数量滤波器的自适应辅助网络以减少 GPU 内存使用;其次,特定于块的自适应批量大小,这不仅适应 GPU 内存限制,还加速了训练过程。NeuroFlux 根据 GPU 内存使用情况将 CNN 分割为块,并进一步在这些块中的每一层附加一个辅助网络。这在新训练范式——“自适应局部学习”(adaptive local learning)下打破了典型的层依赖性。此外,NeuroFlux 巧妙地缓存中间激活值,消除了对先前训练过的块的冗余前向传播,进一步加速了训练过程。与反向传播相比,结果有两方面:在各种硬件平台上,NeuroFlux 在严格的 GPU 内存预算下展示了 2.3 到 6.1 的训练加速,并且 NeuroFlux 生成的精简模型参数减少了 10.9 到 29.4。
引用
@article{arxiv.2402.14139,
title = {NeuroFlux: Memory-Efficient CNN Training Using Adaptive Local Learning},
author = {Dhananjay Saikumar and Blesson Varghese},
journal= {arXiv preprint arXiv:2402.14139},
year = {2024}
}
备注
Accepted to EuroSys 2024