量子化対応トレーニング(QAT)を使用してエッジデバイス向けにAIモデルを最適化し、リソースが限られた環境で高い精度と効率を保証します。
Quantization-Aware Training (QAT)は、洗練されたモデル最適化技術です。 モデル最適化手法 ニューラルネットワークを を限られた計算資源しかないハードウェア上に展開できるように設計された高度なモデル最適化手法です。標準的な 標準的な深層学習モデルは通常 高精度32ビット浮動小数点数(FP32)を使用してデータを処理しますが、多くのエッジAIデバイスでは エッジAIデバイスでは、メモリを節約するために8ビット整数(INT8)のような低精度 整数(INT8)のような低精度を必要とします。QATは、この変換によってしばしば生じる精度の低下に、次の方法で対処します。 量子化の影響をシミュレーションすることで をシミュレートすることで、この変換に起因する精度の低下に対処している。このプロアクティブなアプローチにより モデルは精度の低下に対応するために重みを調整する。 その結果、予測性能を維持した非常に効率的なモデルが得られる。
量子化を考慮したトレーニングの中核となるメカニズムは、トレーニング中にモデルのアーキテクチャに「偽の」量子化ノードを挿入することである。 を挿入する。これらのノードは、FP32の値をINT8に変換する際に発生する丸め誤差やクランピング誤差をモデル化する。 FP32値をINT8に変換する際に発生する丸め誤差やクランピング誤差をモデル化する。フォワード・パスの間、モデルは量子化されたかのように動作します。 バックプロパゲーションを使用し、高精度で重みを更新します。 を高精度に更新し、シミュレートされた誤差を補正します。
このプロセスは、精度の低下によってもたらされるノイズに対してロバストになるよう、本質的にモデルを微調整するものである。主要な のような PyTorchや TensorFlowやTensorFlowのようなフレームワークは APIを提供している。これらの制約を早期に統合することで、最終的にエクスポートされるモデルは、次のようなターゲット・ハードウェアの性能にはるかによく適合します。 組み込みシステムで見られるような、ターゲットとなるハードウェアの性能との整合性が格段に向上します。 組み込みシステムに見られるような
QATと以下のものを区別することが重要である。 ポストトレーニング量子化(PTQ)と区別することが重要である。 と区別することが重要である:
QATは、推論のレイテンシーと消費電力が重視される 推論レイテンシーと消費電力が 不可欠です。
完全なQATパイプラインには特定のトレーニング設定が含まれることが多いが ultralytics ライブラリ
は、エクスポートプロセスを合理化し、配備準備が整った量子化モデルを生成します。次の例は
にYOLO11 モデルをエクスポートする方法を示します。 TFLite INT8 量子化フォーマット、
効率的なエッジ実行に備える。
from ultralytics import YOLO
# Load the YOLO11 model (latest stable version)
model = YOLO("yolo11n.pt")
# Export to TFLite with INT8 quantization
# This creates a compact model optimized for edge devices
model.export(format="tflite", int8=True)
最大の効率を得るために、QATはしばしば他の モデルと組み合わせることが多い。 モデルの刈り込みは、量子化の前に冗長な接続を削除する。 を削除し、サイズをさらに縮小する。さらに 知識抽出を使用して コンパクトな学生モデルを訓練し、それをQATを使って改良する。最終的に量子化されたモデルは のような高性能ランタイムと互換性がONNX 。 OpenVINOなどの高性能ランタイムと互換性があり 多様なハードウェアプラットフォーム Intelから Google コーラル


