Yolo 深圳
深セン
今すぐ参加
用語集

量子化対応学習(QAT)

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

量子化対応トレーニング(QAT)は、機械学習モデルのトレーニング段階で用いられる特殊な技術であり、低精度環境への対応を目的とする。標準的な深層学習ワークフローでは、モデルは通常高精度な32ビット浮動小数点数(FP32)を用いて動作する。この精度は優れた精度を提供する一方で、特にエッジデバイス上では計算コストが高くメモリを大量に消費する可能性がある。 QATは、モデルがまだ学習中の段階で、8ビット整数(INT8)などの形式へ精度を低下させる量子化の影響をシミュレートします。学習プロセス中にこれらの量子化誤差を導入することで、モデルは重みを適応させ、学習後の変換で失われる可能性のある精度を効果的に回復することを学びます。

QATがエッジデプロイメントにおいて重要な理由

リソース制約のあるデバイスへの コンピュータビジョンモデルの展開では、 速度と性能のバランスが求められることが多い。 標準的な量子化手法である ポストトレーニング量子化(PTQ)は、 モデルが完全に学習された後にのみ 精度削減を適用する。 PTQは高速である一方、 ニューラルネットワークの重みが 調整の機会なく大幅に変化するため、 感度の高いモデルの精度を 低下させることがある。

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

QATとポストトレーニング量子化(PTQ)の差異化

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

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

実際のアプリケーション

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

  • 自律型ドローン: AIドローン運用において、バッテリー寿命と搭載処理能力は厳しく制限される。QATで最適化されたモデルを採用したドローンは、INT8アクセラレータを使用しながらも障害物を高精度でtrack でき、FP32モデルと比較して飛行時間を大幅に延長できる。
  • スマート小売カメラ:スーパーマーケットでは小売分野でコンピュータービジョンを活用し、棚の在庫管理やレジ列の管理を行っています。これらのシステムは低電力エッジゲートウェイ上で動作することが多く、QATはこれらのデバイス上で動作する物体検出モデルが、高価なクラウド接続を必要とせずに類似製品を区別するために必要な精度を維持することを保証します。

UltralUltralyticsによるQATの実装

Ultralytics YOLO 、モデルの量子化形式へのエクスポートをサポートしています。QATは複雑なトレーニング手順ですが、最新のフレームワークは量子化推論に向けたモデルの事前処理を容易にします。

以下は、学習済みYOLO26モデルをINT8量子化TFLite にエクスポートする例です。 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 を使用してデプロイされることが多く、あるいは OpenVINO による最適化Intel 。これにより、 ターゲットがRaspberry Piであれ専用 EdgeTPUであれ、モデルが可能な限り最高の 効率と速度で動作することが保証される。

QATに関連する主要概念

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

  • 精度:数値を表現する際に用いられる詳細度のレベルを指す。 ハーフ精度(FP16)とINT8は、量子化の一般的な対象である。
  • キャリブレーション:浮動小数点数を整数に効率的にマッピングするための動的活性化値の範囲(最小/最大)を決定するプロセス。これは量子化YOLO を展開する上で重要なステップである。
  • 推論レイテンシ:QATの主な利点の一つは推論レイテンシの低減であり、 リアルタイムシステムにおける意思決定の高速化を可能にします。
  • 微調整:QATは、ゼロから訓練するのではなく、事前訓練済みモデルに対する微調整ステップとして実施されることが多く、計算リソースを節約します。

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

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加