【検証録】RTX 5090 × vLLM 0.11.0:AITuber環境におけるQwen3 (AWQ/GPTQ) の速度とVRAM挙動
※2026年1月追記
本記事は2025年11月時点(vLLM 0.11.0)での検証データです。
vLLMは更新が速いため、最新バージョンではカーネルの最適化状況(特にAWQ Marlin)が異なっている可能性があります。
ただし、**「TTSとLLMを同居させた際のVRAM管理とKVキャッシュの挙動」**については、バージョンを問わずAITuber開発等の参考になるため、知見として公開します。
はじめに
大規模言語モデル(LLM)をローカルで実行する際、量子化(Quantization)は必須の技術です。特に、AWQ(Activation-aware Weight Quantization) とGPTQ(GPT Quantization) は、広く使われている4-bit量子化手法です。
しかし、「どちらが速いのか?」「VRAM使用量はどう違うのか?」「実際の使い分けは?」という疑問に対して、実測データに基づいた明確な答えは少ないのが現状です。
本記事では、AITuber開発における実践的な要件(LLM + TTS同時実行)から、NVIDIA RTX 5090(32GB VRAM) と vLLM 0.11.0 環境で、Qwen3-8BとQwen3-14Bモデルの実測ベンチマークを実施しました。
主な発見
一般的な認識とは逆に、vLLM 0.11.0環境では「GPTQがAWQより8-19%高速」という結果が得られました。
これは、vLLM 0.11.0のgptq_marlinカーネル最適化がawq_marlinよりも進んでいたためと推測されます。
⚠️ 重要な注意事項
本検証はvLLM 0.11.0という特定バージョンでの結果です。
- vLLMは急速に開発が進んでおり、バージョンによってカーネル最適化の状況が大きく異なります
- 新しいバージョン(0.6.x以降)では、AWQのMarlinカーネル最適化が進み、結果が異なる(あるいは逆転する)可能性があります
- 本記事は「vLLM 0.11.0環境下での一つのケーススタディ」として参照してください
なぜQwen3モデルのAWQとGPTQを選んだのか?
本検証では、以下の理由からQwen3モデルのAWQ/GPTQ量子化版を選定しました:
1. AITuberプロジェクトの要件
- リアルタイム対話: 高速な推論速度が必須(目標: 70+ tok/s)
- 限られたGPUリソース: RTX 5090(32GB VRAM)で、LLM + TTS(GPT-SoVITS)を同時実行
- 日本語対応: Qwen3は日本語性能が優れている
2. Qwen3モデルの優位性
- 高性能: Llama3やMistralと比較して、日本語タスクで優れた性能
- 効率的: 8B/14Bサイズで、32GB VRAMに収まる
- 量子化対応: AWQ/GPTQ両方の公式量子化版が提供されている
3. AWQとGPTQの比較理由
- 両方ともvLLM対応: vLLMで高速推論が可能
- 4-bit量子化: メモリ効率と速度のバランスが良い
- 実用性: Hugging Faceで広く使われている量子化手法
4. 検証の背景
AITuber開発では、LLM(vLLM)とTTS(GPT-SoVITS)を同時に使用するため、限られたVRAM内で最速の量子化手法を選定する必要がありました。この実践的な要件から、本検証が生まれました。
検証環境
- GPU: NVIDIA RTX 5090 (32GB VRAM)
- 環境: WSL2 Ubuntu 24.04
- 推論エンジン: vLLM 0.11.0
-
対象モデル:
- Qwen3-8B-AWQ / Qwen3-8B-GPTQ
- Qwen3-14B-AWQ / Qwen3-14B-GPTQ
- 測定方法: 各テストケースで3回測定し、平均値を算出
vLLM 0.11.0の特徴
本検証で使用したvLLM 0.11.0は、2024年中旬にリリースされたバージョンです。このバージョンでは:
- Marlinカーネル対応: AWQ/GPTQ両方でMarlin高速推論カーネルをサポート
-
カーネル最適化の進展:
gptq_marlinの最適化がawq_marlinより進んでいた可能性 - 自動検出: vLLMが量子化形式を自動検出し、適切なカーネルを選択
vLLMのログ出力:
AWQ: "Detected that the model can run with awq_marlin"
GPTQ: "Detected that the model can run with gptq_marlin"
測定条件
本検証では、2つの異なるGPU負荷状況で測定を行いました:
1. 単独測定時(GPU負荷: vLLMのみ)
- GPUベースライン: 約2.4GB(Windowsデスクトップ環境の通常使用)
- 目的: 各モデルの純粋な推論性能を測定
2. TTS併用時(GPU負荷: vLLM + GPT-SoVITS)
- GPUベースライン: 約4.7GB(+2.3GB)
- 目的: AITuberの実際の運用時の性能を測定
- VRAM使用量の増加: 単独測定時と比較して4-5GB増加
TTS併用時のVRAM増加メカニズム:
vLLMはデフォルトで--gpu-memory-utilization 0.9(利用可能なVRAMの90%を使用)に設定されています。
- 単独測定時: 利用可能VRAM = 32GB - 2.4GB = 29.6GB → vLLMが90%使用 = 約26.6GB
- TTS併用時: 利用可能VRAM = 32GB - 4.7GB = 27.3GB → vLLMが90%使用 = 約24.6GB
実測で27GB前後を使用しているのは、vLLMが利用可能なVRAM(母数)の減少を検知し、KVキャッシュの割り当て戦略を変更したためです。vLLMの総VRAM使用量は「モデルウェイト」+「KVキャッシュ」+「その他オーバーヘッド」で構成されますが、TTSによって「KVキャッシュ」に割り当て可能な最大量が減少し、結果としてVRAMの空き容量が圧迫されます。
重要: 今回のAITuber開発では、LLM(vLLM)とTTS(GPT-SoVITS)を同時に使用するため、「TTS併用時」の測定値が実運用に近い性能となります。
注意: 「単独測定時」でも、Windowsデスクトップ環境(システムプロセス、デスクトップマネージャー等)により約2.4GBのVRAMが使用されています。完全にクリーンな環境ではありません。
総合比較サマリー
14Bモデル比較(単独測定時 vs TTS併用時)
単独測定時
| モデル | 量子化 | 平均速度 | VRAM使用 | VRAM空き | モデルサイズ | KVキャッシュ |
|---|---|---|---|---|---|---|
| Qwen3-14B-AWQ | AWQ | 65.92 tok/s | 22.9 GB | 9.1 GB | ~7-8 GiB | 8.31 GiB |
| Qwen3-14B-GPTQ | GPTQ | 74.71 tok/s | 22.8 GB | 9.2 GB | 9.37 GiB | 8.30 GiB |
| 差分 | - | +13.4% | -0.1 GB | +0.1 GB | +1.4 GiB | -0.01 GiB |
TTS併用時
| モデル | 量子化 | 平均速度 | VRAM使用 | VRAM空き | 増加量 |
|---|---|---|---|---|---|
| Qwen3-14B-AWQ | AWQ | 66.03 tok/s | 27.2 GB | 4.8 GB | +4.3 GB |
| Qwen3-14B-GPTQ | GPTQ | 71.39 tok/s | 27.2 GB | 4.8 GB | +4.4 GB |
| 差分 | - | +8.1% | 0 GB | 0 GB | - |
重要: TTS併用時は速度が5-10%低下し、VRAM使用量が4-5GB増加します。
8Bモデル比較(単独測定時 vs TTS併用時)
単独測定時
| モデル | 量子化 | 平均速度 | VRAM使用 | VRAM空き | モデルサイズ | KVキャッシュ |
|---|---|---|---|---|---|---|
| Qwen3-8B-AWQ | AWQ | 75.46 tok/s | 22.7 GB | 9.3 GB | ~6 GiB | 11.97 GiB |
| Qwen3-8B-GPTQ | GPTQ | 80.24 tok/s | 22.8 GB | 9.2 GB | 5.71 GiB | 11.97 GiB |
| 差分 | - | +6.3% | +0.1 GB | -0.1 GB | -0.3 GiB | 0 GiB |
TTS併用時
| モデル | 量子化 | 平均速度 | VRAM使用 | VRAM空き | 増加量 |
|---|---|---|---|---|---|
| Qwen3-8B-AWQ | AWQ | 69.08 tok/s | 28.2 GB | 3.8 GB | +5.5 GB |
| Qwen3-8B-GPTQ | GPTQ | 81.92 tok/s | 27.1 GB | 4.9 GB | +4.3 GB |
| 差分 | - | +18.6% | -1.1 GB | +1.1 GB | - |
🔍 興味深い発見: 8BモデルのKVキャッシュが14Bより大きい
上記の表から、8BモデルのKVキャッシュ(11.97 GiB)が14BモデルのKVキャッシュ(8.31 GiB)よりも大きいことがわかります。
考えられる理由:
-
vLLMの自動割り当て戦略: vLLMは
--gpu-memory-utilizationパラメータに基づき、利用可能なVRAMからKVキャッシュを自動割り当てします - モデルサイズの違い: 8Bモデル(約6 GiB)は14Bモデル(約8.5 GiB)より小さいため、より多くのVRAMをKVキャッシュに割り当てられます
-
最大コンテキスト長: 両モデルで
--max-model-lenの設定が同じ場合、8Bモデルの方がより多くのトークンをキャッシュできます
この挙動により、8Bモデルは14Bモデルよりも長いコンテキストを効率的に処理できる可能性があります。
重要な発見
発見1: GPTQが全体的に高速
単独測定時
| サイズ | AWQ | GPTQ | 速度差 |
|---|---|---|---|
| 14B | 65.92 tok/s | 74.71 tok/s | +13.4% |
| 8B | 75.46 tok/s | 80.24 tok/s | +6.3% |
TTS併用時
| サイズ | AWQ | GPTQ | 速度差 |
|---|---|---|---|
| 14B | 66.03 tok/s | 71.39 tok/s | +8.1% |
| 8B | 69.08 tok/s | 81.92 tok/s | +18.6% |
結論: vLLM 0.11.0環境下では、GPTQ量子化の方がAWQより高速であることが判明しました。単独測定時では14Bで+13.4%、TTS併用時では8Bで+18.6%の高速化が確認されました。最新バージョンでも同様の傾向が続くかは継続的な検証が必要です。
発見2: 環境による速度差の変化
- 単独測定時: 14Bで+13.4%、8Bで+6.3%の高速化
- TTS併用時: 14Bで+8.1%、8Bで+18.6%の高速化
興味深い発見:
- 単独測定時では14BモデルでGPTQの優位性が大きい(+13.4%)
- TTS併用時では8BモデルでGPTQの優位性が大きい(+18.6%)
- TTS併用時では全体的に速度が5-10%低下する傾向がある
発見3: 環境によるVRAM使用量の変化
単独測定時
- 14B-AWQ: 22.9GB使用、空き9.1GB
- 14B-GPTQ: 22.8GB使用、空き9.2GB(ほぼ同等)
- 8B-AWQ: 22.7GB使用、空き9.3GB
- 8B-GPTQ: 22.8GB使用、空き9.2GB
TTS併用時
- 14B-AWQ: 27.2GB使用、空き4.8GB(+4.3GB増加)
- 14B-GPTQ: 27.2GB使用、空き4.8GB(+4.4GB増加)
- 8B-AWQ: 28.2GB使用、空き3.8GB(+5.5GB増加)
- 8B-GPTQ: 27.1GB使用、空き4.9GB(+4.3GB増加)
重要な発見: GPT-SoVITS等のGPUプロセスが起動すると、vLLMのKVキャッシュ戦略が変化し、VRAM使用量が4-5GB増加します。これは、利用可能VRAMが減少したことで、vLLMが保守的なメモリ管理を実施するためです。
詳細速度比較
テストケース別(14Bモデル)
| テスト | AWQ | GPTQ | 差分 | 改善率 |
|---|---|---|---|---|
| シンプルな質問 | ~66 tok/s | 65.36 tok/s | -0.64 | -1.0% |
| 短い会話 | ~66 tok/s | 74.19 tok/s | +8.19 | +12.4% |
| 計算問題 | ~66 tok/s | 74.63 tok/s | +8.63 | +13.1% |
テストケース別(8Bモデル)
| テスト | AWQ | GPTQ | 差分 | 改善率 |
|---|---|---|---|---|
| シンプルな質問 | 67.79 tok/s | 76.73 tok/s | +8.94 | +13.2% |
| 短い会話 | 74.54 tok/s | 84.84 tok/s | +10.30 | +13.8% |
| 計算問題 | 64.91 tok/s | 84.17 tok/s | +19.26 | +29.7% |
観察: 短いプロンプトでGPTQの優位性が大きい傾向が見られました。
技術的分析
KVキャッシュサイズ比較
| モデル | AWQ | GPTQ | 差分 |
|---|---|---|---|
| 14B | 8.31 GiB (54,416 tokens) | 8.30 GiB (54,384 tokens) | ほぼ同じ |
| 8B | 11.97 GiB (87,152 tokens) | 11.97 GiB (87,136 tokens) | ほぼ同じ |
結論: KVキャッシュサイズは量子化方式に依存しません。
モデルファイルサイズ
| モデル | AWQ | GPTQ | 差分 |
|---|---|---|---|
| 14B | ~7-8 GiB | 9.37 GiB | +1.4 GiB |
| 8B | ~6 GiB | 5.71 GiB | -0.3 GiB |
興味深いことに、14BではGPTQの方が大きく、8BではGPTQの方が小さいという逆転現象が確認されました。
VRAM使用量の内訳推定
14B-GPTQ(27.2GB)
モデルウェイト: 9.37 GiB (34%)
KVキャッシュ: 8.30 GiB (31%)
その他: ~9.5 GiB (35%)
14B-AWQ(23.0GB)
モデルウェイト: ~7-8 GiB (30-35%)
KVキャッシュ: 8.31 GiB (36%)
その他: ~6.7 GiB (29%)
GPTQはモデル自体が大きいだけでなく、「その他」のメモリも多く消費していることが分かります。
なぜGPTQの方が速いのか?
仮説1: カーネル最適化の違い(最有力)
vLLMのログメッセージ:
AWQ: "Detected that the model can run with awq_marlin"
GPTQ: "Detected that the model can run with gptq_marlin"
両方ともMarlin形式対応ですが、実装は明示的にawq_marlin/gptq_marlinカーネルを使用しています。
Web調査による裏付け:
vLLMのGitHub Issueやディスカッションフォーラムを調査したところ、以下の報告が見つかりました:
-
vLLM 0.4.x~0.5.x時点: 「Marlinを使ったGPTQ(
gptq_marlin)はAWQよりも遥かに高速」という複数の報告(GitHub Issue #5793 等) - AWQのMarlinカーネル問題: 特にプロンプト処理(プレフィル)のパフォーマンスが悪いという報告(GitHub Issue #27956)
- バージョン依存性: vLLMの新しいバージョン(0.11.x以降)では、AWQのMarlin最適化が進み、速度関係が変わる可能性
結論: vLLM 0.11.0時点では、gptq_marlinカーネルの最適化がawq_marlinよりも進んでいたことが、GPTQの高速化の直接的な原因と考えられます。
仮説2: 量子化グループサイズ
- AWQ: 通常128グループサイズ
- GPTQ: 通常32-128グループサイズ(柔軟)
GPTQのグループサイズが推論に有利に働いている可能性があります。
仮説3: 活性化関数の処理
- AWQ: クリップベース量子化
- GPTQ: 層単位量子化
GPTQの層単位処理がGPU並列化に適している可能性があります。
実用的な推奨
シナリオ1: GPT-SoVITS共存
TTS併用時の実際のVRAM使用量:
| 順位 | 推奨モデル | VRAM使用 | VRAM空き | 速度 | 理由 |
|---|---|---|---|---|---|
| 🥇 | Qwen3-14B-GPTQ | 27.2 GB | 4.8 GB | 71.39 tok/s | 高速(+8.1%)、VRAM使用量はAWQと同等 |
| 🥈 | Qwen3-14B-AWQ | 27.2 GB | 4.8 GB | 66.03 tok/s | 安定性重視、VRAM使用量はGPTQと同等 |
| 🥉 | Qwen3-8B-GPTQ | 27.1 GB | 4.9 GB | 81.92 tok/s | 最速(+24.1%)、VRAM効率も良いが、推論品質は14Bより低い可能性 |
重要な注意:
- 14B-AWQと14B-GPTQでVRAM使用量・空きは同じ(27.2GB使用、4.8GB空き)
- 速度ではGPTQが+8.1%高速なため、vLLM 0.11.0環境下では基本的に14B-GPTQを推奨します。最新バージョンをお使いの場合は再検証を強く推奨します。
- 8B-GPTQは最速でVRAM効率も良いが、推論品質(特に複雑なタスク)では14Bモデルに劣る可能性
- 単独測定時では「VRAM空き9GB」と表示されるが、TTS併用時では約4.8GBになる
- GPT-SoVITSが+2.3GB使用するため、合計で約30GB使用となり、安全マージンは限られる
シナリオ2: 単独利用・最高速度重視
単独測定時の測定値:
| 順位 | 推奨モデル | 速度 | VRAM使用 | VRAM空き | 理由 |
|---|---|---|---|---|---|
| 🥇 | Qwen3-8B-GPTQ | 80.24 tok/s | 22.8 GB | 9.2 GB | 最速、VRAM効率良好 |
| 🥈 | Qwen3-14B-GPTQ | 74.71 tok/s | 22.8 GB | 9.2 GB | 高速、推論品質重視 |
| 🥉 | Qwen3-8B-AWQ | 75.46 tok/s | 22.7 GB | 9.3 GB | 速度良好、VRAM最小 |
シナリオ3: VRAM効率重視(単独測定時)
| 順位 | 推奨モデル | VRAM使用 | VRAM空き | 理由 |
|---|---|---|---|---|
| 🥇 | Qwen3-8B-AWQ | 22.7GB | 9.3GB | 最小VRAM使用 |
| 🥈 | Qwen3-14B-AWQ | 22.9GB | 9.1GB | 最小VRAMクラス |
| 🥉 | Qwen3-8B-GPTQ | 22.8GB | 9.2GB | 高速かつVRAM効率良好 |
注意: TTS併用時では、VRAM使用量が4-5GB増加します。
総合評価
総合評価(5点満点)- GPT-SoVITS共存環境
| モデル | 速度 | VRAM効率 | 共存性 | 総合 |
|---|---|---|---|---|
| Qwen3-14B-AWQ | ⭐⭐⭐ (3) | ⭐⭐⭐⭐ (4) | ⭐⭐⭐⭐ (4) | ⭐⭐⭐⭐ (3.7) |
| Qwen3-14B-GPTQ | ⭐⭐⭐⭐ (4) | ⭐⭐⭐⭐ (4) | ⭐⭐⭐⭐ (4) | ⭐⭐⭐⭐ (4.0) |
| Qwen3-8B-GPTQ | ⭐⭐⭐⭐⭐ (5) | ⭐⭐⭐⭐ (4) | ⭐⭐⭐⭐ (4) | ⭐⭐⭐⭐⭐ (4.3) |
| Qwen3-8B-AWQ | ⭐⭐⭐ (3) | ⭐⭐ (2) | ⭐⭐⭐ (3) | ⭐⭐⭐ (2.7) |
評価基準:
- 速度: TTS併用時の推論速度(tok/s)
- VRAM効率: TTS併用時のVRAM使用量(27GB前後を基準)
- 共存性: TTS併用時の実際のVRAM空き(4.8-4.9GBを基準)
重要な注意:
- TTS併用時では、14B-AWQと14B-GPTQでVRAM使用量・空きは同じ(27.2GB使用、4.8GB空き)
- 速度ではGPTQが+8.1%高速なため、vLLM 0.11.0環境下では基本的に14B-GPTQを推奨
- 速度重視ならQwen3-8B-GPTQ、バランス重視ならQwen3-14B-GPTQがおすすめですが、いずれも当時の検証結果に基づくものです。
結論
Q1: AWQとGPTQはどちらが速い?
答え: vLLM環境ではGPTQが6-19%高速
- 単独測定時: 14Bで+13.4%、8Bで+6.3%
- TTS併用時: 14Bで+8.1%、8Bで+18.6%
Q2: なぜGPTQの方が速い?
答え: vLLMのGPTQカーネル最適化による(推測)
- 両方ともMarlin対応だが、GPTQ実装が優秀
- 短いプロンプトでの差が顕著
Q3: どのモデルを選ぶべき?
TTS併用の場合:
→ Qwen3-14B-GPTQ(VRAM空き4.8GB、+8.1%高速)
→ または Qwen3-14B-AWQ(同4.8GB空き、安定性重視)
- 注意: 単独測定時では「9GB空き」と表示されるが、TTS併用時は約4.8GB空きになる
単独利用・最高速度重視:
→ Qwen3-8B-GPTQ(単独測定時で80.24 tok/s、TTS併用時で81.92 tok/s)
バランス型(単独測定時):
→ Qwen3-14B-GPTQ(速度・VRAM・推論品質のバランス良好)
今後の調査
本検証の結果をさらに発展させるため、以下のような追加検証が考えられます。
1. 新しいvLLMバージョンでの再検証(重要度: ★★★★★)
vLLM 0.11.0以降では、AWQのMarlin最適化が進んでいる可能性があります。新しいバージョンで同じ検証を行い、速度関係が変わるか確認することが重要です。
pip install vllm --upgrade
期待効果:
- AWQとGPTQの速度関係が逆転する可能性
- 最新の最適化の恩恵を受ける
2. Attentionバックエンドの変更(重要度: ★★★★☆)
vLLMは複数のAttentionバックエンドをサポートしており、環境変数で切り替えることができます。これを変更した上でAWQとGPTQの速度差がどう変わるか検証する価値があります。
# Flash Attentionを使用(デフォルト)
export VLLM_ATTENTION_BACKEND=FLASH_ATTN
# FlashInferを使用
export VLLM_ATTENTION_BACKEND=FLASHINFER
# xFormersを使用
export VLLM_ATTENTION_BACKEND=XFORMERS
期待効果:
- Attentionバックエンドによる速度差の検証
- AWQとGPTQの速度差が縮まる可能性
注意: vLLM 0.11.0では、Flash Attentionは内蔵されており、追加のインストールは不要です。ただし、FlashInferを使用する場合は別途インストールが必要です(公式ドキュメント参照)
3. gptq_marlinモードでの明示的指定(重要度: ★★★☆☆)
vLLMが自動検出する代わりに、明示的にgptq_marlinを指定することで、確実にMarlinカーネルを使用させます。
--quantization gptq_marlin # gptqの代わり
期待効果:
- 自動検出時と差があるか確認
- カーネル選択の挙動を理解
参考: vLLM Quantization Documentation
4. チャンクサイズの最適化(重要度: ★★☆☆☆)
--max-num-batched-tokensはバッチ処理のスループットに影響します。AITuberのような低バッチ(リアルタイム応答)シナリオでは影響が少ないかもしれませんが、プロンプト処理(プレフィル)のパフォーマンスには影響する可能性があります。
--max-num-batched-tokens 4096 # デフォルト2048
期待効果:
- スループット向上
- プレフィル速度の改善
まとめ
本記事では、vLLM 0.11.0環境でのAWQ vs GPTQの実測ベンチマークを行いました。
主な発見
-
vLLM 0.11.0ではGPTQが6-19%高速
- 単独測定時: 14Bで+13.4%、8Bで+6.3%
- TTS併用時: 14Bで+8.1%、8Bで+18.6%
- 原因:
gptq_marlinカーネルの最適化がawq_marlinより進んでいた
-
環境による速度差の変化
- 単独測定時では14BモデルでGPTQ優位
- TTS併用時では8BモデルでGPTQ優位
-
TTS併用時のVRAM使用量増加
- GPT-SoVITS等のGPUプロセス起動により4-5GB増加
- vLLMの
--gpu-memory-utilizationパラメータによるKVキャッシュ戦略の変化
-
8BモデルのKVキャッシュが14Bより大きい
- 8B: 11.97 GiB vs 14B: 8.31 GiB
- モデルサイズが小さい分、より多くのVRAMをKVキャッシュに割り当て
実用的な推奨
TTS併用の場合:
→ Qwen3-14B-GPTQ(VRAM空き4.8GB、+8.1%高速)
→ または Qwen3-14B-AWQ(同4.8GB空き、安定性重視)
単独利用・最高速度重視:
→ Qwen3-8B-GPTQ(単独測定時で80.24 tok/s、TTS併用時で81.92 tok/s)
⚠️ 最重要な注意事項
本検証結果はvLLM 0.11.0環境下での一つのケーススタディです。
- vLLMは急速に開発が進んでおり、新しいバージョンでは結果が異なる(あるいは逆転する)可能性があります
- 本記事は特定環境(RTX 5090, vLLM 0.11.0, Qwen3モデル)での実測データであり、他の環境では異なる結果になる可能性があります
- 実際の選択は、ご自身の環境で実測することを強く推奨します
今後の展望
- 新しいvLLMバージョンでの再検証: AWQのMarlin最適化が進み、速度関係が変わる可能性
- Attentionバックエンドの比較: FlashInferやxFormersなど、異なるバックエンドでの速度差の検証
- 他のモデル(Llama3, Mistral等)での検証: 量子化手法の優位性がモデルによって異なる可能性
この記事が、vLLM環境での量子化手法選定の参考になれば幸いです。
参考資料
使用したモデル
AWQ量子化モデル
- Qwen/Qwen3-14B-AWQ - Qwen3-14B AWQ 4-bit量子化版
- Qwen/Qwen3-8B-AWQ - Qwen3-8B AWQ 4-bit量子化版
GPTQ量子化モデル
- AlphaGaO/Qwen3-14B-GPTQ - Qwen3-14B GPTQ 4-bit量子化版 (group_size: 128, Marlin対応)
- AlphaGaO/Qwen3-8B-GPTQ - Qwen3-8B GPTQ 4-bit量子化版 (group_size: 128, Marlin対応)
vLLM公式リソース
補足:なぜFP8や最新の量子化生成手法(AutoRound等)ではないのか?
本検証にあたり、FP8やAutoRoundといった最新トレンドではなく、あえて標準的な4-bit AWQ/GPTQを採用した理由は以下の通りです。
-
VRAM容量の制約(対FP8):
RTX 5090はFP8推論に強力な適性がありますが、FP8(8-bit)は4-bit量子化と比較してモデルサイズが約2倍になります。AITuber運用ではTTS(GPT-SoVITS)やOBS等の他プロセスとVRAMを共有するため、32GBといえどもVRAM容量にはシビアな制限があります。KVキャッシュ(文脈長)を最大限確保し、かつTTSと同居させるためには、4-bit量子化が最適解と判断しました。 -
推論カーネルの共通性(対AutoRound等):
AutoRoundやEfficientQATなどの最新手法で重みを調整したモデルであっても、vLLMでの推論時に使用されるファイル形式や実行カーネル(Marlin等)は、標準的なGPTQ/AWQと共通であるケースが大半です。そのため、本記事の「AWQ vs GPTQの速度差」という検証結果は、それら高精度モデルを利用する際の速度見積もりとしても、一定の参考になると考えられます。 -
再現性:
Hugging Faceで誰でも即座に入手可能な公式/準公式モデルを使用することで、手元で再現しやすい環境を優先しました。
検証日: 2025年11月5日
環境: NVIDIA RTX 5090 (32GB VRAM), WSL2 Ubuntu 24.04, vLLM 0.11.0
Discussion