浮動小数点数は精度が高い反面、データ量が多い。量子化によって、モデルの重みや活性化関数の数値精度が低下し、通常は32ビット浮動小数点数から8ビットまたは4ビット整数に変換される。これにより、モデルのサイズが小さくなり、処理速度が向上し、消費電力も削減される。
トレードオフとなるのは精度です。積極的な量子化は、特に細かい数値の区別が必要なタスクにおいて、出力品質を低下させます。トレーニング後の量子化はコストは低いものの、情報が失われます。量子化を考慮したトレーニングでは、トレーニング中に低精度をシミュレートすることで、失われた精度の大部分を回復できます。
一般的な量子化レベル
- 16ビット浮動小数点、軽微な圧縮
- 8ビット整数、推論に広く使用されている
- 4ビット整数、アグレッシブだが、注意すれば実現可能
- バイナリと三元、実験的
ハードウェアのサポート状況は様々です。一部のアクセラレータは8ビットをネイティブに処理し、大幅な高速化を実現します。一方、他のアクセラレータはより低速な処理経路にフォールバックします。量子化方式の選択は、モデルだけでなく、展開先の環境にも大きく左右されます。
Comments
No comments yet. Be the first to share a thought.
Leave a comment