昇腾社区首页
中文
注册
开发者
下载

batchsize调优

使用背景

针对部分小算子,增大batchsize可以降低头开销的占比。同时可能增大小算子占用核数以提升整体性能。能更大程度的利用NPU核的计算资源,减少权重的重复搬运。

使用约束

  1. 增大batchsize,会提升算子计算时所需要的核数,与分核功能同时使用时,会导致时延劣化严重,需要具体时延验证最佳的batchsize。
  2. Cache命中率会下降。
  3. batchsize一般由客户业务决定,增大bs可以在本地压测脚本中测试出一个性能,正式推到线上的时候,由于batchsize不固定,也可能存在padding的场景,所以最佳性能会不如本地。

具体案例

以下为真实模型数据,可以看到吞吐量随batchsize增大而增大。

表1 模型数据

batchsize

推理耗时(ms)

吞吐量

86

8.5

10117

128

10.4

12258

256

14.9

17231

512

26.7

19195