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

モデル量子化

モデル量子化がUltralytics AIUltralytics 最適化する仕組みを学びましょう。メモリ削減、レイテンシ低減、高速推論のためのINT8モデルエクスポート手法を発見してください。

モデル量子化は、深層学習モデルの実行に伴う計算コストとメモリコストを削減するために用いられる高度なモデル最適化技術である。標準的なトレーニングワークフローでは、ニューラルネットワークは通常、32ビット浮動小数点数(FP32)を用いてパラメータ(weights and biases)および活性化マップを保存する。この高精度はトレーニング中の正確な計算を保証するが、推論には往々にして不要である。 量子化はこれらの値を16ビット浮動小数点(FP16)や8ビット整数(INT8)などの低精度形式に変換し、 精度を大幅に損なうことなくモデルサイズを効果的に縮小し、実行速度を加速します。

量子化が重要な理由

量子化の主な推進要因は、リソース制約のあるハードウェア上で強力なAIを展開する必要性である。 YOLO26のような コンピュータビジョンモデルが複雑化するにつれ、その計算要求は増加する。 量子化は3つの重大なボトルネックに対処する:

  • メモリフットプリント:重みのビット幅を削減することで(例:32ビットから8ビットへ)、モデルのストレージ要件が最大4倍削減されます。これはアプリケーションサイズに制限があるモバイルアプリにおいて極めて重要です。
  • 推論レイテンシ:低精度演算は計算コストが低い。現代のプロセッサ、 特に専用ニューラル処理ユニット(NPU)を搭載したものは、 FP32よりもはるかに高速にINT8演算を実行でき、 推論レイテンシを大幅に削減する。
  • 消費電力:メモリ経由で転送するデータ量を減らし、より単純な算術演算を実行することで エネルギー消費が低減され、携帯機器や自律走行車両のバッテリー寿命が延長される。

関連概念との比較

量子化は他の最適化手法とは区別することが重要である。なぜなら、それらはモデルを異なる方法で変更するからである:

  • 量子化とプルーニングの比較:量子化はパラメータのビット幅を下げることによりファイルサイズを削減する一方、モデルプルーニングは不要な接続(重み)を完全に除去して疎なネットワークを構築する。プルーニングはモデルの構造を変更するのに対し、量子化はデータの表現を変更する。
  • 量子化と知識蒸留の比較: 知識蒸留とは、小さな「生徒」モデルが大きな「教師」モデルを模倣するように学習する トレーニング手法である。量子化は蒸留後に生徒モデルに適用されることが多く、 エッジAIの性能をさらに向上させる。

実際のアプリケーション

量子化は、効率性が最優先される様々な産業分野において、コンピュータビジョンとAIを可能にします。

  1. 自律システム:自動車産業において、自動運転車はカメラやLiDARからの視覚データをリアルタイムで処理しなければならない。量子化モデルは NVIDIA TensorRT エンジンに展開された量子化モデルにより、これらの車両は detect 障害物をミリ秒単位の遅延でdetect 、乗客の安全を確保します。
  2. スマート農業:マルチスペクトルカメラを搭載したドローンは、量子化された物体検出モデルを用いて作物の病害を特定したり生育段階を監視したりする。これらのモデルをドローンの組み込みシステム上でローカルに実行することで、遠隔地における不安定な携帯電話回線への依存を解消する。

Ultralytics量子化の実装

Ultralytics エクスポートプロセスを簡素化し、開発者が最先端のYOLO26のようなモデルを量子化形式に変換できるようにします。Ultralytics また、これらのデプロイメントをシームレスに管理するためのツールを提供します。

以下の例は、モデルを TFLite へのエクスポート方法を示します。このプロセスには、モデルがサンプルデータを観察して量子化値の最適なダイナミックレンジを決定する キャリブレーションステップが含まれます。

from ultralytics import YOLO

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

# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")

最適化されたモデルは、 ONNX や、 OpenVINO OpenVINOなどの高性能推論エンジンを用いてデプロイされ、多様なハードウェアエコシステム間で広範な互換性を確保します。

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

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

今すぐ参加