turboderp-org/exllamav3
An optimized quantization and inference library for running LLMs locally on modern consumer-class GPUs
ExLlamaV3 とは?
ExLlamaV3 は、コンシューマーグレードの GPU 上で大規模言語モデル(LLM)をローカルに実行できる Python ライブラリです。高速推論に焦点を当てており、以下を提供します:
- EXL3 量子化 – QTIP 研究論文に由来する低ビット(2〜8 ビット)の重み形式に加え、オプションの低ビットキャッシュ量子化により、メモリ使用量を大幅に削減しながら高品質を維持します。
- 並列推論 – テンソル並列およびエキスパート並列実行により、モデルを複数の GPU に分割したり、GPU メモリが限られている場合は CPU と GPU に分割したりできます。
- CPU オフロード – MoE(Mixture-of-Experts)モデルは、計算の一部を CPU に移動することで(AVX2/AVX512 対応)、控えめな GPU でも実行できます。
- 動的生成機能 – 連続バッチ処理、投機的デコード、マルチモーダル(画像テキスト)サポート。
- 統合 – Hugging Face モデルローダー、小規模な Transformers 互換ラッパー、および別の TabbyAPI サーバーを介した OpenAI スタイル API。
要するに、ExLlamaV3 は、単一の RTX 40xx/50xx カードまたは控えめなマルチ GPU 構成で、最先端の LLM(Llama 3、Gemma 4、Qwen 3.5 など)を実行することを実用的にする推論エンジンです。
主な機能(専門用語を避けた説明)
| 機能 | あなたへの意味 |
|---|---|
| EXL3 量子化 | モデルの重みは 2〜8 ビット形式で保存され、フル精度モデルと比較してメモリ要件を最大 4〜8 倍削減します。 |
| 並列およびエキスパート並列推論 | ライブラリは作業を複数の GPU または GPU と CPU に分割できるため、単一デバイスに収まらないより大きなモデルを実行できます。 |
| CPU オフロード | 通常は複数の GPU を必要とする MoE モデルでも、単一の GPU と CPU リソースで実行できます。 |
| 動的バッチ処理と投機的デコード | エンジンは複数のリクエストをグループ化し、次のトークンを推測することで GPU をビジー状態に保ち、応答時間を短縮します。 |
| マルチモーダルサポート | 画像を受け入れる一部のモデル(例:Qwen-2.5 VL)は、そのままサポートされています。 |
| 簡単な統合 | 提供されている examples/chat.py CLI を使用するか、Hugging Face Transformers に接続するか、OpenAI 互換の HTTP API(TabbyAPI)を介してモデルを公開します。 |
| 幅広いモデルカバレッジ | Llama 1-3 から Gemma 4、Qwen 3-5、Mistral、Mixtral、および多くの MoE バリアントまで、40 以上のモデルファミリがリストされています。 |
はじめに(インストール)
- 最新の PyTorch ビルドがあることを確認してください(CUDA 12.4+)。このライブラリは PyTorch を自動インストールしません。
- 次のいずれかを選択します:
- プリビルド wheel – リリースページから一致する
exllamav3-<version>+cuXXX.torch2.x.x-...whlをダウンロードし、pip install <url>を実行します。 - PyPI –
pip install exllamav3(ネイティブ拡張をビルドするには CUDA ツールキットと C++ コンパイラが必要です)。 - ソースからビルド – リポジトリをクローンし、CUDA バージョンに一致する
--extra cuXXXフラグ(例:CUDA 12.8 の場合はcu128)を指定してuvまたはpipを使用します。README には、特定の PyTorch バージョンを固定する方法を含む 4 つの詳細なオプションがあります。
- プリビルド wheel – リリースページから一致する
- インストール後、サンプル CLI を実行します:
すべてのオプションを表示するにはpython examples/chat.py -m <model_folder> -mode <prompt_mode>-hを使用します。
典型的なワークフロー
- Hugging Face からモデルをダウンロードします(またはコミュニティコレクションの量子化済み EXL3 モデルを使用します)。
- モデルを EXL3 形式に変換します:
コンバーターはヘッシアンベースのキャリブレーションを自動的に処理します。大きなモデルは高性能 GPU で数時間かかる場合があります。python convert.py -i <hf_dir> -o <exl3_dir> -b 4 # 4 ビットの例 - CLI、Transformers ラッパーを使用して推論を実行するか、TabbyAPI サーバーを起動して OpenAI 互換エンドポイントを公開します。
- (オプション)
optimize.mdガイドを使用して、さらにファインチューニングまたはキャリブレーションします。
誰がこれを使うべきか?
- 研究者と愛好家 – クラウド GPU をレンタルせずに最新の LLM を試したい人。
- ローカル AI アシスタントを構築する開発者 – 高速な応答時間と低メモリフットプリントが必要な人。
- プライベート推論サービスを展開するチーム – TabbyAPI サーバーを使用すると、ファイアウォールの内側で OpenAI スタイルの API を使用してモデルを提供できます。
- 量子化研究に興味がある人 – このライブラリは QTIP ベースの EXL3 メソッドを実装し、プロセスを検査/調整するためのツールを提供します。
コミュニティとリソース
- Discord – https://discord.gg/NSFwVuCjRq ヘルプ、モデル共有、開発ディスカッション用。
- Hugging Face モデルハブ – すぐに使える EXL3 量子化モデルのキュレーションコレクション。
- 謝辞プロジェクト – PyTorch、FlashAttention、QTIP、Marlin、およびその他のオープンソースカーネルに基づいています。
要約
ExLlamaV3 は、コンシューマー向け GPU で最新の LLM を実行するための高性能で量子化対応の推論エンジンです。低ビットの重み保存、柔軟な並列処理、CPU オフロード、および既存の Python ツールや OpenAI 互換 API との簡単な統合を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト