RTX 3090 で Qwen3.8-27B を動かす:DFlash2 最適化済み vLLM セットアップ
「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=huge、DFLASH_TOKENS=15)は利用できません。
WSL2 利用時の注意
Docker Desktop(WSL2 バックエンド)を使用する場合、.env に VLLM_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のオンラインコースもおすすめです。
- 🎓 関連するAIコース一覧 — セール時(最大90%OFF)を狙うとお得です
関連記事
この記事が役に立ったらシェアしてください