LLM Compressor
LLM Compressor ライブラリーを使用した大規模言語モデルの圧縮
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
LLM Compressor は、モデル圧縮に関する最新の研究を取り入れたオープンソースライブラリーで、作業を最小限に抑えながら、圧縮モデルを生成できます。
LLM Compressor フレームワークは、最新の量子化、スパース性、および一般的な圧縮技術を活用して、精度を維持しながら生成 AI モデルの効率、スケーラビリティー、およびパフォーマンスを向上させます。ネイティブでの Hugging Face および vLLM のサポートにより、最適化されたモデルをデプロイメントパイプラインにシームレスに統合し、圧縮テンソルモデル形式を活用して、大規模な推論を高速かつ低コストで実行できます。
LLM Compressor は開発者プレビュー機能です。開発者プレビュー機能は、Red Hat ではいかなる形でもサポートされていません。また、機能的には完全ではなく、実稼働環境に対応していません。開発者プレビュー機能は、実稼働ワークロードまたはビジネスクリティカルなワークロードには使用しないでください。開発者プレビュー機能は、Red Hat 製品オファリングに含まれる可能性がある前に、今後の製品機能への早期アクセスを提供し、お客様が機能をテストし、開発プロセス中にフィードバックを提供できるようにします。これらの機能にはドキュメントがない可能性があり、いつでも変更または削除される可能性があり、テストは制限されています。Red Hat は、関連する SLA なしで、開発者プレビュー機能に関するフィードバックを送信する方法を提供する場合があります。
第1章 大規模な言語モデルの最適化 リンクのコピーリンクがクリップボードにコピーされました!
AI アプリケーションが成熟し、新しい圧縮アルゴリズムが公開されるにつれて、ユーザーの推論要件に固有のさまざまな圧縮アルゴリズムを適用でき、アクセラレーションされたハードウェアで実行するように最適化された、統合ツールが必要になります。
大規模言語モデル (LLM) を最適化するには、モデルのサイズ、推論速度、精度という 3 つの重要な要素のバランスを取る必要があります。これらの要因のいずれかを改善することで、他の要因に悪影響を及ぼす可能性があります。たとえば、モデルの精度を上げるには通常、より多くのパラメーターが必要となり、その結果モデルが大きくなり、推論二時間がかかる可能性があります。これらの要素を両立させることが、LLM を提供するときの主な課題の 1 つです。
LLM Compressor を使用すると、量子化、スパース性、圧縮などのモデル最適化手法を実行して、メモリー使用量とモデルサイズを削減し、モデル応答の精度に影響を与えずに推論を改善できます。LLM Compressor では、以下の圧縮方法がサポートされます。
- 量子化
-
モデルの重みとアクティベーションを
int8などの低ビット形式に変換し、メモリー使用量を削減します。 - スパース性
- 多くの場合は固定パターンでモデルの重みの一部をゼロに設定し、より効率的な計算を可能にします。
- 圧縮
- 保存されたモデルファイルのサイズを縮小し、パフォーマンスへの影響を最小限に抑えます。
これらの方法を組み合わせて使用すると、リソースに限りのあるハードウェアでモデルをより効率的にデプロイできます。
第2章 サポート対象のモデルの圧縮ワークフロー リンクのコピーリンクがクリップボードにコピーされました!
LLM Compressor は、トレーニング後の量子化をサポートしています。これは、モデルの精度を低下させることなく、モデルのサイズを縮小し、CPU とハードウェアアクセラレーターのパフォーマンスの遅延を改善する変換手法です。効率化された API は、提供されたデータセットに基づいて量子化またはスパース性を適用します。
次の高度なモデルタイプとデプロイメントワークフローがサポートされています。
- マルチモーダルモデル: ビジョン言語モデルが含まれています。
- Mixture of experts (MoE) モデル: DeepSeek や Mixtral などのモデルをサポートします。
- 大規模モデルのサポート: マルチ GPU および CPU オフロードに Hugging Face accelerate ライブラリーを使用します。
すべてのワークフローは Hugging Face と互換性があり、モデルを量子化、圧縮し、vLLM を使用してデプロイし、効率的な推論を行うことができます。LLM Compressor は、複数の圧縮アルゴリズムをサポートしています。
-
AWQ: 重みのみの
INT4量子化 -
GPTQ: 重みのみの
INT4量子化 - FP8: トークンごとの動的量子化
- SparseGPT: トレーニング後のスパース性
- SmoothQuant: 活性化量子化
これらの各圧縮方法は、重みとアクティベーションの最適なスケールとゼロポイントを計算します。最適化されたスケールは、テンソル、チャネル、グループ、またはトークンごとに設定できます。最終的に、すべての量子化パラメータが適用された圧縮済みモデルになります。
第3章 Red Hat AI Inference Server および vLLM との統合 リンクのコピーリンクがクリップボードにコピーされました!
LLM Compressor を使用して作成した量子化モデルとスパースモデルは compressed-tensors ライブラリー (Safetensors の拡張) を使用して保存されます。圧縮形式は、モデルの量子化またはスパース性のタイプと一致します。これらの形式は vLLM でネイティブにサポートされているため、Red Hat AI Inference Server やその他の推論プロバイダーを使用して、最適化されたデプロイメントカーネルを通じて高速な推論が可能になります。
第4章 Red Hat OpenShift AI との統合 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift AI および LLM Compressor を使用して、モデルのトレーニング、微調整、および圧縮を試すことができます。LLM Compressor の OpenShift AI 統合では、次の 2 つの入門例が提供されます。
- CPU 上で実行可能な小さなモデルを使った圧縮の例を示すワークベンチイメージとノートブック。調整された圧縮が、データなしの手法に比べてどのように優れているかをハイライトしています。
- 同じワークフローをより大規模な Llama 3.2 モデルに拡張するデータサイエンスパイプライン。ユーザーが単一の URL から他の関係者と共有できる自動化された GPU アクセラレーション実験を構築する方法を紹介します。
どちらも Red Hat AI Examples リポジトリーで利用できます。
LLM Compressor の OpenShift AI 統合は、開発者プレビュー機能です。