模型的推理速度

编程入门 行业动态 更新时间:2024-10-10 06:17:20

<a href=https://www.elefans.com/category/jswz/34/1771358.html style=模型的推理速度"/>

模型的推理速度

1. 模型大小的四种描述

2. 计算量、访存量与推理速度的关系

2.1 计算密度

从上面可以看出计算量和访存量都能影响模型的推理速度,那么进一步定义计算密度为计算量除以访存量,如下:

计算密度用于反映一个程序是计算更为密集,还是访存更为密集。

  • 计算密集型程序:Compute bound
  • 访存密集型程序:Memory bound

2.2 Roofline 模型

一种用于评估程序在硬件上能达到的性能上界的数学模型。

横轴表示计算密度,在2.1我们讲述每一个模型都有一个计算密度,也就是说横轴表示的是模型。纵轴表示的是计算速度。

这个数学模型表示,在这块硬件上跑某一个模型(给出一个计算密度)所能达到的最佳的计算速度。

可以看出来这个是一个分段函数:

  • 对于访存型密集程序:计算速度 = 计算密度 × 带宽,即与硬件的带宽有非常大的关系。
  • 对于计算型密集程序,计算速度 = 峰值计算速度,即与硬件的算力(峰值计算速度)有很大关系。

2.3 推理速度

在2.2的部分给出了计算速度的计算方式,知道了计算速度就可以计算出来推理速度,如下

对于访存密集的计算公式是:

计算量/计算速度 = 计算量 / (计算密度 * 带宽) = 计算量/(计算量 * 带宽 /访存量) = 访存量/带宽

这里我们没有像上面那样区分程序,而是变为算子,因为一个模型中可能既有访存密集型的算子,也有计算密集的算子,因此推理速度也没有像上面的公式一样严格区分,而是比较复杂的。

  • 访存密集型算子:Concat、Eltwise Add、ReLU、MaxPooling……
  • 计算密集型算子:Conv、DeConv、FC、MatMul、LSTM……

更多推荐

模型的推理速度

本文发布于:2024-03-12 02:13:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1730458.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模型   速度

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!