Quantization-Aware Training (QAT)により、エッジデバイス向けのAIモデルを最適化し、リソースが限られた環境でも高い精度と効率を実現します。
量子化を考慮したトレーニング(QAT)は、数値精度の低いニューラルネットワーク(NN)の展開に備える高度なモデル最適化手法です。32ビット浮動小数点数(FP32)を使用する標準的なトレーニングとは異なり、QATはトレーニングや 微調整の過程で8ビット整数(INT8)計算の影響をシミュレートします。推論中に遭遇する量子化誤差をモデルに「認識」させることで、QATは精度の潜在的な損失を最小化するようにモデルの重みを調整します。その結果、コンパクトで効率的なモデルでありながら高い性能を維持できるため、リソースに制約のあるハードウェアへの導入に最適です。
QAT プロセスは通常、事前にトレーニングされた FP32 モデルから開始されます。「偽の」量子化ノードがモデルのアーキテクチャに挿入され、浮動小数点値を低精度の整数に変換して戻す効果を模倣します。その後、モデルはトレーニングデータセットで再トレーニングされる。この再トレーニングの段階で、モデルは標準的なバックプロパゲーションにより、量子化に伴う情報損失への適応を学習する。これによりモデルは、精度の低下に対する感度が低い、よりロバストな重みのセットを見つけることができる。PyTorchや TensorFlowなどの主要な深層学習フレームワークは、QATワークフローを実装するための堅牢なツールとAPIを提供している。
QATは、もうひとつの一般的なモデル量子化手法であるPost-Training Quantization(PTQ)とよく比較される。重要な違いは、量子化が適用されるタイミングにある。
量子化を考慮したトレーニングは、効率が重要なリソース制約のある環境で高度なAIモデルを展開するために不可欠です。
QATは、モデル展開を最適化するためのいくつかのテクニックのひとつであり、最大限の効率を得るために他のテクニックと併用されることが多い。
Ultralyticsは、QATワークフローと互換性のあるONNX、TensorRT、TFLiteのような様々なフォーマットへのモデルのエクスポートをサポートしており、Intelや NVIDIAのような企業の多様なハードウェアへの効率的な展開を可能にします。QAT に最適化されたモデルは、Ultralytics HUB のようなプラットフォームを使用して管理およびデプロイできます。QAT後に関連するメトリクスを使用してモデル性能を評価することは、精度要件が満たされていることを確認するために不可欠です。