让手机和边缘设备集群联合训练卷积网络,不依赖云端
Distributed Convolutional Neural Network Training on Mobile and Edge Clusters
- 通过分块融合在设备间拆分前向与反向计算,提升本地并行效率
- 6个树莓派3集群训练目标检测模型,速度最高快15倍,内存减少8倍
- 适合资源受限场景下的分布式模型训练,尤其适合初始卷积层
深度神经网络(DNNs/CNNs)的传统训练依赖高性能服务器。近年来,将机器学习任务完全部署在边缘的尝试兴起,虽降低延迟、增强隐私,但面临设备资源受限的挑战。现有基于剪枝、量化或增量学习的方法常需牺牲精度。尽管已有研究探索在移动边缘集群上分布推理,但边缘端分布式训练仍较少。现有方案多依赖中心化强算力边缘或云服务器协调。本文提出一种仅在移动端和边缘设备上实现分布式CNN训练的方法。该方法对特征图密集的初始卷积层尤为有效,通过分块(tiling)和融合(fusing)将前向推理与反向传播操作分布在多设备间,最大化局部性并暴露通信与内存感知的并行性。引入层分组(layer grouping)机制,根据计算与通信权衡精细调优性能。实验表明,在2至6个四核树莓派3组成的集群上,目标检测CNN训练速度相较单核提升2至15倍,每设备内存使用量最多降低8倍,且无精度损失。分组策略在不同参考配置和批大小下可带来最高1.5倍的速度提升。
原文摘要 · Abstract (English)
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.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。