當前位置: 華文星空 > 財經

AI模型量化後速度為什麽變慢了?

2021-08-24財經

學習量化一年多了,這裏拋個磚。

模型量化實際的推理速度很大程度取決於推理引擎的最佳化以及硬體的支持。

舉個例子,如果是用 ncnn 部署到 CPU(arm) 平台,那麽 ncnn 實際上只會對 conv 和 fc 進行量化推理,相比 fp32 而言,這裏面的優勢只在於 int8 的頻寬小、計算速度稍快,理論上速度可以快 2~4 倍,當然實際上由於有量化/反量化這些額外操作,一般能到 2 倍就不錯了。但現代 CPU 的浮點運算能力並不算差,加上 winograd 演算法加持,fp32 的速度反而可能更快。

而如果是部署到 DSP/NPU 這些純定點運算的芯片,量化推理才能發揮巨大的優勢,在這類芯片上往往可以做到全量化推理,當然前提是推理引擎可以用好硬體上的指令。不過,如果你的模型裏面存在一些定點上很難模擬的算子 (比如:tanh),那推理速度可能也會變得異常緩慢。

總的來說,模型量化要實作真正的加速,需要考慮:

  1. 部署的平台是否有硬體層面的支持;
  2. 推理引擎本身是否有針對量化的最佳化;
  3. 模型包含的算子在定點運算上是否方便。

=======================================================

AI時代,模型量化是趨勢,將來也是共識。在入門量化的時候,我磕磕絆絆走了不少彎路,深感這方面的入門資料太少,對小白很不友好。所以寫了一系列量化相關的教程,希望能幫助後來者少走彎路: