工程之道,曠視MegEngine工業級模型量化能力的構建與實戰

MegEngine 提供從訓練到部署完整的量化支持,包括量化感知訓練以及訓練後量化,憑藉“訓練推理一體”的特性,MegEngine更能保證量化之後的模型與部署之後的效果一致。本文將簡要介紹神經網絡量化的原理,並與大家分享MegEngine量化方面的設計思路與實操教程。

背 景

近年來隨着邊緣計算和物聯網的興起與發展,許多移動終端(比如手機)成爲了深度學習應用的承載平臺,甚至出現了各式各樣專用的神經網絡計算芯片。由於這些設備往往對計算資源和能耗有較大限制,因此在高性能服務器上訓練得到的神經網絡模型需要進行裁剪以縮小內存佔用、提升計算速度後,才能較好地在這些平臺上運行。

一種最直觀的裁剪方式就是用更少位數的數值類型來存儲網絡參數,比如常見的做法是將 32 位浮點數模型轉換成 8 位整數模型,模型大小減少爲 1/4,而運行在特定的設備上其計算速度也能提升爲 2~4 倍,這種模型轉換方式叫做量化(Quantization)。

量化的目的是爲了追求極致的推理計算速度,爲此捨棄了數值表示的精度,直覺上會帶來較大的模型掉點,但是在使用一系列精細的量化處理之後,其在推理時的掉點可以變得微乎其微,並能支持正常的部署應用。

原 理

實現量化的算法多種多樣,一般按照代價從低到高可以分爲以下四種:

原文鏈接:【https://www.infoq.cn/article/B6IRpefL09cPy5GKh0Xd】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章