モデルの量子化でAIのパフォーマンスを最適化。サイズを縮小し、速度を向上させ、エネルギー効率を改善することで、実世界での展開を実現します。
モデルの量子化は、ディープラーニング(DL)においてモデルの計算コストとメモリコストを削減するために使用される重要なモデル最適化手法である。これは、モデルのパラメータ(重みと活性度)の数値精度を、高精度表現、典型的には32ビット浮動小数点数(FP32)から、16ビット浮動小数点数(FP16)、8ビット整数(INT8)、あるいはそれ以下のビット表現などの低精度フォーマットに変換することで実現される。この処理により、モデルの小型化、高速化、エネルギー効率の向上が実現され、モバイル・デバイスやエッジAIシステムのようなリソースに制約のある環境で複雑なモデルを展開する際に特に重要となります。
モデルの量子化とは、高精度のテンソル(FP32のウェイトやアクティベーションなど)に含まれる値の範囲を、低精度のデータ型(INT8など)で表現可能な小さな範囲にマッピングすることである。GPUや TPUのような特殊なアクセラレータのような最新のハードウェアでは、低精度数(特に整数)に対する演算の方が高速でエネルギー効率が高いことが多いため、この変換によってモデルの保存に必要なメモリと推論に必要な計算能力が大幅に削減されます。
ディープラーニングモデルに量子化を適用することで、いくつかの重要な利点が得られる:
モデルの量子化には、主に2つのアプローチがある:
モデル量子化は様々な領域で広く使われている:
非常に有益ではあるが、量子化はモデルの精度に影響を与える可能性がある。量子化後は、関連する性能指標を用いて慎重に評価することが不可欠である。量子化されたYOLOv8 モデルの展開で説明したように、量子化に適したモデル・アーキテクチャ(例えば、YOLO見られるように、特定の活性化関数を置き換える)を使用するなどのテクニックは、精度の低下を軽減するのに役立ちます。
モデルの量子化は、いくつかあるモデル最適化手法のひとつである。他には以下のようなものがある:
Ultralytics 、量子化を容易にする様々なフォーマットへのモデルのエクスポートをサポートしています。 ONNX, OpenVINO, TensorRT, CoreMLおよびTFLiteに対応しており、多様なハードウェアプラットフォームへの効率的なデプロイが可能です。Ultralytics HUBのようなツールを使用して、量子化されたバージョンを含むモデルを管理およびデプロイできます。