模型的推理速度

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……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值