Re Reference AI

技術

QATとは

Quantization-Aware Training / 量子化を考慮した学習

学習段階から量子化による誤差を考慮に入れることで、低ビット化後も精度低下を抑える量子化手法

モデル圧縮軽量化

ひとことで言うと

学習の段階から量子化の影響を織り込んでおき、後で精度が落ちにくくする手法。

概要

QAT(Quantization-Aware Training、量子化を考慮した学習)とは、モデルの学習(または再学習)の過程に量子化による数値表現の丸め誤差をシミュレートする処理を組み込み、量子化後の性能低下をあらかじめ抑え込む量子化手法。 学習中、順伝播では量子化後の低ビット表現を模した値を使い、逆伝播では通常の高精度な勾配で重みを更新する「疑似量子化(fake quantization)」という仕組みにより、モデル自身が量子化の影響に適応した重みを学習する。 学習済みモデルへ事後的に変換を適用するPTQと比べて計算コストは高いが、特に低ビット(4bit以下等)まで圧縮する場合に、より高い精度を維持しやすいとされる。

背景

PTQのように学習済みモデルへ事後的に量子化を適用する手法は手軽だが、低ビット化の度合いが大きいほど性能低下が顕著になりやすい。QATは、学習段階から量子化による誤差を織り込むことで、量子化後の精度低下をより小さく抑えるために考案された。

歴史

2018年: GoogleのJacobらが論文「Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference」を発表。順伝播で量子化後の値をシミュレートしつつ逆伝播は高精度勾配で更新する、疑似量子化を用いた学習手法(QAT)を示した。

利点

  • 学習段階から量子化の影響を織り込むため、PTQと比べて低ビット化後の精度低下を抑えやすい
  • 特に4bit以下等、圧縮率の高い量子化を行う場合に効果を発揮しやすい

欠点

  • モデルの学習(または再学習)が必要なため、PTQと比べて計算コスト・時間がかかる
  • 学習用のデータセットや計算資源を確保できない場合には適用しにくい

比較

  • PTQPTQが学習済みモデルへ事後的に量子化を適用するのに対し、QATは学習段階から量子化の影響を考慮する
  • 量子化QATは、量子化の中でも学習段階から精度低下を抑える代表的な手法の1つ

関連用語

PTQ量子化INT4

よくある質問

QATはどんな場合に検討すべき?

4bit以下等、圧縮率の高い量子化を行いたい場合や、PTQでは許容できないほど精度が低下する場合にQATの適用が検討される。学習用データセットや計算資源を確保できることが前提になる。

参考文献