Skip to main content
QUICK REVIEW

[论文解读] TinyTrain: Resource-Aware Task-Adaptive Sparse Training of DNNs at the Data-Scarce Edge

Young D. Kwon, Rui Li|arXiv (Cornell University)|Jul 19, 2023
Advanced Neural Network Applications被引用 8
一句话总结

TinyTrain 通过任务自适应的稀疏更新和少-shot 预训练,实现极端边缘设备上的快速、节省内存与计算的端设备DNN训练,在准确性方面显著高于先前方法,且开销更低。

ABSTRACT

On-device training is essential for user personalisation and privacy. With the pervasiveness of IoT devices and microcontroller units (MCUs), this task becomes more challenging due to the constrained memory and compute resources, and the limited availability of labelled user data. Nonetheless, prior works neglect the data scarcity issue, require excessively long training time (e.g. a few hours), or induce substantial accuracy loss (>10%). In this paper, we propose TinyTrain, an on-device training approach that drastically reduces training time by selectively updating parts of the model and explicitly coping with data scarcity. TinyTrain introduces a task-adaptive sparse-update method that dynamically selects the layer/channel to update based on a multi-objective criterion that jointly captures user data, the memory, and the compute capabilities of the target device, leading to high accuracy on unseen tasks with reduced computation and memory footprint. TinyTrain outperforms vanilla fine-tuning of the entire network by 3.6-5.0% in accuracy, while reducing the backward-pass memory and computation cost by up to 1,098x and 7.68x, respectively. Targeting broadly used real-world edge devices, TinyTrain achieves 9.5x faster and 3.5x more energy-efficient training over status-quo approaches, and 2.23x smaller memory footprint than SOTA methods, while remaining within the 1 MB memory envelope of MCU-grade platforms.

研究动机与目标

  • 解决极端受限边缘设备上端设备训练的数据稀缺问题。
  • 开发一种对目标任务自适应的节省内存与计算的稀疏更新策略。
  • 通过少-shot学习范式进行预训练,以提升适应性能。
  • 实现部署时的动态层/通道选择,降低额外开销。
  • 在MCU级及边缘类硬件上通过真实设备测量展示实际可行性。

提出的方法

  • 离线预训练和元训练,生成适用于少-shot 自适应的鲁棒全局表征。
  • 基于多目标准则(结合Fisher信息和归一化成本项)选择要训练的层/通道,实现任务自适应的稀疏更新。
  • 在设备预算内对目标任务进行动态在线层/通道选择,重新计算稀疏更新策略。
  • 在离线评分和在线选择阶段均使用激活的Fisher信息作为通道/层重要性的代理。
  • 少-shot学习(FSL)预训练阶段,在端设备自适应之前提升样本效率。

实验结果

研究问题

  • RQ1在极端边缘设备上实现端设备训练是否可行,同时在跨领域、少-shot 任务上保持准确性?
  • RQ2在严格的内存与计算预算下,动态任务自适应稀疏更新策略是否优于静态稀疏更新和全微调?
  • RQ3元学习为基础的预训练在数据稀缺场景下对多种体系结构的适应性能提升幅度如何?
  • RQ4在MCU类设备上,TinyTrain 的实际运行成本(内存、MACs、延迟、能耗)是多少?

主要发现

模型方法TrafficOmniglotAircraftFlowerCUBDTDQDrawFungiCOCO平均值
MCUNet35.542.342.173.848.460.140.930.926.844.5
MCUNetFullTrain82.072.775.390.766.474.664.040.436.066.9
MCUNetLastLayer55.347.556.783.954.072.050.336.435.254.6
MCUNetTinyTL78.973.674.488.660.973.367.241.136.966.1
MCUNetSparseUpdate72.867.469.088.367.173.261.941.537.564.3
MCUNetTinyTrain (Ours)79.373.878.893.369.976.067.345.539.469.3
MobileNone39.944.448.481.561.170.345.538.635.851.1
MobileFullTrain75.569.168.984.461.871.360.637.735.162.7
MobileLastLayer58.255.159.686.361.872.253.339.836.758.1
MobileTinyTL71.369.068.185.957.270.962.538.236.362.1
MobileSparseUpdate77.369.172.487.362.571.161.838.835.864.0
MobileTinyTrain (Ours)77.468.174.191.664.374.960.640.839.165.6
ProxylessNone42.650.541.480.553.269.147.336.438.651.1
ProxylessFullTrain78.473.371.486.364.571.763.838.937.265.0
ProxylessLastLayer57.158.852.785.556.172.953.038.638.757.0
ProxylessNASNet72.573.670.386.257.471.065.838.637.663.7
ProxylessTinyTL72.573.670.386.257.471.065.838.637.663.7
ProxylessSparseUpdate76.072.471.287.862.171.764.139.637.164.7
ProxylessTinyTrain (Ours)79.071.976.792.767.476.065.943.441.668.3
  • TinyTrain 在九个跨域数据集上,相较于全网络微调,精度提升为3.6-5.0个百分点。
  • 相较于FullTrain,向后传播的内存和计算成本分别降低至最多2168×和7.68×。
  • TinyTrain 相较于SOTA SparseUpdate 方法,在精度上提升2.6-7.7%,内存降低2.4-3.1×,计算降低1.5-1.8×。
  • 在树莓派Zero 2和Jetson Nano上,TinyTrain 的在线层/通道选择耗时为20-35秒,占总训练时间的3.4-3.8%。
  • 端到端的端设备训练大约完成在10分钟左右,比树莓派Zero 2上的两小时FullTrain快一个数量级。
  • TinyTrain 在MCU级平台内存维度保持在1 MB 量级,同时保持具有竞争力的精度。

更好的研究,从现在开始

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

无需绑定信用卡

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