本研究由美国密歇根大学(University of Michigan - Ann Arbor)Clarity Lab的Yiping Kang、Johann Hauswald、Cao Gao、Austin Rovinski、Trevor Mudge、Jason Mars和Lingjia Tang共同完成,发表于ASPLOS ‘17(ACM International Conference on Architectural Support for Programming Languages and Operating Systems),会议时间为2017年4月8日至12日,地点为中国西安。
本研究属于移动计算(mobile computing)与云计算(cloud computing)的交叉领域,聚焦于深度神经网络(Deep Neural Networks, DNNs)在智能个人助手(如Apple Siri、Google Now等)中的计算优化问题。当前,这类应用普遍采用“纯云端计算”模式,即所有DNN计算均在数据中心完成,移动设备仅负责数据上传。然而,这种方式存在两大瓶颈:
1. 高延迟:需通过无线网络传输大量数据(如图像、音频);
2. 高能耗:移动端数据上传能耗显著,且数据中心计算压力过大。
随着移动设备算力与能效的提升,研究者提出核心问题:是否应将部分或全部DNN计算迁移至移动边缘(mobile edge)? 本研究旨在探索如何通过细粒度计算划分策略,协同利用移动端与云端资源,实现低延迟、低能耗与高数据中心吞吐量。
研究对象:8个DNN应用,涵盖计算机视觉(CV)、语音识别(ASR)和自然语言处理(NLP)领域,核心算法为DNN(如AlexNet、VGG)。
实验设计:
- 硬件平台:
- 移动端:NVIDIA Jetson TK1(Tegra K1 SOC,含GPU);
- 云端:配备NVIDIA Tesla K40 GPU的服务器。
- 测试内容:
- 通信开销:测量3G、LTE、Wi-Fi下数据传输延迟与能耗;
- 计算开销:对比移动端CPU/GPU与云端GPU的DNN推理延迟。
关键发现:
- 对于AlexNet图像分类任务,3G网络上传延迟(870ms)远超移动GPU本地计算(81ms);
- 移动GPU执行总能耗(0.87J)低于LTE传输能耗(2.41J),但Wi-Fi传输能耗更低。
研究方法:对DNN各层的计算量、数据量进行细粒度剖析。以AlexNet为例:
- 计算分布:卷积层(conv)与全连接层(fc)占90%计算时间,后者延迟更高(如fc6层占45%总时间);
- 数据流特征:
- 早期卷积层输出数据量激增(如conv1输出1.5MB);
- 池化层(pool)将数据量压缩4.7倍;
- 最终分类层输出仅为单个标签(几字节)。
结论:DNN的计算负载与数据量呈非单调变化,为分层划分提供机会。
实验设计:在AlexNet中尝试不同划分点,评估端到端延迟与移动能耗。
- 最优划分点:
- 延迟优化:在最后一个池化层(pool5)与首个全连接层(fc6)间划分,比纯云端快2.0倍;
- 能耗优化:中间层划分可降低18%移动能耗。
扩展验证:在8个DNN中验证策略普适性。
- CV类DNN(如VGG):中间划分优势显著;
- NLP类DNN(如POS标注):因数据量恒定,更适合纯云端或纯移动端执行。
核心组件:
1. 性能预测模型:基于回归分析预测各层在移动/云端的延迟与能耗,无需逐应用调优;
2. 动态调度算法:根据DNN结构、网络状态、服务器负载实时选择最优划分点。
创新方法:
- 数据驱动的划分决策:基于DNN拓扑而非代码逻辑(区别于传统卸载框架如MAUI);
- 轻量级运行时:仅需一次硬件平台性能建模,支持任意DNN架构。
典型案例:
- AlexNet(Wi-Fi+移动GPU):中间划分使延迟从105ms降至52ms;
- 动态适应性:在LTE带宽波动时,Neurosurgeon自动切换划分点,保持稳定性能。
(注:本文档属于类型a,即单一原创研究的学术报告。)