aimet: エッジデバイスでのメモリ使用量を削減し、推論速度を向上させるためのMLモデルの量子化および圧縮ツールキット
aimet: エッジデバイスでのメモリ使用量を削減し、推論速度を向上させるためのMLモデルの量子化および圧縮ツールキット
何を解決するか
AIMETは、学習済み機械学習モデルの計算負荷とメモリ使用量を削減し、モバイル電話やノートパソコンなどのエッジデバイスへのデプロイをより高速かつ効率的にします。特に、高精度(32ビット浮動小数点)モデルを低精度(8ビットまたは4ビット整数)形式に変換する際に、モデルの精度を維持するという課題に対処します。
仕組み
AIMETは、量子化と圧縮のためのツールスイートを提供します。以下の手法を用いて、PyTorchおよびONNXモデルをサポートしています:
- Post-Training Quantization (PTQ): Calibration、AdaRound (Adaptive Rounding)、SeqMSE、およびSpinQuantなどの手法を使用して、完全な再学習を必要とせずに重みと活性化関数を最適化します。
- Quantization Aware Training (QAT): 量子化シミュレーションを学習プロセスに統合し、精度の低下を最小限に抑えます。
- Model Compression: Spatial SVD (tensor decomposition) および Channel Pruning を採用して、冗長なパラメータを削除し、積和演算 (MAC) 回数をを削減します。
- Data-Free Quantization (DFQ): 元の学習データを使用せずに量子化を行うことができます。
対象者
エッジハードウェア上での高性能な推論のためにディープラーニングモデルを最適化する必要があるMLエンジニアおよび開発者、特にPyTorchまたはONNXフレームワークを使用している方々。
ハイライト
- 大幅な高速化: Qualcomm Hexagon DSPのような特定のハードウェアでは、CPUと比較してモデルを最大15倍高速に実行できます。
- メモリ使用量を4分の1に削減: 8ビット精度のモデルは、32ビットモデルよりも大幅に少ないスペースを占有します。
- 自動化された最適化: 最適化プロセスを自動化するためのAPIを提供し、手動での調整の必要性を減らします。
- 幅広いサポート: CNN (ResNet, MobileNet) やリカレントモデル (RNN, LSTM, GRU) を含む、さまざまなモデルタイプに対応しています。
Sources
- undefinedqualcomm/aimet