Repo-lab
AIツール

RTX 3090 で Qwen3.8-27B を動かす:DFlash2 最適化済み vLLM セットアップ

⭐ 1,323 stars GitHub →

「RTX 3090(24 GB)1枚で Qwen3.8-27B が動くのか?」——答えは Yes です。それどころか、通常の vLLM 設定より格段に速く動きます。syv-ai/qwen38-27b-rtx3090 は、RTX 3090 単枚に特化したパッチ・設定・Docker Compose 一式をまとめたリポジトリです。

GitHub スター数は1,323(2026年9月時点)、コントリビューター 11 人が活発に開発を続けており、最新のベンチマーク結果も継続的に更新されています。

既存の Zenn/Qiita 記事の多くは RTX 4090・RTX 5060/5070 Ti など上位 GPU や Ollama による量子化を中心に扱っています。本記事は「RTX 3090 24GB 単枚 × vLLM × DFlash2 最適化」という本リポジトリ固有の構成に絞って解説します。


RTX 3090 で Qwen3.8-27B を動かす:既存ツールとの違い

なぜ Ollama / llama.cpp ではなく vLLM か

比較軸 Ollama llama.cpp vLLM(本リポジトリ)
デコード速度(RTX 3090) 〜30 tok/s 〜40 tok/s 121〜382 tok/s
OpenAI互換API △(限定的) ✅(フル互換)
コンテキスト長(24GB) 〜32k 〜64k 150k〜240k
バッチ処理 ✅(batch プロファイル)
Docker対応

最大の違いはスペキュラティブデコーディングにより実現した 最大 382 tok/s(25k 文書再生成時)という高速性です。通常の vLLM 設定と比較してもこのリポジトリ固有の最適化(DFlash2 ドラフタ・MTP・int8 量子化)が効いています。

DFlash2 最適化とは

DFlash2 は、Qwen3.8-27B のマルチトークン予測(MTP)ヘッドを 7 トークンを 1 パスで提案する DFlash2 ブロックドラフタに置き換える最適化です。標準の 4 チェーン MTP(デフォルト: 120 tok/s)に対して:

  • 通常チャット: 127〜132 tok/s
  • 長文書の再生成: 260〜382 tok/s

SPEC=dflash2 の 1 変数で切り替えられます。


インストール方法(Docker Compose 推奨)

前提条件

  • NVIDIA RTX 3090(VRAM 24 GB)または同等の 24 GB GPU
  • Docker + NVIDIA Container Toolkit
  • ストレージ: モデルダウンロード用に約 30 GB の空き

クローンと設定

git clone https://github.com/syv-ai/qwen38-27b-rtx3090
cd qwen38-27b-rtx3090

# Linux/WSL の場合
cp .env.example .env

single-user プロファイルで起動(1〜数人の会話用)

docker compose --profile single up -d

初回起動時にモデルのダウンロードと requantization が自動実行されます(約 20 GB、初回のみ)。その後、http://localhost:18020 で OpenAI 互換 API が利用可能になります。

batch プロファイルで起動(API バックエンド・多並列リクエスト用)

docker compose --profile batch up -d

64 並列・128 入力トークン/512 出力トークン条件での計測で 約 1,035 tok/s のステディステート が報告されています。

DFlash2 最適化の有効化(単独ユーザー推奨設定)

最速設定は 3 変数の追加で実現できます:

printf 'SPEC=dflash2\nPREFIX_CACHE=1\n' >> .env

# 長文書(プロンプトの内容を引用するタスク)では追加で
printf 'DFLASH_TOKENS=15\n' >> .env

docker compose --profile single up -d

RTX 3090 での実測ベンチマーク(本リポジトリ標準)

以下は本リポジトリの bash bench/run_benchmarks.sh single による 2026-08-22 再計測値です。

設定 デコード速度
MTP デフォルト(8 スロット・64k) 120 tok/s
SPEC=dflash2 132 tok/s
SPEC=dflash2 + DFLASH_TOKENS=15(チャット) 133 tok/s
SPEC=dflash2 + DFLASH_TOKENS=15(25k 文書再生成) 382 tok/s

250 W 電力制限の RTX 3090 での計測。プリフィル速度は batch モードで約 1,810 tok/s(1k 入力)。


こんな人に向いている

MLエンジニア・AI 研究者(個人開発環境)

RTX 3090 を所有する個人開発者・研究者で、OpenAI API 呼び出しコストを削減しながら Qwen3.8-27B クラスの性能を自前環境で使いたい方に最適です。PREFIX_CACHE=1 を有効にすると、25k トークンの文書に対する 2 回目以降の返答が 22.4 秒 → 0.56 秒(First Token Time)に短縮され、長文チャット・RAG パイプラインの体験が大幅に改善します。

バックエンドエンジニア・API サーバー構築者

--profile batch を使えば、64 並列リクエストを捌ける OpenAI 互換 API サーバーをローカルに構築できます。VLLM_API_KEY を設定してリモート公開すれば、チーム内向けの LLM API エンドポイントとして運用可能です。CI/CD パイプラインの LLM 評価ステップや社内ツールの Copilot として活用できます。

LLM インフラ検証エンジニア

本リポジトリには bench/ ディレクトリにベンチマークハーネスが同梱されており、bench/prompts_real.jsonl の 8 プロンプトで再現性ある計測ができます。2 台の RTX 3060(VRAM 合計 24 GB)での動作報告もあり(Issue #3)、デュアル GPU 環境の検証にも使えます。


使う前に知っておきたいこと

GPU 要件

公式サポートは VRAM 24 GB GPU(RTX 3090・RTX 4090 等)です。 24 GB 未満の GPU では W4A16 量子化が必要で、一部の機能(CTX=hugeDFLASH_TOKENS=15)は利用できません。

WSL2 利用時の注意

Docker Desktop(WSL2 バックエンド)を使用する場合、.envVLLM_WSL2_ENABLE_PIN_MEMORY=1 が必要です。これを設定しないと V2 ランナーが RuntimeError: UVA is not available で異常終了します。

API キー認証

デフォルトはローカルオンリー・認証なしです。外部からアクセスさせる場合は必ず VLLM_API_KEY を設定してください:

echo "VLLM_API_KEY=$(openssl rand -hex 24)" > .env

vLLM バージョンとの互換性

このリポジトリは vLLM 0.28.0 にピン留めされています。最新の vLLM では動作しない可能性があります。スループット・品質テーブルは v0.28.0 ベースの参照値であり、他バージョンとの直接比較はできません。

ライセンス

本リポジトリのセットアップスクリプト・パッチ・設定ファイルは MIT ライセンスです。ただし Qwen3.8-27B モデル本体は Qwen Team のライセンスに従います。商用利用前にモデルライセンスを確認してください。


まとめ

syv-ai/qwen38-27b-rtx3090 は、RTX 3090 単枚環境に特化した DFlash2・MTP・int8 最適化済みの vLLM セットアップです。Docker Compose 3 コマンドで起動でき、単独ユーザーで最大 382 tok/s・150k context という実用的なパフォーマンスを実現します。

Ollama や llama.cpp による量子化と比較して速度・コンテキスト長・API 互換性の全てで上回るため、RTX 3090 を所有していてローカル LLM を本格活用したい方には試す価値があります。

関連ツール・おすすめサービス

  • Perplexity AI — AI 検索で最新の LLM 情報をリアルタイムに収集するならこちら
  • DigitalOcean — GPU インスタンスで vLLM をクラウド環境で試したい場合に

この技術を学ぶ

AIに興味を持った方には、Udemyのオンラインコースもおすすめです。

毎日更新のGitHubツール情報

LINEで受け取って最新情報をキャッチアップしよう

友達追加する(無料)

関連記事

この記事が役に立ったらシェアしてください