Vuncloud ブログ
← フィールドノートに戻る

DeepSeek パフォーマンス最適化完全ガイド(2026)

推論エンジン · 量子化 · KVキャッシュ · バッチスケジューリング · 本番チェックリスト約14分

DeepSeek LLM推論パフォーマンス最適化—GPUクラスタスケジューリング、量子化、スループット監視

DeepSeek は 2025–2026 年にコスパ最高のオープンソース LLM の一つとなった。V3 シリーズは汎用タスクで GPT-4 級の性能に迫り、R1 は推論チェーンで o1 クラスの能力をセルフホスト可能な価格帯まで引き下げた。しかし本番投入時、チームが最初に直面するのは「モデルが賢いか」ではなく、初 token 遅延の急上昇、並行処理での OOM、量子化後の品質断崖である。

本記事はDeepSeek パフォーマンス最適化の完全ガイドだ。モデル選定、推論エンジン、量子化戦略、KV Cache とバッチ処理、API 呼び出し、本番モニタリングまで、「まずボトルネックを測定し、次に対症療法」という順で書いた。ベンチマークのスクリーンショットは並べず、すぐに使えるパラメータとチェックリストだけを提供する。

3 層
モデル · エンジン · アプリ呼び出し
FP8/INT4
量子化はコストレバーの第一手段
vLLM / SGLang
2026 本番推論の二大主流

一、DeepSeek モデル系列とパフォーマンス基準

最適化の前に「どのモデルラインを動かしているか」を揃える——系列によって算力要件は桁違いだ:

系列 代表モデル パラメータ規模 典型的な用途 パフォーマンス特性
V3 DeepSeek-V3、V3-0324 MoE ~671B(活性 ~37B) 汎用対話、コード、Agent 高スルー、長コンテキスト向き;マルチ GPU または強い量子化が必要
R1 DeepSeek-R1、R1-Distill フル MoE または 7B–70B 蒸留 数学、論理、多段推論 出力 token 多、遅延に敏感;バッチプールで分離向き
蒸留小型モデル R1-Distill-Qwen-7B/14B/32B 7B–32B dense エッジ、高並行 API、コスト重視 単 GPU で可能;推論チェーン品質はサイズで大きく変動
Coder DeepSeek-Coder-V2 MoE / dense 複数サイズ IDE 補完、リポジトリ規模のコード Fill-in-the-middle はエンジン対応必須;コンテキストが長いほど KV を消費

基準の推奨:リリース前に固定プロンプトセット(50–200 件)で 3 つの数値を測る——TTFT(初 token 時間)、TPOT(出力 token あたりの時間)、tokens/s/GPU。基準がないと、後の量子化とチューニングは闇雲な調整になる。

DeepSeek 大規模モデル推論パフォーマンス最適化:GPU クラスタ上の行列演算とスルー監視ダッシュボード
本番環境では量子化とエンジンパラメータを変える前に、再現可能な負荷試験基準を確立する

二、まずボトルネックを特定:遅延、スルー、コスト

DeepSeek のパフォーマンス問題は通常 3 類に分かれ、最適化手段はまったく異なる:

  • 対話遅延(チャット、Copilot):TTFT 低減を優先 → prefill 長を短縮、FP8 有効化、GPU クロックと PCIe 帯域を向上
  • スルー(バッチ、オフライン注釈):continuous batching、max_num_seqs 引き上げ、マルチ GPU tensor parallel を優先
  • コスト(24/7 API):INT4/AWQ 量子化、小型モデルルーティング、重複プロンプトのキャッシュを優先

コア指標

指標 意味 一般的な目標(対話シーン)
TTFT 初 token 遅延 < 500ms(短いプロンプト);長文書 RAG は 1–3s まで許容
TPOT 出力 token あたりの時間 < 30ms(体感で滑らか)
GPU 利用率 演算が飽和しているか 定常 > 70%;長期 < 40% は batch または並列度不足
KV Cache 使用量 VRAM の主因 長コンテキストでは重みより先に OOM しがち

同じプロンプトで「コールドスタート」と「ウォームキャッシュ」を測る

初回リクエストにはモデルロードと CUDA graph コンパイルが含まれる。本番 SLA はウォームアップ後の p95 を基準にする。負荷試験スクリプトに 10 ラウンドの warmup を入れてから集計する。

三、推論エンジンの選定とチューニング

DeepSeek は MLA(Multi-head Latent Attention)などのアーキテクチャを採用——上流パッチがマージされたエンジンバージョンを必ず使う。2026 年 8 月時点の本番主流:

vLLM

汎用 OpenAI 互換 API、マルチテナント並行に適する。主要パラメータ:

# 例:単一ノード 8×A100 で DeepSeek-V3 AWQ
vllm serve deepseek-ai/DeepSeek-V3 \
  --quantization awq \
  --tensor-parallel-size 8 \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.92 \
  --enable-prefix-caching \
  --max-num-seqs 256
  • --enable-prefix-caching:System Prompt、RAG テンプレートの重複が多いとき TTFT を大幅に低減
  • --gpu-memory-utilization:0.9–0.95 が一般的;OOM 時は 0.85 に下げ max_num_seqs を減らす
  • --max-model-len:ビジネスの実上限で設定し、デフォルト最大にしない——8K コンテキスト追加ごとに KV が線形増加

SGLang

複雑な Agent グラフ、多輪分岐、RadixAttention プレフィックス共有に適する。同一 System Prompt の Agent swarm では、SGLang の prefix cache 命中率が vLLM を上回ることが多い。

python -m sglang.launch_server \
  --model-path deepseek-ai/DeepSeek-R1-Distill-Qwen-32B \
  --tp 2 \
  --mem-fraction-static 0.88 \
  --context-length 16384

エッジと CPU:llama.cpp / Ollama

7B–14B 蒸留モデルを Mac / コンシューマ GPU で動かす場合、llama.cpp の GGUF Q4_K_M がしばしば遅延と消費電力の最適解。ローカルでのプロンプト検証向きで、高並行 API には不向き。

四、量子化:品質と VRAM のバランス

フルスケール DeepSeek MoE は量子化なしでは単一ノード展開がほぼ不可能。推奨順序:

  1. FP8(W8A8):H100/B200 でネイティブ友好、品質損失最小——まず試す
  2. AWQ / GPTQ INT4:VRAM 半減;コードと数学タスクは回帰テスト必須
  3. GGUF Q4_K_M:エッジと Ollama;長い Agent チェーンでは過低 bit は慎重に
量子化方式 VRAM 削減 品質リスク 適用
BF16 ネイティブ 基準 なし 32B 蒸留単 GPU、ベンチマーク比較
FP8 ~40% 極低 H100 クラスタ、本番デフォルト
AWQ INT4 ~50% 中(推論チェーン、JSON) コスト重視、抜き取り検査可
Q4 GGUF ~60%+ 高(複雑なツール呼び出し) ローカル開発、デモ

量子化後は「タスクレベル」回帰を必ず行う——平均点だけ見ない

R1 クラスは INT4 でも MMLU を通過するが、多段ツール呼び出し、JSON 構造化出力が先に崩れる。実際の Agent trace を 100 件リプレイする方が公開ベンチマークより有用だ。

五、KV Cache とコンテキスト長の最適化

長コンテキストは DeepSeek の強みであり、OOM の主因でもある。最適化手段:

  • 実コンテキストの制限max_model_len をビジネス p99 に設定し、128K のモデル上限にしない
  • Prefix caching:固定 System + ドキュメントテンプレートをキャッシュ;RAG では user 部分だけ変える
  • 分段要約:16K 超の履歴は先に圧縮してからモデルへ(Agent Memory フレームワークと併用)
  • MLA 対応:エンジンが DeepSeek MLA KV 圧縮をサポートしていることを確認;旧版は latent KV を展開し VRAM が倍増

六、バッチ処理、並行、スケジューリング

同一 GPU で「短い Q&A」と「R1 長チェーン推論」を混在させると相互に足を引っ張る。本番ではSLA 別にプール分離を推奨:

  • 高速プール:V3 / 小型蒸留、max_tokens=512、高 max_num_seqs
  • 低速プール:フル R1、並行数制限、高めの TPOT を許容
  • ルーティング層:単純分類は小型モデル、複雑推論は R1 にエスカレート(大規模モデル API 価格とパフォーマンス選定を参照)
# OpenAI 互換クライアント:ストリーミングで体感遅延を低減
stream = client.chat.completions.create(
    model="deepseek-v3",
    messages=messages,
    max_tokens=1024,
    stream=True,
    extra_body={"top_p": 0.9, "temperature": 0.6}
)

七、プロンプトとコンテキストエンジニアリング

コストゼロのパフォーマンス改善はここにある:

  • System Prompt の圧縮:重複指示を統合;R1 に長い「段階的に考えて」は不要——すでに内面化済み
  • 構造化出力:JSON Schema / tool call を使い、「合法 JSON を出力」の長い説明を避ける
  • RAG チャンク:300–500 token ずつ、top-k=3–5;20 チャンク詰め込みより 5 件の精密検索が速くて良い
  • 停止語stop シーケンスを設定し、R1 の無限反省ループによる token 消費を防ぐ

八、API 呼び出しとセルフホストの比較

方式 利点 欠点 選ぶタイミング
DeepSeek 公式 API 運用ゼロ、従量課金、最新版 データ越境、レート制限、ピーク時の待ち MVP、流量変動大、GPU 備蓄なし
セルフホスト vLLM/SGLang データ制御、量子化カスタム、単価上限なし 運用、マルチ GPU コスト、専任チューニング 日 500 万 token 超、コンプライアンス要件
ハイブリッド ピークは API に溢れ、閑散期は自前 二重モニタリング、バージョン乖離 成長期プロダクト、コスト重視

API 側の最適化:接続再利用(HTTP/2 keep-alive)、指数バックオフ再試行(429/5xx)、リクエスト重複排除キャッシュ(同一 embedding 検索結果 5–15 分 TTL)。

九、ハードウェアとデプロイ構成

参考構成(2026 年 8 月、量子化とエンジンバージョンで変動):

モデル 量子化 推奨ハードウェア 備考
R1-Distill-7B Q4 / BF16 1× RTX 4090 / M4 Max 64GB ローカル Agent プロトタイプ
R1-Distill-32B AWQ INT4 2× A100 80GB コスパ推論ノード
DeepSeek-V3 FP8 / AWQ 8× H100 または 8× A100 NVLink / 高速インターコネクト必須
DeepSeek-R1 フル FP8 16× H100 級 専用推論クラスタ推奨

開発と負荷試験では推論サービスと Agent オーケストレーションを分離:安定した Linux GPU ノードまたはリモート環境で vLLM を動かし、ローカル Mac はクライアントと評価スクリプトのみ——ノート PC の GPU とコンパイルがリソースを奪い合わないようにする。コーディング Agent ツールチェーン選定は 2026 AI プログラミングツールランキングを参照。

十、モニタリング、負荷試験、回帰

本番に必須の 4 類の観測:

  1. リクエストレベル:TTFT、TPOT、総 token、エラーコード分布
  2. GPU レベル:利用率、VRAM、温度、NCCL 帯域(マルチ GPU)
  3. キューレベル:待ち時間、拒否率、continuous batch サイズ
  4. 品質レベル:抜き取り勝率、JSON パース失敗率、ツール呼び出し成功率

推奨ツール:prometheus + grafana で vLLM metrics endpoint を取得;負荷試験は locust または vllm bench serve;バージョンアップ後は固定 golden set を実行し、token 使用量と遅延分布を比較。

十一、本番リリースチェックリスト

  • ☐ エンジンバージョンが対象 DeepSeek 変体(MLA / MoE 含む)をサポートしていることを確認
  • ☐ 量子化方案がビジネスプロンプトセットで回帰済み(ベンチマークのみでない)
  • max_model_len を p99 で設定(モデル上限ではない)
  • ☐ Prefix caching 有効化済み、命中率が観測可能
  • ☐ 高速/低速プールまたはモデルルーティングで SLA 分離済み
  • ☐ ストリーミング出力有効(対話シーン)
  • ☐ レート制限、サーキットブレーカー、バックオフ再試行を設定済み
  • ☐ ウォームアップフローをデプロイスクリプトに組み込み
  • ☐ Golden set 自動回帰を CI に接続

FAQ

DeepSeek 推論を最速にするには?

短いプロンプト対話:FP8 量子化 + prefix caching + ストリーミング + max_tokens 制限。長文書:先に RAG で精密検索してからモデルへ——全文をコンテキストに詰め込まない。

V3 と R1 のパフォーマンスチューニングの違いは?

V3 はスルーと汎用遅延重視;R1 は出力が長く単リクエストが重い——別プール化、並行制限、過剰生成防止の stop 語を設定。

INT4 量子化は本番で使える?

使えるが、実タスクでの回帰が必須。コード生成、JSON、マルチツール Agent は量子化に敏感;汎用チャットは通常許容範囲。

Mac で DeepSeek を動かせる?

7B–14B 蒸留版は Ollama/llama.cpp で Apple Silicon 上で可能;フル V3/R1 はマルチ GPU NVIDIA クラスタまたは API が必要。

日何 token でセルフホストに切り替える?

目安:安定して日 300–500 万 token 超が 1 ヶ月以上続くなら、A100 級単 GPU 自前がしばしば有利;それ以外は公式 API が手軽。

まとめ

DeepSeek パフォーマンス最適化に銀の弾はない:TTFT / TPOT / GPU 利用率でボトルネックを測定し、量子化とエンジンパラメータを選ぶ。フル MoE は FP8 とマルチ GPU;高並行は batch とルーティング;長い Agent は KV とコンテキストエンジニアリング。

三つの原則:

  1. コンテキストをデフォルト最大にしない——KV Cache が重みより先に OOM しがち
  2. 量子化後は実 trace を回す、単一ベンチマーク点だけ見ない
  3. 高速・低速リクエストをプール分離、R1 が全体遅延を引きずらないように

Agent と推論サービスは分離デプロイすべき?

ローカルで Ollama でプロンプト検証、本番 vLLM は GPU ノード;Mac はオーケストレーションと評価に専念。Vuncloud Cloud Mac は推論クラスタと切り離した安定したリモート開発・負荷試験環境として適する。

Cloud Mac プランを見る · 大規模モデル API 価格とパフォーマンス選定

モデルバージョンとエンジンサポートは各プロジェクトの公式ドキュメントに準ずる。最終更新:2026 年 8 月 8 日。

フィールドノート · DeepSeek

エンジン · 量子化 · KVキャッシュ · チェックリスト

vLLM · SGLang · FP8/INT4 · Cloud Mac 開発環境

Cloud Macプランを見る
期間限定 プランを見る