量子化認識トレーニングとは
Quantization-Aware Training / QAT
学習中に量子化による誤差をシミュレートし、量子化後の精度低下を抑えるよう重みを調整する学習手法
概要
量子化認識トレーニング(QAT)は、モデルの重みや活性化を低ビット精度(int8など)に量子化することを前提に、その量子化による誤差を学習過程でシミュレートしながらパラメータを調整する手法。順伝播時に疑似量子化(fake quantization)を挿入して量子化後の値を模擬し、逆伝播では量子化誤差を考慮した勾配でパラメータを更新することで、量子化による精度低下を抑える。 学習済みモデルに対して事後的に量子化を適用するポストトレーニング量子化(PTQ)と比較すると、QATは学習(または追加のファインチューニング)が必要な分コストは高いが、一般に量子化後の精度低下が小さい。 2017年にGoogleのJacobらが発表した論文「Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference」で提案された手法。
利点
欠点
- 量子化を考慮した学習・ファインチューニングの計算コストが追加で発生する
- 疑似量子化の実装や対象レイヤーの選定に工夫が必要