重要なポイント
- MITライセンス、turboderpとして知られる開発者が作成
- GitHubスター数約4,600件。github.com/turboderp-org/exllamav2のリポジトリはアーカイブ済みとマークされています
- EXL2量子化フォーマット:レイヤーごとに2、3、4、5、6、8ビットの精度を混在させ、目標とする平均ビットレートを達成 — 例えば70Bモデルを24GBのVRAMで約2.55ビット/重みで実行可能
- 後継プロジェクトのExLlamaV3(GitHubスター数約1,300件)は、Cornell RelaxMLによるQTIP量子化手法を簡素化したバリアントであるEXL3フォーマットを導入
- FastAPIベースのサーバーであるTabbyAPIが、両バージョンで推奨されるOpenAI互換APIレイヤー
- text-generation-webui、lollms-webui、およびスタンドアロンのExUI Webインターフェースにも統合されています
📍 一文で説明
ExLlamaV2は、コンシューマー向けNVIDIA GPUでの高速なLLM推論を目的としたturboderp'sによる無料・MITライセンスの推論ライブラリで、柔軟なEXL2量子化フォーマットで知られていましたが、そのリポジトリは現在、積極的に開発が続けられている後継のExLlamaV3に道を譲る形でアーカイブされています。
💬 簡潔に説明
ExLlamaV2は、通常とは異なる柔軟な量子化方式を用いて単一のコンシューマーGPUから最大限の速度を引き出すことを目的に構築されました。開発者自身が、V2の更新を続けるのではなく、新しいプロジェクトであるExLlamaV3に開発を移しています。
📌補足: ExLlamaV2のGitHub README自体が、プロジェクトはアーカイブ済みであり、開発はExLlamaV3で継続されると述べています。新規プロジェクトを開始する場合は、アーカイブされたV2のコードベースを基にするのではなく、ExLlamaV3を評価すべきです。
ExLlamaV2とは何だったのか
ExLlamaV2は、turboderpとして知られる開発者によってMITライセンスで公開された、無料のオープンソース推論ライブラリで、コンシューマー向けNVIDIA GPUでの推論速度を最大化することを目的に構築されていました。 これは以前のプロジェクトであるExLlamaの後継であり、それ自体が、単一GPUで量子化モデルを高速に実行することに焦点を当てた、よりメモリ効率の高い書き直し版でした。
リポジトリgithub.com/turboderp-org/exllamav2は、アーカイブ済みとマークされる前にGitHubスター数約4,600件に達しており、そのREADMEは、開発が現在継続されているプロジェクトとしてExLlamaV3を指しています。
- llama.cppのようなエンジンの幅広いハードウェアベンダー対応とは異なり、NVIDIAコンシューマーGPUに絞って対応
- 主要な技術的貢献としてEXL2量子化フォーマットを導入し、単一モデル内での混合精度量子化を可能にした
- 独自のEXL2フォーマットに加え、オリジナルのExLlamaと同じ4ビットGPTQモデルにも対応
- pip(
pip install exllamav2)、ビルド済みホイール、またはCUDA Toolkitを使ったソースからのビルドでインストール可能
EXL2量子化とは何か
EXL2はExLlamaV2の量子化フォーマットで、同一モデル内の異なる線形レイヤーが2ビットから8ビットまでの異なるビット幅を使用できるようにします。ビット幅はキャリブレーションデータから自動的に選択され、目標とする平均ビットレートを達成します。 これは、モデル全体に均一に適用される単一の固定ビット幅よりも柔軟です。
- 2、3、4、5、6、8ビットの量子化レベルをサポートし、単一モデル内でレイヤーごとに混在させることが可能
- より重要な重みの列はより高い精度で量子化でき、重要度の低い列はより少ないビットを使用 — スパース量子化と精神的に近い
- 限られたVRAMで大規模モデルの極端な圧縮を実現 — 文書化されたテストでは、70億パラメータのモデルが2048トークンのコンテキストで24GBのVRAM上、約2.55ビット/重みで動作
- 量子化パラメータは、手動によるレイヤーごとの設定を必要とせず、キャリブレーションデータに基づいて自動的に選択される
なぜExLlamaV2はアーカイブされたのか、ExLlamaV3は何を変えるのか
turboderp-org/exllamav2リポジトリはアーカイブ済みとマークされており、そのREADME自体に開発はExLlamaV3で継続されると記載されています。 これは、新しいプロジェクトのためにExLlamaV2を評価する前に知っておくべき、最も重要な事実です。
ExLlamaV3は独自のフォーマットであるEXL3を導入しています。これはCornell RelaxMLによるQTIP量子化手法を簡素化したバリアントとして説明されています。EXL2とは異なり、EXL3は元のテンソル構造をリネームせず保持し、他のフレームワークからの将来的なサポートを容易にすることを意図しています。ExLlamaV3はCUDA 12.4以降を要件として文書化しており、開発者自身によって、まだ成熟の途上であることが明示的に示されています — 多少の粗さは覚悟しておく必要があります。
- ExLlamaV2:アーカイブ済み、MITライセンス、EXL2フォーマット、引き続きインストール可能だが今後の開発はなし
- ExLlamaV3:アクティブ、MITライセンス、EXL3フォーマット(QTIP研究に基づく)、独自の文書によればベータ段階の安定性
- いずれもturboderp-orgというGitHub組織の下で、同じ開発者turboderpによってメンテナンスされている
📌補足: 新規デプロイメントについては、まずExLlamaV3を評価してください — アクティブなメンテナンスと改善が行われているのはそちらです。ExLlamaV2は、すでにそれを基に構築された既存のセットアップや、すでに流通しているEXL2量子化モデルファイルにとって、主に関連性を持ち続けます。
ExLlamaV2(またはV3)のインストールと実行方法
ExLlamaV2はpip、ビルド済みホイール、またはCUDA Toolkitを使ったソースからのビルドでインストールします。ExLlamaV3も同様のパターンに従います。 TabbyAPIは、どちらの上でもOpenAI互換サーバーを稼働させるための推奨方法です。
- 1ExLlamaV2の場合:
pip install exllamav2でインストールするか、GitHub Releasesページからお使いのPythonとCUDAのバージョンに合ったビルド済みホイールをダウンロードするか、CUDA Toolkitをインストールした状態でクローンしてソースからビルドします。 - 2ExLlamaV3の場合(新規セットアップに推奨):github.com/turboderp-org/exllamav3に記載された同等のインストール手順に従ってください。CUDA 12.4以降が必要な点に注意してください。
- 3事前量子化されたEXL2(またはEXL3)モデルをダウンロードします。多くはコミュニティの量子化担当者によりHugging Faceで公開されています。
- 4推奨されるFastAPIベースのサーバーであるTabbyAPIをインストール・実行し、HFモデルダウンロードとJinja2チャットテンプレート対応を備えたOpenAI互換APIエンドポイントを公開します。
- 5または、TabbyAPIを直接実行する代わりに、text-generation-webui、lollms-webui、スタンドアロンのExUI Webインターフェースといった既存の統合機能を通じてExLlamaV2/V3を利用します。
今でもExLlamaV2を使えますか?
はい、引き続きインストールおよび利用が可能です。ただし、リポジトリはアーカイブ済みであり、今後の更新、バグ修正、新機能の追加は行われません。
EXL2モデルファイルはExLlamaV3で動作しますか?
いいえ、直接は動作しません — ExLlamaV3は独自のEXL3量子化フォーマットを使用します。既存のEXL2モデルファイルはExLlamaV2/TabbyAPIのセットアップ用であり、V3用ではありません。
ExLlamaV2に必要なハードウェアは何か
ExLlamaV2は特にコンシューマー向けNVIDIA GPUを対象としており、AMD、Intel、またはCPUのみの対応経路はありません。 この狭いハードウェア対応範囲こそが、単一GPUでの速度をこれほど強力に最適化できた理由の一つです。
- NVIDIA GPUのみ対応、CUDAが必須 — AMD、Intel、Apple Siliconへの対応は文書化されていない
- データセンター向けGPUではなくコンシューマー向けカードを中心に設計されているが、データセンター向けGPUでも動作する
- VRAM要件はモデルサイズと選択したEXL2ビットレートに応じて変動する — 柔軟な量子化こそが、比較的少ないVRAMで大規模モデルを収めることを可能にしている
- ExLlamaV3はExLlamaV2が想定していたよりも新しい基準として、CUDA 12.4以降を要件として文書化している
ExLlamaV2(またはExLlamaV3)を使うべきなのは誰か
単一のNVIDIAコンシューマーGPUから最大限の速度とVRAM効率を引き出すことが、幅広いハードウェア対応や長期的な安定性の保証よりも重要な場合、新規プロジェクトにはExLlamaV3を使用してください。今日、アーカイブされたExLlamaV2の上でまったく新しいプロジェクトを始める理由はほとんどありません。
ExLlamaV2は代替ツールとどう比較されるか
ExLlamaV2に最も近い比較対象は、その後継プロジェクト、および量子化や単一GPUでの速度に強みを持つ他のエンジンです。
ExLlamaV2を評価する際のよくある間違い
混乱の多くは、プロジェクトがアーカイブされていることに気づいていない、またはEXL2とEXL3のモデルファイルに相互互換性があると誤解していることから生じます。
よくある質問
ExLlamaV2は今もメンテナンスされていますか?
いいえ。turboderp-org/exllamav2のGitHubリポジトリはアーカイブ済みとマークされており、そのREADMEには開発が代わりにExLlamaV3で継続されると記載されています。
EXL2とは何ですか?
EXL2はExLlamaV2の量子化フォーマットで、単一モデル内でレイヤーごとに2〜8ビットの混合精度をサポートし、目標とする平均ビットレートを達成することで、大規模モデルをより少ないVRAMに収めることを可能にします。
ExLlamaV3とは何ですか、どう違いますか?
ExLlamaV3は、ExLlamaV2の後継として積極的に開発が続けられているプロジェクトで、Cornell RelaxMLのQTIPアプローチに基づく新しいEXL3量子化フォーマットを使用します。開発者自身によって、ベータ段階のソフトウェアであると文書化されています。
ExLlamaV2とExLlamaV3を作成したのは誰ですか?
いずれもturboderpとして知られる開発者によって、GitHub組織turboderp-orgの下で作成されました。
ExLlamaV2は無料で使えますか?
はい。ExLlamaV2とExLlamaV3はいずれもMITライセンスで公開されており、個人・商用利用ともに無料です。
ExLlamaV2はAMD GPUに対応していますか?
いいえ。ExLlamaV2とExLlamaV3はいずれもCUDA対応のNVIDIA GPUを必要とします — AMD、Intel、Apple Siliconへの対応はありません。
TabbyAPIとは何ですか?
TabbyAPIはFastAPIベースのサーバーで、ExLlamaV2またはExLlamaV3の上にOpenAI互換APIを公開するための推奨方法です。Hugging Faceモデルのダウンロードや、Jinja2チャットテンプレート対応といった追加機能を備えています。
EXL2とEXL3のモデルファイルは互換性がありますか?
いいえ。EXL2ファイルはExLlamaV2用に量子化されており、別のEXL3フォーマットを使用するExLlamaV3とは直接互換性がありません。
新規プロジェクトにはExLlamaV2とExLlamaV3のどちらを使うべきですか?
ExLlamaV3です。ExLlamaV2はアーカイブ済みで今後の開発が行われないためです。ExLlamaV3はまだベータ段階なので、成熟し積極的に安定化されたプロジェクトと比べると、多少の粗さを覚悟する必要があります。
ExLlamaV2はllama.cppとどう比較されますか?
llama.cppは、NVIDIA、AMD、Apple Silicon、Intel、CPUのみを含むはるかに幅広いハードウェアに対応し、積極的にメンテナンスされています。一方ExLlamaV2は、NVIDIAコンシューマーGPUに絞って設計されており、現在はアーカイブ済みで、ExLlamaV3がその後継として積極的に開発されています。
