arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2409.09083cs.DCcs.LG

移动与边缘集群上的分布式卷积神经网络训练

Distributed Convolutional Neural Network Training on Mobile and Edge Clusters

The University of Texas at Austin(德克萨斯大学奥斯汀分校)

Pranav Rama, Madison Threadgill, Andreas Gerstlauer

AI总结:

针对边缘端分布式CNN训练研究不足、现有方案依赖中心服务器的问题,提出一种完全基于移动边缘设备、通过分块融合与层分组实现的分布式训练方法,在Pi3集群上可实现2-15倍加速、最高8倍内存降低且无损精度。

摘要:

深度神经网络和/或卷积神经网络(DNNs/CNNs)的训练传统上在配备高性能CPU和GPU的服务器上完成。近期出现了将机器学习任务完全部署在边缘端的研究趋势,这具备降低延迟、提升隐私性的优势,但要求方案必须适配资源受限的设备。基于剪枝、量化或是增量学习、迁移学习的移动端与边缘端推理及训练方法,都需要以牺牲精度为代价。另有多项研究转而探索在移动与边缘集群上分布式部署推理运算,但关于边缘端分布式训练的研究文献仍较为有限,且现有方案都需要一台核心的、性能较强的边缘服务器或云服务器来完成协调或计算卸载。\n本文提出了一种完全在移动与边缘设备上实现CNN分布式训练的方法,该方法对以特征图运算为主的CNN初始层效果显著。其核心思路是通过分块(tiling)与融合操作,将前向推理和反向传播运算划分到多台设备上执行,以此最大化数据局部性,挖掘通信感知与内存感知的并行性。我们还引入了层分组(layer grouping)概念,可基于计算与通信的权衡进一步微调性能。\n实验结果显示:在由2-6台四核Raspberry Pi3设备组成的集群上,训练目标检测CNN时,相比单核设备可实现2倍-15倍的速度提升,单设备内存占用最高降低8倍,且全程不会损失精度。根据参考配置文件与批量大小的不同,分组机制可带来最高1.5倍的速度提升。

英文摘要:

The training of deep and/or convolutional neural networks (DNNs/CNNs) is traditionally done on servers with powerful CPUs and GPUs. Recent efforts have emerged to localize machine learning tasks fully on the edge. This brings advantages in reduced latency and increased privacy, but necessitates working with resource-constrained devices. Approaches for inference and training in mobile and edge devices based on pruning, quantization or incremental and transfer learning require trading off accuracy. Several works have explored distributing inference operations on mobile and edge clusters instead. However, there is limited literature on distributed training on the edge. Existing approaches all require a central, potentially powerful edge or cloud server for coordination or offloading. In this paper, we describe an approach for distributed CNN training exclusively on mobile and edge devices. Our approach is beneficial for the initial CNN layers that are feature map dominated. It is based on partitioning forward inference and back-propagation operations among devices through tiling and fusing to maximize locality and expose communication and memory-aware parallelism. We also introduce the concept of layer grouping to further fine-tune performance based on computation and communication trade-off. Results show that for a cluster of 2-6 quad-core Raspberry Pi3 devices, training of an object-detection CNN provides a 2x-15x speedup with respect to a single core and up to 8x reduction in memory usage per device, all without sacrificing accuracy. Grouping offers up to 1.5x speedup depending on the reference profile and batch size.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑