nn-Meter:Towards Accurate Latency Prediction of Deep-Learning Model Inference on Diverse Edge Devices
Sun Hao

来 源:MobiSys ‘21: Proceedings of the 19th Annual International Conference on Mobile Systems, Applications, and ServicesJune 2021 Pages 81–93https://doi.org/10.1145/3458864.3467882

原文速递:nn-Meter:Towards Accurate Latency Prediction of Deep-Learning Model

(2021 MobiSys Best Paper)

1. Background & Motivation

设计一个高准确度、高效的DNN模型,需要得到准确的不同模型在部署中的推理时延。然而,测量DNN模型的推理时延是繁琐且昂贵的,推理时延可能会受到设备类型、模型框架的影响,模型推理时延的预测成为了一种重要的手段。但直接进行模型级别的预测,其搜索空间又太大:假设一个具有N个节点的模型,每个节点有D个特征,在模型DAG图中最多存在N×(N-1)条边,则整个预测空间中一共有多达DN×N×(N-1)个模型,这就需要寻找更细粒度的方法。
尽管DNN网络大量出现,但基础算子类型仍然很少,比如卷积、激活函数、全连接层、BatchNorm和element-wise算子。虽然算子级预测是一种细粒度方法,但它并不能捕捉不同设备上的图级别(graph level)优化,如图1所示。这些较稳定的基础算子又进一步根据推理平台的优化构成了内核(kernel),任何DNN的都是由这些基础内核构成的。

图1 DNN框架的图优化

2. Contributions

1)提出了nn-Meter,一种在边缘设备上准确预测CNN模型推理时延的系统;

2)设计了nn-Meter的两个关键技术:内核检测器,用于捕获边缘设备上的各种算子融合行为。自适应采样,用于减少构建时延预测器的计算量;

3)使用nn-Meter在手机CPU、手机GPU和Intel VPU上进行实验,结果显示,nn-Meter在多种设备和模型上都取得了相比现有方法更好的预测准确度。

3. Design Details

图2为nn-Meter的系统结构,包括内核检测和自适应数据采样,它离线检测了算子融合规则并且构建了内核级的预测器。

图2 nn-Meter系统结构

3.1 内核检测

内核检测可以自动识别部署平台的算子融合规则,从而基于这些规则检测模型中的所有内核。nn-Meter 会离线收集所有融合规则,进行在线模型预测时,内核搜索算法则会将这些规则递归地应用于目标模型来找到所有内核,图3为内核检测的一个示例。

图3 ResNet18内核检测示例

3.2 自适应数据采样

自适应数据采样用于训练内核级时延预测器,由于某些内核所具有的数据采样空间巨大,例如 Conv+bn+relu 的采样空间已达到千万数量级,该方法通过迭代采样过程对最有益的配置进行采样,离线为目标设备上的所有内核构建机器学习预测器。

图4 多种输出通道数下Conv+bn+relu内核的推理时延

如图4所示,随机采样会丢失很多真实的细节信息,该方法采用自适应采样在误差较大的点附近进行更细粒度的数据采样。最后,nn-Meter采用了随机森林回归来预测非线性的内核级延迟,使用内核的延迟总和计算整个模型的延迟

其中,是kernel的机器学习预测器,是提取的特征。

4. Comments

该文章考虑了内核级别的时延估计,相比之前的工作更加深入研究了模型在实际设备上的推理机制,考虑了框架和设备对模型的加速优化问题,该方法不仅能够用来预测整个模型的推理时延,也可以预测任意几层的推理时延。但部分工作中提到nn-meter存在内存占用量大的问题,难以在移动设备上装载。

 Comments