加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

发布时间:2019-09-16 22:18:40 所属栏目:建站 来源:Maglish
导读:现如今,互联网服务正经历着根本性的变化,并逐渐转向智能计算时代。现代互联网服务提供商普遍采用人工智能来增强其服务。在这种背景下,研究人员提出了许多创新的人工智能算法、系统和架构,因此基准(benchmark)和评估基准的重要性也随之上升。然而,现

人工智能相关组件对服务性能的权重。 人工智能组件显著改变了关键路径。在评估中,在 AI 相关和非 AI 相关组件上花费的时间平均为 34.29 和 49.07 毫秒,第 90 百分位延迟为 74.8 和 135.7 毫秒,第 99 百分位延迟为 152.2 和 466.5 毫秒。这表明,一个工业规模的人工智能应用基准套装是现代互联网服务必不可少的。

AI 的局限性。 在线推理模块需要对训练后的模型进行加载,并进行前向计算得到结果。然而,神经网络模型的深度或大小可能在很大程度上影响推理时间。当模型的大小从 184mb 增加到 253mb,TensorFlow 服务的延迟急剧增加,平均延迟从 30.78 毫秒增加到 125.71 毫秒,第 99 百分位延迟从 149.12 毫秒增加到 5335.12 毫秒。因此,互联网服务架构师必须在服务质量和神经网络模型的深度或大小之间进行权衡。

微结构行为的差异: 

  • 非 AI 相关组件与 AI 相关组件之间的差异。 作者使用 perf 对 AI 相关和非 AI 相关组件的缓存行为进行了采样。作者发现,与非 AI 相关的组件相比,AI 相关的组件会遭受更多的缓存缺失(cache miss)。TensorFlow 服务每千条指令有 61 个 L2 缓存缺失,而非 AI 相关组件的平均数量仅为 37。
  • 从小型神经网络模型到大型神经网络模型的变化。 作者比较了两种神经网络模型,一种是较小的 184mb,另一种是较大的 253mb。对于更大的模型,每千条指令的 L3 缓存缺失率会急剧增加,从 1.38 增加到 8.9,这会导致大量内存后端暂停以从内存中获取数据。因此,第 99 百分位的延迟增加了 30 倍以上。

5.2 离线训练评估

在本小节中,主要分析了 GPU 的执行效率,并评估了 Titan XP 上端到端 AI 应用程序基准的离线分析器中使用的十个组件基准。

作者通过函数级运行时间分解和执行暂停分析全面分析了 GPU 的运行效率。图 4 显示了每个组件基准的 SM 效率,从 29%(学习排序)到 95%(推荐)不等。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

图 4:SM 效率

为了研究影响性能的因素,作者首先进行运行时间分解分析,将基准分解为热点内核或函数,然后根据不同的暂停百分比来计算 GPU 的执行效率。

 5.2.1 运行时间分解

作者利用 nvprof 对运行时间进行跟踪,找出占运行时间 80% 以上的热点函数。作者将占用大量运行时间的函数挑选出来,并根据它们的计算逻辑将它们分为几类内核。通过统计,将十个组件基准中最耗时的函数分为六类内核:卷积、通用矩阵乘法(gemm)、批规一化、relu 激活函数、元素操作和梯度计算。每个内核都包含一组解决类似问题的函数。例如,gemm 内核包括单精度或双精度浮点通用矩阵乘法等。图 5 显示了上述六个内核的运行时间分解,即每个内核中所有相关函数的平均值。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

图5:10个组件基准的运行时间分解

此外,对于每个内核,作者总结了在十个组件基准中占用大量运行时间的典型函数,如表 7 所示。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

表7:每个内核的热点函数

从图 5 中我们发现,学习排序花费了太多时间进行卷积,相应的函数调用是 maxwell_scudnn_128x32_stridedB_splitK_interior_nn,SM 效率为 18.5%,这就是学习排序基准的 SM 效率最低的原因。作者认为,这六个内核及其相应的函数不仅是 CUDA 库优化的优化方向,也是微结构优化的优化方向。

 5.2.2 GPU 执行效率分析

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读