本文提出了一个在移动设备的CPU和GPU上协同执行模型推理的系统架构和方法,许多方法的提出基于作者对大量实验现象的观察。通过联系实验现象和系统基本特性,该文实现了针对于移动设备的准确且轻量的时延预测。同时,该文数据分割和算子链的设计也具有启发意义。
 Neurosurgeon是一个云-端协同的协同推理系统,能够相较云计算减少传输数据量,相较单机边缘计算提升计算速度,从而提高DNN推理的响应速度。然而,该系统存在许多不足之处:
1)性能预测器准确度无法保证。该系统的性能预测器仅仅针对对不同层参数构建简单的线性或指数回归模型,虽然该模型执行很快,但如此简单的预测方法难以获得高预测精度,而较低的预测精度势必影响DNN分割算法的效果;
2)对多层网络的性能预测不准确。该文仅使用每层网络时延和能耗的加和表示多层的性能,而实验表明运行多层网络的时延和能耗往往低于每层网络的加和,由错误的性能预测数据确定DNN分割点很难得到最优方案。
该文致力于通过CPU-GPU协同执行的方式进行高效神经网络推理,设计了一种层级协同推理方法,能够取得一定的性能提升,但仍存在一些问题:
1)该系统中的时延预测器采用机器学习拟合函数,与Neurosurgeon相同,存在精度低的问题;
2)该CPU-GPU协同方法是层粒度的,存在高频同步的问题,而由于时延预测器的不准确性会造成CPU,GPU的运行差异,同步开销可能会成为时延的主体部分。
1)该文考虑到其他基于单网络复杂度指标(e.g. FLOPs)方法的局限性,该文提出基于多项式模型的模型性能预测方法;
2)该文不仅进行了模型运行时延预测,还设计了能耗的预测方法;
3)该文的完整模型时延预测是对各层时延的加和,实验发现各层运行时延的加和与完整模型运行时延相近,该说法是否可靠还待考究。
1)与部分工作采用模型各层时延之和预测完整模型时延的方法不同,该工作考虑了神经网络算子融合的问题,设计了针对不同设备类型的网络级时延预测方法;
2)但部分工作中提到nn-meter存在内存占用量大的问题,难以在移动设备上装载。
与层级时延预测不同,该工作将模型的结构信息也作为时延预测的一个参量,使用图卷积网络(GCN)直接预测完整模型的时延。
1)考虑整个网络的特性,而非是对单层时延预测值的简单加和,准确度更高;
2)未考虑设备特性,是完全黑盒的预测,模型尺寸可能比较大;
3)泛化能力差,对新模型的支持性差。
该工作设计了一个基于学习的神经网络性能评估模型,用于预测每个kernel的执行时间y'。
1)该工作考虑了框架在进行神经网络推理时算子间的影响,采用图嵌入的方式进行时延预测,比单层时延预测加和的模型时延预测准确;
2)该工作是基于学习的神经网络预测方法,计算和训练开销可能较大。
使用一个标定表模型预测每个算子的时延,通过计算算子时延之和预测模型总时延
1)该方法考虑到时延预测的效率,采用标定表代替预测模型,是一种轻量级的方案;
2)该方法在设备转换时可能存在需要重新标定的问题,工作量较大;
3)该方法未考虑框架在运行时的算子融合,存在精度低的问题。
该工作综合考虑了网络结构和硬件配置,通过分析DNN在设备上进行计算的过程对神经网络的推理时延进行预测。
1)该工作分析了在设备上进行推理需要的开销,能在一定程度上降低基于FLOPs时延预测的误差;
2)基于FLOPs的时延预测误差较大;
3)该工作对完整模型的时延预测方法采用多层时延的加和,未考虑算子融合机制,误差较大。
该工作侧重于对电脑应用程序运行时间的预测,与直接进行模型训练不同,其通过分析代码特性提取出多个程序的特征,并使用稀疏多项式回归模型预测程序运行时间。
1)该方法使用多项式模型预测程序运行时延,准确性优于基于FLOPs的线性模型;
2)该方法通过代码分析的方式预测电脑程序的运行时间,但对于神经网络的泛化性较差,许多代码并不开源,无法获得代码中的详细信息。
该工作使用基于机器学习的代价模型,在多轮预测的过程中测量模型实际运行时间,周期性地对模型进行更新,逐渐提高模型准确度。
1)该方法通过运行时对模型的逐渐优化提高模型在不同设备上的可迁移性;
2)该方法完全基于机器学习,训练和计算开销较大。
该工作的代价模型使用人工设计的项向量和小神经网络预测的系数向量点乘获得程序的运行时间。
1)该方法考虑了预测器的预测效率,通过人工设计的多项式将预测网络变成小神经网络;
2)该方法需要考虑程序的代码特征,而对于非开源程序,该方法的泛化性较差。
该工作注意到许多工作的时延预测模型在不同设备上的泛化开销大的问题,提出了一种基于元学习的硬件设备自适应时延预测器,在预测器部署到新设备时,只需要采集少量数据就可以实现模型迁移。
1)该工作考虑了预测模型在不同设备上的重新训练问题,使用元学习减少在不同设备上训练模型的代价;
2)该工作采用黑盒函数预测推理时延,要获得准确的预测结果需要复杂的函数,预测器效率不高。
工作的时延预测器使用LSTM网络进行特征提取,使用LightGBM进行时延回归。
1)该文参考了多种特征嵌入、预测模型,能够获得较高的预测精度;
2)该工作使用神经网络预测网络在设备上的时延,训练和预测的开销大,效率较低。
该工作设计的时延预测器使用网络图嵌入的方式对神经网络进行训练。同时,该工作将GPU的参数进行嵌入,通过微调的方式使模型适应不同的硬件平台
1)该工作采用图嵌入的方式进行时延预测,考虑了模型内部的内在联系,对模型块的时延预测更准确;
2)该工作完全使用神经网络预测模型运行时延,计算开销和模型尺寸都较大。
该工作使用统一的图嵌入方式将模型图和节点特征嵌入到one-hot向量中,并使用深层神经网络训练时延预测器。应用到不同硬件设备时使用迁移学习的方式进行微调,提高模型的准确度。
1)该工作采用图嵌入的方式进行时延预测,考虑了模型内部的内在联系,对模型块的时延预测更准确;
2)该工作详细介绍了高效进行数据采样的方法,能获得大量用于模型训练的数据;
3)该工作完全使用神经网络预测模型运行时延,计算开销和模型尺寸都较大。
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.