用語集

モデルの量子化

モデルの量子化でAIのパフォーマンスを最適化。サイズを縮小し、速度を向上させ、エネルギー効率を改善することで、実世界での展開を実現します。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

モデルの量子化は、AIモデルを展開する際の計算コストとメモリコストを削減するために、機械学習で使用される重要な最適化手法である。これは、ニューラルネットワークの重みと活性度を高精度浮動小数点数(32ビット浮動小数点数など)から8ビット整数などの低精度フォーマットに変換することで機能する。この処理により、モデルサイズが大幅に縮小され、推論速度が高速化されるため、リソースに制約のあるデバイスへの展開に最適です。

モデルの量子化を理解する

モデルの量子化の中核となる考え方は、モデル内の数値をより少ないビット数で表現することだ。ほとんどのディープラーニング・モデルは、浮動小数点数を用いてトレーニングされ、動作する。浮動小数点数は精度が高いが、大きな計算能力とメモリを必要とする。量子化は、浮動小数点値の連続的な範囲を、より小さな離散整数値の集合にマッピングすることで、この需要を削減する。これは、画像のカラーパレットを減らすことに例えることができます。細部が失われるかもしれませんが、本質的な情報は残り、ファイルサイズははるかに小さくなります。

モデルの量子化にはいくつかの手法がある。ポストトレーニング量子化は、モデルが完全にトレーニングされた後に適用され、それ以上トレーニングすることなく、重みとアクティベーションをより低い精度に変換します。これは簡単な方法ですが、精度がわずかに低下することがあります。一方、量子化を考慮した学習(QAT)は、量子化プロセスを学習フェーズそのものに組み込む。これによりモデルは学習し、精度の低い制約に適応できるようになり、多くの場合、学習後の量子化と比較して精度が向上する。混合精度トレーニングのような技術も、トレーニングプロセスにおいて精度と効率のバランスをとるために使用することができる。

モデル量子化の利点

モデルの量子化には、特にAIモデルを実世界のアプリケーションに展開する上で、いくつかの重要な利点がある:

  • モデルサイズの縮小:量子化により、モデルファイルのサイズが大幅に縮小されます。例えば、モデルを32ビットの浮動小数点数から8ビットの整数に変換すると、モデルサイズを最大4倍まで縮小することができます。これは、携帯電話やエッジデバイスのような、ストレージに制限のあるデバイスにモデルを展開する場合に特に有益です。
  • より速い推論速度:特に整数演算に最適化されたハードウェアでは、低精度の計算が大幅に高速化されます。これは、Ultralytics YOLO モデルを使用したリアルタイムの物体検出のようなアプリケーションにとって非常に重要です
  • 計算コストの低減:より低い精度で計算を行うことで、必要な計算パワーとエネルギーが少なくて済む。これはバッテリー駆動のデバイスにとって不可欠であり、AIアプリケーションに必要な全体的な計算リソースを削減します。
  • エネルギー効率の向上:計算要求の低減はエネルギー消費の低減につながるため、量子化モデルはエネルギー効率に優れています。これは、モバイルシステムや組み込みシステムにとって特に重要です。

実世界での応用

モデルの量子化は、特にリソースが限られている場合やスピードが重要な場合など、幅広いアプリケーションでAIモデルを展開するために不可欠です。以下にいくつかの例を挙げる:

  1. モバイル機器:スマートフォンは、画像認識や自然言語処理のようなオンデバイスAI機能に量子化モデルを利用することがよくあります。量子化によって、これらの複雑なモデルを、モバイルGPUや、Raspberry Piのようなデバイスに見られるEdge TPUのような特殊なハードウェアで、バッテリーの消耗やパフォーマンスの問題を引き起こすことなく、効率的に実行することができる。例えば、Android またはiOS アプリでUltralytics YOLO モデルを実行すると、リアルタイムの物体検出のために量子化の恩恵を大いに受けることができます。
  2. エッジコンピューティングとIoTデバイス:スマートシティや産業オートメーションなどのシナリオでは、AIモデルはリアルタイムのデータ処理のために多数のエッジデバイスに展開される。処理能力やメモリが限られていることが多いこれらのデバイスで効率的なモデルサービングを可能にするには、量子化が不可欠です。セキュリティアラームシステムに Ultralytics YOLO を使用するスマートカメラを考えてみましょう。量子化により、ハードウェア要件を最小限に抑えながら、タイムリーな検出と応答が保証されます。

量子化とモデルの刈り込み

モデルの量子化とモデルの刈り込みは、どちらもモデル・サイズの縮小と効率の向上を目的としたモデル最適化技術であるが、その動作は異なる。量子化は数値表現の精度を下げ、プルーニングは重要度の低い接続やニューロンを削除することでモデルのパラメータ数を減らす。どちらの手法も、モデルの性能とサイズを最適化するために、単独で、あるいは組み合わせて使用することができます。以下のようなツールがある。 TensorRTOpenVINOなどのツールは、最適化パイプラインの一部として量子化とプルーニングを組み込んでいることが多い。

要約すると、モデルの量子化は、精度を大きく損なうことなく効率を向上させることで、AIをより利用しやすくし、より幅広いデバイスやアプリケーションに展開できるようにする強力な技術である。

すべて読む