Hugging Face Optimum リリース
Hugging Faceは、特定のハードウェア向けにTransformerモデルを最適化するためのツールキットを提供することで、機械学習のプロダクションパフォーマンスを民主化するために設計されたオープンソースライブラリ、Optimumをリリースしました。このライブラリは、モデル加速の複雑さを抽象化することを目的としており、ハードウェア固有のソフトウェアツールに関する深い専門知識を必要とせずに、エンジニアがトレーニングおよび推論中の効率を最大限に高めることを可能にします。
Transformerのスケーリングにおける複雑さの解決
プロダクション環境でTransformerモデルをスケーリングすることは困難です。なぜなら、最適なパフォーマンスを得るには、ターゲットとなるハードウェアと具体的に互換性のある加速技術が必要だからです。これには、ソフトウェアツール、ハードウェア機能、および最適化されたカーネルの複雑な互換性マトリックスをナビゲートすることが含まれ、それらはシリコン上のオペレーターとモデルアーキテクチャの特定のニューラルネットワークグラフと一致していなければなりません。
Transformersライブラリがフレームワークやアーキテクチャの複雑さを抽象化することで最先端モデルの使用を簡明にした一方で、Optimumはハードウェアプラットフォーム上でのモデル加速の複雑さを抽象化し、これらの機能をより幅広い機械学習エンジニアが利用できるようにすることを目指しています。
ハードウェア固有の最適化と量子化
Optimumは、ハードウェアパートナーと直接連携して加速技術を有効化、テスト、および維持することで、最大限の効率を達成することに焦点を当てています。この統合の主な例は、Intel Xeon CPU向けにモデルを最適化するためのIntelとのコラボレーションです。
量子化の課題
量子化は、Transformerベースのモデル(BERT、ViT、Speech2Textなど)をデプロイする際の計算能力とコストを削減するために広く使用される技術です。しかし、量子化の実装は、通常、いくつかの要因により困難です。
- Model Editing: 特定の操作は量子化された対応物と置き換えられ、新しい量子化/逆量子化ノードを挿入する必要があります。PyTorchのようなeager-modeフレームワークでは、多くの場合、モデルの実装自体を修正する必要があります。
- Parameter Tuning: エンジニアは、範囲キャリブレーションのための正しいオブザーバーを決定し、適切な量子化スキームを選択し、ターゲットデバイスでサポートされているデータ型(例:int8、uint8、int16)を特定する必要があります。
- Accuracy Trade-offs: モデルのサイズ削減と速度向上と、許容可能な精度の低下との間でバランスを取る継続的なニーズがあります。
- Export Complexity: 最終的な量子化モデルは、ターゲットデバイス向けに特化してエクスポートする必要があります。
Intel Neural Compressorとの統合
Intelハードウェア上でこれらの課題に対処するため、OptimumはIntel® Neural Compressor(旧称 Low Precision Optimization Tool または LPOT)と統合されています。このオープンソースのPythonライブラリを使用すると、ユーザーは、ポストトレーニング量子化、量子化を意識したトレーニング(quantization-aware training)、および動的量子化のためのレシピを使用して、低精度推論ソリューションをデプロイできます。ユーザーは、チューニングパラメータ、目的、およびパフォーマンス基準を構成YAMLファイル経由で指定し、これはローカルに保存するか、Hugging Face Model Hubにホストすることができます。
将来の目標とエコシステムへの影響
Optimumは、Hugging Faceとさまざまなハードウェアパートナーとの共同作業として設計されており、ハードウェア固有に最適化されたモデル構成とアーティファクトを提供することを目的としています。これらの最適化されたモデルは、Hugging Face Model Hubを通じて提供される予定です。
これらのツールを提供することで、Hugging Faceは、プロダクション環境の機械学習ワークロードに費やされる総エネルギーを削減し、大規模なテクノロジー企業だけでなく、あらゆる規模の組織においてTransformerの導入を大規模に加速させることを目図しています。
Sources
関連
- プロジェクト
- Dispatch
- Dispatch
- Dispatch
- Dispatch