跳转至

03 Profiler 与时延感知

作者:鲁天硕
时间:2024/7/27

参考:nn-Meter


01 为啥需要延时预测???

  1. 对于许多在真实设备上测量延迟不可行或成本太高的任务来说,DNN 模型推理的延迟预测是非常可取的
  2. 现有的方法无法实现高精度的预测,因为在不同的边缘设备上进行运行时优化会导致不同的模型推理延迟。
  3. 为了对模型进行既准确又高效的设计,模型压缩和最近的神经架构搜索 (NAS) 将 DNN 模型的推理延迟视为硬设计约束。

02 延迟预测的难点

相关工作: 1. 基于 FLOPS 1 的方法已被广泛用于评估效率,这很简单,但不是延迟的直接指标。 2. 为了预测模型的趋势,许多 NAS 工作构建了算子查找表。这种操作员级方法汇总了所有操作器的延迟。但是,他们没有考虑由模型图的运行时优化引起的模型延迟差异 3. 最先进的BRP-NAS [13]使用图卷积网络(GCN)来预测NASBench201 [12]数据集在各种设备上的延迟。它通过学习模型图的表示和相应的延迟来捕获运行时优化。然而,这种基于模型图的评估方法在很大程度上依赖于测试的模型结构,可能不适用于许多看不见的模型结构。

如何在保持高预测精度的同时进行高效采样仍然是一个巨大的挑战: 1. 图拆分 & 算子融合与设备的适配 2. 内核在延迟和预测特征之间显示出非线性。 3. 内核的多个可配置维度为延迟预测带来了巨大的可能搜索空间,高达数十亿。对整个十亿尺度的配置空间进行采样以获得标记的训练数据是不可行的。


03 观测粒度

内核是深度学习框架中的基本调度和执行单元(例如,GPU 内核): 1. 执行子图 2. 算子


04 它干了啥???

  1. 在黑盒事务中自动检测各种边缘设备上可能的内核:设计了一组测试用例来检测两个算子是否可以融合。设计了一种基于DFS的规则匹配算法,用于在模型中搜索最大融合单元(即核)。
  2. 为了降低数据采样成本,nn-Meter采用了自适应数据采样算法,该算法同时利用了模型设计和硬件延迟特性。它首先修剪了 DNN 模型中很少考虑的内核配置。然后,执行迭代抽样过程,以自动确定最有利的配置进行采样,而不是随机选择。最后,我们构建机器学习回归器来学习采样数据的非线性。

数据集:NASBench201 数据集 融合规则离线收集,在线模型预测,算子融合