YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

量子化対応学習(QAT)

量子化対応トレーニング (QAT) がエッジデプロイ向けに Ultralytics YOLO26 モデルをどのように最適化するかを学びましょう。INT8精度で高い精度を維持する方法を発見してください。

量子化対応トレーニング (QAT) は、機械学習モデルのトレーニングフェーズで使用される特殊な手法で、低精度環境向けにモデルを準備します。標準的な深層学習ワークフローでは、モデルは通常、高精度32ビット浮動小数点数 (FP32) を使用して動作します。この精度は優れた正確性を提供しますが、特にエッジデバイスでは、計算コストが高く、メモリを大量に消費する可能性があります。QATは、モデルがトレーニング中である間に、量子化(精度を8ビット整数(INT8)のような形式に削減すること)の効果をシミュレートします。学習プロセス中にこれらの量子化誤差を導入することで、モデルは重みを適応させ、トレーニング後の変換で失われる可能性のある精度を効果的に回復することを学習します。

なぜQATはエッジデプロイメントにとって重要なのか

リソース制約のあるデバイスにコンピュータービジョンモデルをデプロイするには、多くの場合、速度とパフォーマンスのバランスが求められます。訓練後量子化(PTQ)として知られる標準的な量子化手法は、モデルが完全に訓練された後にのみ精度削減を適用します。PTQは高速ですが、ニューラルネットワークの重みが調整の機会なしに大幅に変更されるため、デリケートなモデルの精度を低下させることがあります。

QATは、モデルが量子化される「練習」をすることでこれを解決します。トレーニングの順伝播中に、重みと活性化は低精度値としてシミュレートされます。これにより、勾配降下プロセスは、量子化された状態に特化して損失を最小化するようにモデルパラメータを更新できます。その結果、マイクロコントローラーやモバイルプロセッサのようなハードウェアにデプロイされた場合でも、高い精度を維持する堅牢なモデルが得られます。

QATと推論後量子化 (PTQ) の比較

QATをモデル量子化、特に学習後量子化(PTQ)と区別することは有用です。

  • 訓練後量子化 (PTQ): モデルはFP32で通常通りトレーニングされます。トレーニング完了後、重みはINT8に変換されます。これは高速で再トレーニングは不要ですが、複雑なアーキテクチャではより高い精度損失をもたらす可能性があります。
  • 量子化対応トレーニング (QAT): ファインチューニング段階で量子化プロセスがエミュレートされます。モデルは、低精度によって導入されるノイズに対応するために内部パラメータを調整し、通常、PTQよりも優れた精度をもたらします。

実際のアプリケーション

QATは、エッジハードウェアでのリアルタイム推論が重要となる産業にとって不可欠です。

  • 自律ドローン: AIドローン運用において、バッテリー寿命とオンボード処理能力は厳しく制限されています。QATを介して最適化されたモデルを使用するドローンは、INT8アクセラレーターを使用しながら、障害物をdetectしたり、オブジェクトをtrackしたりすることができ、FP32モデルと比較して飛行時間を大幅に延長します。
  • Smart Retail Cameras: スーパーマーケットでは、小売業におけるコンピュータービジョンを使用して棚の在庫を監視したり、レジの列を管理したりします。これらのシステムは、多くの場合、低電力のエッジゲートウェイで動作します。QATは、これらのデバイスで動作するobject detectionモデルが、高価なクラウド接続を必要とせずに類似製品を区別するために必要な精度を維持することを保証します。

Ultralytics を用いた QAT の実装

Ultralytics PlatformとYOLOエコシステムは、モデルを量子化形式にエクスポートすることをサポートしています。QATは複雑なトレーニング手順ですが、最新のフレームワークは量子化推論のためのモデルの準備を容易にします。

以下は、効率的なエッジデプロイメントのために量子化の原則を利用する、訓練済みのYOLO26モデルをINT8量子化TFLite形式にエクスポートする方法の例です。

from ultralytics import YOLO

# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)

エッジエコシステムとの統合

量子化技術によって最適化されたモデルは、専用の推論エンジンで実行されるように設計されています。QATトレーニング済みモデルは、クロスプラットフォーム互換性のためにONNX Runtime、またはIntelハードウェアでの最適化のためにOpenVINOを使用して頻繁にデプロイされます。これにより、ターゲットがRaspberry Piであろうと専用のEdge TPUであろうと、モデルは可能な限り最高の効率と速度で動作することが保証されます。

QATに関連する主要な概念

QATを完全に理解するには、いくつかの関連する機械学習の概念に精通していることが役立ちます。

  • 精度: 数値を表現するために使用される詳細レベルを指します。半精度 (FP16) とINT8は、量子化の一般的なターゲットです。
  • キャリブレーション: 浮動小数点数を整数に効果的にマッピングするための動的活性化値(最小/最大)の範囲を決定するプロセスです。これは、量子化されたYOLOモデルをデプロイする上で重要なステップです。
  • 推論レイテンシ: QATの主な利点の1つは、推論レイテンシを削減し、リアルタイムシステムでの意思決定を高速化できることです。
  • Fine-Tuning: QATは、ゼロからトレーニングするのではなく、事前学習済みモデルに対するファインチューニングステップとして実行されることが多く、計算リソースを節約します。

量子化対応トレーニングをMLOpsパイプラインに統合することで、開発者は高精度な研究モデルと、高効率で本番環境対応のエッジAIアプリケーションとの間のギャップを埋めることができます。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。