Hugging Face Optimum Intel と OpenVINO の統合

Hugging Face は Intel OpenVINO を Optimum Intel ライブラリに統合し、ユーザーが高速推論を実行し、Transformer モデルを量子化して幅広い Intel プロセッサ上でデプロイできるようにしました。この統合により、OpenVINO Runtime と Neural Network Compression Framework (NNCF) を使用したモデルサイズと予測レイテンシの削減プロセスが簡素化されます。

OpenVINO 統合とモデルサポート

この統合の最初のリリースは OpenVINO 2022.2 をベースにしています。OVModels クラスを介して多数の PyTorch モデルの推論が可能になります。

サポートされているモデルタイプ

  • エンコーダーモデル: BERT や DistilBERT など、多くのエンコーダーモデルに対して事後トレーニングの静的量子化および量子化感知トレーニングがサポートされています。今後の OpenVINO リリースで追加のエンコーダーモデルが期待されています。
  • エンコーダー‑デコーダーモデル: 現在はこれらのモデルの量子化は有効化されていませんが、次回の OpenVINO リリースでの統合が計画されています。

NNCF を用いたモデル量子化

量子化はモデルパラメータのビット幅を削減し、メモリと計算リソースの要件を低減します。これにより、整数演算による高速な行列乗算と、推論時のメモリ使用量の削減が可能になります。

量子化プロセス

OVQuantizer と OpenVINO Neural Network Compression Framework (NNCF) を使用して、事後トレーニングの静的量子化を実行できます。このプロセスはキャリブレーションステップを含み、データの小さなサブセット(例: 300 サンプル)をネットワークに通して量子化された活性化パラメータを算出します。

量子化が完了すると、モデルは OpenVINO Intermediate Representation (IR) 形式にエクスポートされます。IR はネットワークトポロジーを記述する XML ファイルと、重みを格納するバイナリファイルで構成され、任意の Intel デバイス上で実行可能です。

パフォーマンス向上:Vision Transformer (ViT) のケーススタディ

統合の有効性を示すため、Hugging Face は food101 データセットでファインチューニングした Vision Transformer (ViT) モデルに事後トレーニングの静的量子化を適用しました。その結果、精度への影響を最小限に抑えつつ大幅な効率向上が確認されました。

効率とレイテンシのベンチマーク

  • メモリ削減: モデルサイズは 344 MB から 90 MB に 3.8 倍縮小されました。
  • レイテンシ改善: 推論レイテンシは 98 ms から 41 ms に 2.4 倍向上しました(5,050 枚の画像予測に基づく)。
  • 精度: 元のモデルと量子化モデルの両方が、評価データセットの 20 % サブセットで 87.6 の精度を維持しました。

実装上の注意点

モデルは最初の推論直前にコンパイルされるため、最初の予測はレイテンシが過大になります。ベンチマークを実施する前に、少なくとも 1 回のウォームアップ予測を行うことが推奨されます。

Sources