vLLM-Omni が AutoRound 量子化で推論を加速

vLLM-Omni が AutoRound 量子化で推論を加速

TL;DR

vLLM-Omni は現在、Intel の AutoRound PTQ アルゴリズムを完全に統合し、マルチモーダル Omni、拡散ビデオ、マルチステージ画像生成パイプライン向けに「一度量子化してそのまま提供」ワークフローを提供します。この統合により、チェックポイントサイズが最大 62% 短縮され、精度が維持またはわずかに向上し、Intel XPU B60 上で CFG Parallel 実行により 1.55〜1.67 倍高速なガイド付き生成が可能になります。

はじめに

vLLM-Omni は現在 AutoRound 量子化をサポートし、シンプルなオフライン量子化ステップの後に自動ランタイム検出とフラグ不要の提供を実現します。AutoRound はチューニングベースの事後学習量子化手法で、テンソルごとに 3 つの学習可能パラメータで丸めとクリッピングを共同最適化し、推論時の量子化オーバーヘッドがゼロの静的チェックポイントを生成します。統合により、vLLM-Omni はチェックポイントメタデータを読み取り、quantization_config.quant_method = "auto-round" を検出し、ブロックをランタイムモジュールに再マッピングし、適切な計算バックエンドを選択することで、通常のモデルロードと同一の提供 API を維持します。

モデルカバレッジ

検証済みの AutoRound + vLLM-Omni エコシステムは、3 つの主要なマルチモーダルパラダイムをカバーしています。

Omni マルチモーダルモデル

これらのモデルはテキスト、ビジョン、オーディオの統合処理ループを扱い、クロスモーダル埋め込みの整合性課題を提示します。

  • Qwen3-Omni-30B-A3B-Instruct (Intel/Qwen3-Omni-30B-A3B-Instruct-int4-AutoRound) – 大規模なフラッグシップマルチモーダルモデルで、vLLM-Omni に統合・検証済み。
  • Qwen2.5-Omni-7B (Intel/Qwen2.5-Omni-7B-int4-AutoRound) – 軽量で低レイテンシなクロスモーダルエンジンで、vLLM-Omni に統合・検証済み。

拡散とマルチステージ画像生成

  • GLM-Image (Intel/GLM-Image-int4-AutoRound) – マルチステージのテキスト→画像パイプラインで、vLLM-Omni に統合・検証済み。
  • FLUX.1-dev (vllm-project-org/FLUX.1-dev-AutoRound-w4a16) – 高忠実度拡散トランスフォーマー(DiT)で、vLLM-Omni に統合・検証済み。
  • BAGEL-7B-MoT (Intel/BAGEL-7B-MoT-int4-AutoRound) – チェックポイントは利用可能、ランタイム統合は進行中。
  • Ovis-Image-7B (Intel/Ovis-Image-7B-int4-AutoRound) – チェックポイントは利用可能、ランタイム統合は進行中。

ビデオ拡散

Wan2.2 ファミリーは、最先端の時空間ビデオ生成モデルで、AutoRound INT4 チェックポイントが vLLM-Omni で検証されています:

  • I2V-A14B (Intel/Wan2.2-I2V-A14B-Diffusers-int4-AutoRound)
  • T2V-A14B (Intel/Wan2.2-T2V-A14B-Diffusers-int4-AutoRound)
  • TI2V-5B (Intel/Wan2.2-TI2V-5B-Diffusers-int4-AutoRound)

使用方法

すべての量子化とチューニング操作をオフラインで行うことで、プロダクションコードは高性能推論に集中できます。

量子化モデルでの推論

FLUX.1-dev の場合、Python API は通常の vLLM-Omni のロードと同様で、チェックポイントパスだけが異なります。

from vllm_omni import Omni
from vllm_omni.inputs.data import OmniDiffusionSamplingParams

if __name__ == '__main__':
    omni = Omni(model="vllm-project-org/FLUX.1-dev-AutoRound-w4a16
    outputs = omni.generate(
        "A cat sitting on a windowsill",
        OmniDiffusionSamplingParams(num_inference_steps=28, guidance_scale=3.5),
    )
    outputs[0].images[0].save("output.png

Wan2.2 ビデオモデルの場合、提供は標準的な vLLM-Omni コマンドで行い、リクエストは BF16 バリアントと同じビデオエンドポイントを使用します。

vllm serve Intel/Wan2.2-T2V-A14B-Diffusers-int4-AutoRound --omni --port 8091
curl -X POST "http://127.0.0.1:8091/v1/videos/sync" \
  -F 'prompt=Cherry blossoms swaying gently in the breeze, cinematic motion' \
  -F 'width=832' -F 'height=480' -F 'num_frames=48' \
  -F 'num_inference_steps=40' -F 'guidance_scale=5.0' \
  --output t2v_output.mp4

Qwen2.5-Omni のような Omni モデルでも、OpenAI 互換のチャットインターフェースは変更されません。

vllm serve Intel/Qwen2.5-Omni-7B-int4-AutoRound --omni --port 8091
curl -s http://localhost:8091/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Intel/Qwen2.5-Omni-7B-int4-AutoRound",
    "messages": [{"role": "user", "content": "What is 2 + 3?"}],
    "max_tokens": 128
  }'

vLLM-Omni はチェックポイントから量子化メタデータを自動検出します。事前に量子化された AutoRound モデルに対して別途 --quantization フラグは不要です。

新しいモデルの量子化

新しいチェックポイントは AutoRound ツールでオフライン生成され、その後 vLLM-Omni が直接提供します。提供時にキャリブレーションや量子化は行われません。

# FLUX.1-dev
auto-round \
  --model black-forest-labs/FLUX.1-dev \
  --scheme W4A16 \
  --batch_size 1 \
  --disable_opt_rtn \
  --dataset coco2014 \
  --iters 0

# Wan2.2-T2V-A14B
auto-round \
  --model_name Wan-AI/Wan2.2-T2V-A14B-Diffusers \
  --format auto_round \
  --scheme W4A16 \
  --iters 100 \
  --nsamples 32 \
  --batch_size 1 \
  --num-inference-steps 3 \
  --guidance-scale 5.0 \
  --dataset coco2014 \
  --output_dir Wan2.2-T2V-A14B-Diffusers-int4-AutoRound

# Qwen3-Omni-30B-A3B-Instruct
auto-round \
  --model Qwen/Qwen3-Omni-30B-A3B-Instruct \
  --bits 4 \
  --group_size 128 \
  --format auto_round \
  --iters 200 \
  --lr 5e-3 \
  --output_dir tmp_qwen3_omni_w4a16 \
  --trust_remote_code

生成されたチェックポイントは config.json に量子化メタデータを含みます:

{
  "quantization_config": {
    "quant_method": "auto-round",
    "bits": 4,
    "group_size": 128,
    "sym": true,
    "packing_format": "auto_round:auto_gptq"
  }
}

AutoRound と vLLM のガイダンスでは、128 サンプルのキャリブレーションと約 200 回の最適化イテレーションで安定した収束が得られることが多いとされていますが、より大きなモデルや感度の高いモデルでは追加のチューニングが有益になる場合があります。

品質検証

拡散モデルに対して、vLLM-Omni は BF16 参照と量子化候補間の同一シード回帰テスト用比較ツールを提供します。

python -m vllm_omni.quantization.tools.compare_diffusion_trajectory_similarity \
  --task t2i \
  --reference-model black-forest-labs/FLUX.1-dev \
  --candidate-model vllm-project-org/FLUX.1-dev-AutoRound-w4a16 \
  --prompt "a cup of coffee on the table" \
  --height 512 --width 512 \
  --num-inference-steps 20 \
  --seed 142 \
  --output-json /tmp/flux_similarity/result.json

定量評価:精度と品質

量子化はモデルの核心的な知能を保持できる場合にのみ有用であり、広範なマルチモーダル回帰テストが実施されました。

Omni マルチモーダル評価(OmniBench)

evalscope を用いて 100 の高度に複雑なマルチモーダルタスク(画像と音声モダリティを含む)を評価した結果、W4A16 モデルは BF16 ベースラインよりわずかに高い総合 OmniBench スコアを達成しました。 BF16 と W4A16 AutoRound 量子化バリアントの Qwen3-Omni-30B-A3B-Instruct の OmniBench 結果比較

マルチステージ拡散評価(TIIF-Bench)

マルチステージのテキスト→画像システムに対して、アラインメント、構成、忠実度を評価する 9 つの構造的サブ属性で性能が定量化されました。 マルチステージテキスト→画像パイプラインにおける 9 つの構造的サブ属性の TIIF-Bench 評価 全軸にわたる平均精度低下は約 1.3% で、プロダクション展開に許容範囲内です。

ビデオ生成評価(Wan2.2)

ビデオパイプラインは、時間的一貫性のドリフトにより単純なスカラー量子化に脆弱です。AutoRound は複数の次元で客観的指標を用いて評価されました。 W4A16 AutoRound 量子化下での Wan2.2 T2V-A14B のテキスト→ビデオ評価 W4A16 AutoRound 量子化下での Wan2.2 I2V-A14B の画像→ビデオ評価 W4A16 AutoRound の下で、テキスト→ビデオバリアント(T2V-A14B)は構造的一貫性指標でわずかな改善を示し、クリッピング最適化が正則化効果をもたらすという仮説と一致しています。

パフォーマンス、フットプリント、提供ベンチマーク

VRAM フットプリント最適化

W4A16 AutoRound の第一の利点は、チェックポイントサイズと実行時メモリフットプリントの劇的な削減です。 vLLM-Omni モデルファミリー間での BF16 と W4A16 AutoRound の VRAM フットプリント比較 W4A16 は量子化された重みの保存領域を BF16 ベースラインから約 1/4 に縮小し、メモリ余裕を提供します。エンドツーエンドの速度向上は、以前のワークロードがメモリ容量や帯域幅でどれだけボトルネックになっていたかに依存します。

メモリ余裕をレイテンシ削減に活用

セクション 5.1 で W4A16 の第一のメモリ利点が示された一方で、本ケーススタディはそのメモリ余裕がどのようにアーキテクチャ上の利点に変換されるかを示します。GPU 割り当て戦略により、単なる計算削減だけでは予測できない実際のスループット向上が得られます。すべてのベンチマークは Intel XPU B60 上で実施されました。

W4A16 は最低ハードウェア要件を 4 GPU から 1 GPU のみへ削減

BF16 の FLUX.1-dev トランスフォーマー(23 GB)は、ランタイムアクティベーションを含めると単一 B60 の 24.4 GB 容量を超えるため、提供には TP=4(4 GPU 全て)が必要です。W4A16 の 7 GB トランスフォーマーは単一 GPU に余裕 19% で収まり、余裕があります。

W4A16 + CFG Parallel = 1.55 倍〜1.67 倍高速なガイド付き生成

Classifier-Free Guidance(CFG)では、ステップごとに 2 回のデノイズパス(プロンプト付きとネガティブプロンプト付き)を実行する必要があります。BF16 がテンソル並列のために 4 GPU 全てを占有している場合、これらのパスは順次実行され(2 倍のレイテンシ)、W4A16 は TP=2 に収まり、2 GPU が解放されます。これにより CFG Parallel が可能となり、2 つの GPU グループで両方のガイダンスブランチを同時に実行できます。 レイテンシとメモリのトレードオフ分析:W4A16 が最低ハードウェア要件を 4 GPU から 1 GPU に削減し、CFG Parallel 実行を可能にする Intel XPU B60 上の CFG Parallel 実行は、順次 BF16 提供に対して 1.55〜1.67 倍の速度向上を達成 重要な洞察:拡散ワークロードにおける W4A16 の価値はメモリ削減だけでなく、メモリ余裕が並列化戦略を可能にし、単なるデ量子化オーバーヘッド以上のエンドツーエンド速度向上をもたらす点にあります。

結論

AutoRound はオペレータの要件(オフラインチェックポイント生成、自動ランタイム検出、予測可能なメモリ削減、展開前の品質検証)を尊重する統合であるため、vLLM-Omni に適合します。その結果、FLUX や Wan から GLM、BAGEL、Ovis、Qwen Omni まで、vLLM-Omni エコシステムの重要な部分をカバーする実用的な低ビット提供ワークフローが実現しました。

広範なコミュニティにとって、量子化は基盤インフラとして成熟しています。AutoRound がモデルファミリーやハードウェアアーキテクチャ間の互換性を拡大することで、マルチモーダル性能、デプロイコスト、出力品質のバランスを取る効果的な道筋が提供されます。

現在進行中の取り組みとして、より広範なフォーマットサポートとモデルファミリー・ハードウェアターゲットへの拡張があります。Linear および MoE モジュール向けの MXFP4 や MXFP8 といった追加量子化フォーマットのサポートや、注意層向けの低ビット手法(例:SageAttention)も検討中です。これらの改善により、近い将来にマルチモーダル提供の効率と柔軟性がさらに向上します。

謝辞

vLLM-Omni チームの Hongsheng Liu、Shunyang Li、WeiQing Chen、そして Intel の Chendi Xue に、AutoRound を vLLM-Omni に統合する際の素晴らしいサポートに特別な感謝を捧げます。また、AutoRound を迅速に採用してくれた vLLM-Omni コミュニティにも深く感謝いたします。

Sources