MLモデルの量子化
uantize(クオンタイズ:量子化)とは、重みなどのパラーメータをより小さいビットで表現することで、モデルの軽量化を図る手法です。
使用するビットを制限することでネットワークの構造を変えずにメモリ使用量を削減できます
TensorFlowやPyTorchなどのディープラーニングのフレームワークでは、32ビット浮動小数点精度(float型)を使用することがほとんどです。
近年の研究(参考文献④)では、8ビットの量子化であれば1%程度の性能低下であることが報告されています(図5: 1×4の意味は、(重みの1ビット)×(活性化関数4bit)を意味する)
。中でも使用するビットを1〜2ビットにすることで乗算をXNORゲートで表現することができるため、ASICやFPGAなどでは計算効率が大きく向上します。
ただし、使用するビットを小さくするほど精度が低下する可能性が高いことに注意が必要です。