DeepSeek 推論高速化徹底チュートリアル
DeepSeekモデルの推論高速化技術を完全に習得。vLLM、SGLang、TensorRT-LLM、llama.cppの4大エンジンを徹底比較、デプロイからチューニング、シングルGPUから分散まで、完全な推論高速化ソリューション。
学習を始めるなぜ推論高速化が必要か?
DeepSeek-V3は671Bのパラメータを持ち、DeepSeek-R1は強化学習によって推論能力を強化しています。このような巨大なモデルをネイティブのPyTorchで推論すると効率が極めて低くなります。専用の推論エンジンは、KV Cache最適化、Continuous Batching、量子化圧縮、オペレータ融合などの技術により、推論スループットを10〜50倍に向上させ、レイテンシを80%以上削減できます。
推論エンジン概要
推論エンジンは、学習済みモデルの重みと本番環境の推論リクエストを結びつける中間層です。メモリ管理、バッチスケジューリング、計算最適化を担当し、推論性能とコストを決定する中核コンポーネントです。
推論性能の主要指標
| スループット | 単位時間あたりに処理されるトークン数(tokens/s)。システム全体の処理能力を示し、高いほど良い。 |
| 最初のトークンまでの時間 (TTFT) | リクエスト送信から最初のトークンを受信するまでの時間。ユーザーエクスペリエンスに影響する重要な指標。 |
| トークンあたりの出力時間 (TPOT) | 各トークンの生成にかかる平均時間。ストリーミング出力の滑らかさに影響します。 |
| VRAM使用量 | モデルのロードと推論中に使用されるGPUメモリ(GB)。デプロイ可能なモデルサイズとバッチサイズに直接影響します。 |
主要な推論エンジンのエコシステム
| エンジン | 開発元 | 主な利点 | 適用シナリオ |
|---|---|---|---|
| vLLM | UC Berkeley | PagedAttentionによるメモリ管理、非常に高いスループット | 本番環境のAPIサービス |
| SGLang | Stanford/LMSYS | RadixAttentionによるプレフィックスキャッシュ、構造化生成 | マルチターン対話、エージェントシナリオ |
| TensorRT-LLM | NVIDIA | 極限のGPU最適化、FP8/INT4量子化 | NVIDIA GPUでの最高性能 |
| llama.cpp | ggerganov | CPU/GPUハイブリッド推論、GGUF量子化 | パソコン、エッジデバイス |
推論高速化の中核技術スタック
- KVキャッシュ管理:計算済みのKey-Value行列をキャッシュし、重複計算を回避。PagedAttentionはKVキャッシュをページ単位で管理し、メモリ使用効率を2〜4倍向上させます。
- Continuous Batching:動的バッチ処理。リクエスト完了後すぐに新しいリクエストに置き換え、GPU使用率を高い状態に保ちます。
- 量子化:FP16重みをINT8/INT4/FP8に圧縮し、メモリ使用量を50%〜75%削減、精度低下は最小限。
- カーネル融合:複数のCUDAカーネルを1つに統合し、メモリ読み書きを削減、計算効率を向上。
- テンソル並列:単一レイヤーの重みを複数のGPUに分割し、単一GPUのメモリ制限を突破。
- 投機的デコーディング:小さいモデルで候補トークンを高速生成し、大きいモデルで検証、2〜3倍高速化。
選定のアドバイス
本番環境のAPIサービスにはvLLMが最適です。マルチターン対話やエージェントシナリオにはSGLangを推奨。極限のGPU性能を求めるならTensorRT-LLM。パソコンやエッジデバイスにはllama.cppを使用してください。モデルの詳細はDeepSeekモデルアーキテクチャ詳細をご覧ください。
vLLM で DeepSeek をデプロイ
vLLM は、UC Berkeley が開発した現在最も人気のあるオープンソース推論エンジンです。その中核となる革新である PagedAttention は、KV Cache をオペレーティングシステムのページングのように管理し、GPU メモリ使用効率を 2〜4 倍、スループットを 10〜30 倍向上させます。
PagedAttention の原理
従来の推論エンジンは、各リクエストに対して連続した GPU メモリを事前割り当てして KV Cache を格納するため、深刻なメモリ断片化と無駄が発生します(使用率はわずか 20%〜40%)。PagedAttention は KV Cache を固定サイズのブロックに分割し、オンデマンドで割り当て、動的にマッピングすることで、メモリ使用率を 96% 以上に達します。
- KV Cache のブロック化: 各ブロックは固定数のトークンの Key と Value ベクトルを格納
- オンデマンド割り当て: リクエスト到着時にのみブロックを割り当て、連続空間を事前割り当てしない
- メモリ共有: 並列サンプリングやビームサーチのシナリオでは、同じプロンプトの KV Cache を共有可能
- コピーオンライト: 書き込み時にのみブロックをコピーし、共有を最大化
vLLM のインストールと設定
DeepSeek-V3/R1 デプロイコマンド
DeepSeek-V3 と R1 は 671B パラメータの MoE モデルであり、複数 GPU でのデプロイが必要です。以下は vLLM を使用した完全なデプロイコマンドです:
vLLM パフォーマンスチューニングパラメータ
| パラメータ | 説明 | 推奨値 |
|---|---|---|
| --max-num-seqs | 最大同時リクエスト数 | 128-256 |
| --max-num-batched-tokens | 1 回のバッチ処理あたりの最大トークン数 | 8192-16384 |
| --gpu-memory-utilization | GPU メモリ使用率の上限 | 0.90-0.95 |
| --enable-prefix-caching | プレフィックスキャッシュを有効化(共有プロンプトは KV Cache を自動再利用) | 有効 |
| --enable-chunked-prefill | チャンク化プリフィル、長いプロンプトが他のリクエストをブロックしない | 有効 |
Python API 呼び出し例
ヒント
vLLM の OpenAI 互換 API は、コードロジックを変更することなく、OpenAI SDK を使用する任意のアプリケーションを直接置き換えることができます。本番環境では、Nginx を使用したロードバランシングとレート制限を推奨します。
SGLang で DeepSeek をデプロイ
SGLang は、スタンフォード大学と LMSYS 組織が共同開発した、LLM サービスのための次世代推論エンジンです。その中核となるイノベーションである RadixAttention と構造化生成言語は、複雑なプロンプトシナリオにおいて vLLM を大幅に上回る性能を発揮します。
RadixAttention の原理
RadixAttention は、プレフィックスツリー(基数木)に基づく KV キャッシュの自動再利用技術です。従来の KV キャッシュはリクエスト単位でのみ再利用可能でしたが、RadixAttention は異なるリクエスト間の共通プレフィックスを自動的に識別してキャッシュを再利用するため、Few-shot 学習、マルチターン対話、エージェントなどのシナリオで大幅な性能向上を実現します。
- プレフィックスツリーストレージ: すべてのリクエストの KV キャッシュはプレフィックスごとにツリー構造で編成されます
- 自動マッチング: 新しいリクエストが到着すると、最長の共通プレフィックスを自動的にマッチングし、KV キャッシュを再利用します
- LRU 退避: LRU 戦略を使用してキャッシュを管理し、メモリ制限下でキャッシュヒット率を最大化します
- 設定不要: RadixAttention は完全に自動で動作し、手動でのプレフィックス設定は不要です
SGLang のインストールと設定
DeepSeek デプロイコマンド
SGLang フロントエンドプログラミング言語
SGLang は DSL(ドメイン固有言語)を提供し、Python で複雑な LLM 対話ロジックを宣言的に記述でき、プレフィックスキャッシュや並列呼び出しなどの最適化を自動的に実装します:
プレフィックスキャッシュ最適化の効果
| シナリオ | キャッシュなし TTFT | キャッシュあり TTFT | 高速化 |
|---|---|---|---|
| マルチターン対話(5 ターン) | 450ms | 120ms | 3.75x |
| Few-shot プロンプト(10-shot) | 820ms | 150ms | 5.46x |
| エージェントツール呼び出し | 380ms | 90ms | 4.22x |
TensorRT-LLM による DeepSeek のデプロイ
TensorRT-LLM は NVIDIA 公式の推論エンジンで、CUDA および TensorRT エコシステムと深く統合されています。グラフ最適化、カーネルの自動チューニング、量子化技術により、NVIDIA GPU 上で最高の推論パフォーマンスを実現します。
TensorRT-LLM の主要機能
- グラフ最適化: レイヤー融合、定数畳み込み、デッドコード除去などの計算グラフ最適化を自動実行
- カーネルの自動チューニング: 特定の GPU アーキテクチャ(H100/A100/L40S)に最適な CUDA カーネルを自動選択
- FP8 ネイティブサポート: H100 の FP8 Tensor Core アクセラレーションにより、スループットが 2 倍に
- INT4/INT8 量子化: Weight-Only および SmoothQuant 量子化スキームをサポート
- インフライトバッチ処理: NVIDIA による Continuous Batching の実装で、レイテンシが低減
TensorRT-LLM のインストール
モデルのコンパイルと変換
TensorRT-LLM では、まず Hugging Face モデルを TensorRT Engine 形式に変換する必要があります:
DeepSeek FP8 量子化推論
H100 GPU はネイティブ FP8 計算をサポートしており、TensorRT-LLM と組み合わせることで、ほぼロスレスな量子化推論を実現できます:
INT4 Weight-Only 量子化
メモリが制約されたシナリオでは、INT4 量子化によりモデルサイズを 75% 削減できます:
TensorRT-LLM の適用シナリオ
TensorRT-LLM は、純粋な NVIDIA GPU 環境で最高の推論パフォーマンスを追求する本番シナリオに最適です。欠点は、デプロイプロセスが複雑でモデルコンパイルのステップが必要なこと、vLLM や SGLang よりも柔軟性が低いことです。推論プラットフォームとして Triton Inference Server を使用する場合、TensorRT-LLM が推奨バックエンドです。
llama.cpp ローカル推論
llama.cpp は、純粋な C/C++ で実装された推論エンジンで、CPU とエッジデバイス向けに最適化されています。GGUF 量子化フォーマットにより、ハイエンド GPU を必要とせず、通常のノートパソコンで DeepSeek 蒸留モデルを実行できます。
GGUF 量子化フォーマット
GGUF(GGML Unified Format)は、llama.cpp で使用されるモデルファイル形式で、複数の量子化レベルをサポートしています:
| 量子化タイプ | ビット幅 | ファイルサイズ比 | 品質 | 推奨シナリオ |
|---|---|---|---|---|
| Q4_K_M | ~4.5 bit | ~25% | 優秀 | コストパフォーマンス最良、最初の選択として推奨 |
| Q5_K_M | ~5.5 bit | ~30% | 非常に良い | より高品質を求める場合 |
| Q8_0 | 8 bit | ~50% | ほぼ無損失 | VRAM が十分にある場合 |
| IQ3_M | ~3.5 bit | ~20% | 良好 | VRAM が極端に限られている場合 |
llama.cpp のインストール
DeepSeek モデル GGUF のダウンロードとデプロイ
Python バインディング呼び出し
Apple Silicon (Metal) 最適化
llama.cpp は Apple Silicon チップ(M1/M2/M3/M4)向けに特別な Metal 最適化を備えており、ユニファイドメモリアーキテクチャを活用して GPU アクセラレーションを実現します:
パソコンへのデプロイガイド
| ハードウェア構成 | 推奨モデル | 量子化 | 期待速度 |
|---|---|---|---|
| 16GB RAM + RTX 4060 | DeepSeek-R1-Distill-Qwen-7B | Q4_K_M | 30-50 tok/s |
| 32GB RAM + RTX 4090 | DeepSeek-R1-Distill-Qwen-32B | Q4_K_M | 20-35 tok/s |
| M3 Max 36GB | DeepSeek-R1-Distill-Qwen-32B | Q4_K_M | 15-25 tok/s |
| M2 Ultra 64GB | DeepSeek-R1-Distill-Llama-70B | Q4_K_M | 8-15 tok/s |
推論エンジンの性能比較
4つの推論エンジンは、さまざまなシナリオで性能に大きな差があります。以下のベンチマークデータは、DeepSeek-R1-Distill-Llama-70Bモデルを2x A100 80GBでバッチサイズ64でテストしたものです。
スループット比較(tokens/s)
| エンジン | 入力128トークン | 入力512トークン | 入力2048トークン | 出力256トークン |
|---|---|---|---|---|
| vLLM (FP16) | 3,420 | 2,890 | 2,150 | 2,680 |
| SGLang (FP16) | 3,510 | 3,120 | 2,380 | 2,920 |
| TensorRT-LLM (FP8) | 5,820 | 4,950 | 3,680 | 4,580 |
| llama.cpp (Q4) | 580 | 420 | 280 | 380 |
レイテンシ比較(TTFT、ms)
| エンジン | アイドルTTFT | 16並列TTFT | 64並列TTFT | TPOT |
|---|---|---|---|---|
| vLLM (FP16) | 85ms | 210ms | 580ms | 32ms |
| SGLang (FP16) | 72ms | 185ms | 510ms | 28ms |
| TensorRT-LLM (FP8) | 80ms | 195ms | 530ms | 30ms |
| llama.cpp (Q4) | 1,250ms | 2,800ms | 8,500ms | 180ms |
GPUメモリ使用量比較(GB)
| エンジン | モデル重み | KVキャッシュ | その他オーバーヘッド | 合計 |
|---|---|---|---|---|
| vLLM (FP16) | 140GB | 12GB | 4GB | 156GB |
| SGLang (FP16) | 140GB | 10GB | 4GB | 154GB |
| TensorRT-LLM (FP8) | 70GB | 6GB | 3GB | 79GB |
| llama.cpp (Q4) | 38GB | 4GB | 2GB | 44GB |
ベンチマーク結論
- TensorRT-LLM FP8はNVIDIA GPU上でスループットが最も高く、メモリ使用量が最も少ない。
- SGLangは長いコンテキストやマルチターン会話シナリオで最も低いレイテンシを実現(RadixAttentionの利点)。
- vLLMはエコシステムが最も成熟し、コミュニティが最も活発で、デプロイが最も簡単です。
- llama.cppはGPU環境では前述の3つよりも性能が大幅に劣りますが、CPUやエッジデバイスでは最良の体験を提供します。
量子化推論の詳細
量子化は推論高速化において最も重要な技術の一つです。モデルの重みの数値精度を下げることで、メモリ使用量を50%〜75%削減でき、精度損失は通常1%以内に抑えられます。
量子化手法の比較
| 量子化手法 | ビット幅 | 圧縮率 | 精度損失 | 対応エンジン |
|---|---|---|---|---|
| AWQ | INT4 | 4倍 | < 0.5% | vLLM, TensorRT-LLM, SGLang |
| GPTQ | INT4 | 4倍 | < 1% | vLLM, TensorRT-LLM |
| GGUF | 2-8ビット | 2-8倍 | < 1% (Q4+) | llama.cpp |
| FP8 | 8ビット | 2倍 | ほぼ無損失 | TensorRT-LLM (H100) |
| SmoothQuant | INT8 | 2倍 | < 0.5% | TensorRT-LLM |
AWQ量子化の原理と使用方法
AWQ(Activation-aware Weight Quantization)は、アクティベーションの分布を分析し、重要な重みチャネルを特定して保護することで、キャリブレーションなしで高精度なINT4量子化を実現します:
メモリ節約の計算
| モデル | FP16メモリ | FP8メモリ | INT4メモリ | 削減率 |
|---|---|---|---|---|
| DeepSeek-V3 (671B) | 1,342 GB | 671 GB | 336 GB | 75% |
| R1-Distill-Llama-70B | 140 GB | 70 GB | 35 GB | 75% |
| R1-Distill-Qwen-32B | 64 GB | 32 GB | 16 GB | 75% |
| R1-Distill-Qwen-7B | 14 GB | 7 GB | 3.5 GB | 75% |
量子化の精度損失分析
- FP8: 精度損失はほぼゼロ(< 0.1%)です。FP8は浮動小数点表現を使用し、ダイナミックレンジが大きいためです。ただし、H100/H200などFP8対応ハードウェアが必要です。
- INT8 (SmoothQuant): 精度損失は< 0.5%で、アクティベーションの外れ値を平滑化することで実現します。汎用性が高く、A100/H100の両方で使用できます。
- INT4 (AWQ):精度損失 < 0.5%、アクティベーション値の分布を分析して重要なチャネルを保護します。現在最も推奨されるINT4ソリューション
- INT4 (GPTQ):精度損失 < 1%、キャリブレーションデータが必要ですが、量子化プロセスはより安定しています
- Q4_K_M (GGUF):精度損失 < 1%、llama.cppエコシステムで広く使用され、コストパフォーマンスが最も高い
量子化選定の推奨事項
H100をお持ちの場合はFP8を優先(スループットが最も高い);A100環境ではAWQ INT4を推奨(VRAM節約効果が顕著で精度も高い);個人PCではGGUF Q4_K_M(ファイルサイズが小さく、互換性が良い)。VRAMを75%削減することで、同じモデルをはるかに少ないGPUでデプロイできるか、同じハードウェアでより多くの同時ユーザーにサービスを提供できます。
バッチ処理と並行性の最適化
バッチ処理は推論エンジンのスループットを決定する中核要素です。静的バッチ処理からContinuous Batching、そしてChunked Prefillへと、バッチ処理技術の進化は毎回顕著な性能向上をもたらしました。
3つのバッチ処理方式の比較
| バッチ処理方式 | 原理 | GPU使用率 | 適用エンジン |
|---|---|---|---|
| Static Batching | 固定数のリクエストを待ってからまとめて処理し、最も遅いリクエストが完了するまで解放しない | 低(30-50%) | HuggingFace TGI(旧版) |
| Dynamic Batching | リクエストが到着次第バッチに追加されるが、すべてのリクエストが完了するまで解放しない | 中(50-70%) | ONNX Runtime |
| Continuous Batching | 各トークン生成後に即座にチェックし、完了したリクエストは即座にバッチから削除され、新しいリクエストは即座に追加される | 高(80-95%) | vLLM, SGLang, TensorRT-LLM |
Continuous Batchingのワークフロー
- イテレーションレベルのスケジューリング:シーケンス全体の完了を待つのではなく、各トークン生成後にバッチキューを再評価する
- 即時置換:リクエストが完了したら即座にバッチから削除し、GPUリソースを待機中の新しいリクエストに即座に割り当てる
- プリエンプティブスケジューリング:優先度キューをサポートし、高優先度のリクエストが低優先度のリクエストの計算リソースを横取りできる
- 公平なスケジューリング:長いシーケンスのリクエストが短いシーケンスのリクエストを枯渇させないように、ラウンドロビンや重み付けスケジューリングで公平性を保証する
Chunked Prefillの最適化
ユーザーが長いプロンプト(例:100Kトークンの文書分析)を送信すると、Prefillフェーズが大量の計算リソースを消費し、他のリクエストを待たせます。Chunked Prefillは長いプロンプトのPrefillを複数の小さなチャンクに分割し、Decodeリクエストと交互に実行します:
同時ユーザー数最適化戦略
| 戦略 | 説明 | 効果 |
|---|---|---|
| max-num-seqs | 最大同時シーケンス数を設定。VRAM容量に応じて調整 | 128-256が最適 |
| キューイングポリシー | FIFO(先入れ先出し)vs Priority(優先度)vs Shortest-Job-First | SJFが平均遅延最小 |
| リクエストレート制限 | APIゲートウェイで同時リクエスト数を制限し、過負荷を防止 | 安定性向上 |
| タイムアウトとリトライ | 適切なタイムアウト(30-60秒)を設定し、指数バックオフリトライを併用 | ユーザー体験の改善 |
リクエストスケジューリングエンジンの設定
分散推論
DeepSeek-V3は671Bのパラメータを持ち、INT4量子化でも336GBのVRAMが必要で、単一GPUの容量をはるかに超えます。分散推論は、複数のGPUとノードを協調させることで、超大規模モデルの推論を可能にします。
テンソル並列
テンソル並列は、単一のTransformer層の重み行列を列方向または行方向に複数のGPUに分割します。各GPUは一部を計算し、AllReduce通信で結果を集約します:
- 列分割:重み行列Wを列方向に[W1, W2, ..., Wn]に分割。各GPUはW_iを保持し、それぞれ計算後、AllReduceで集約
- 行分割:重み行列を行方向に分割。各GPUは部分出力を計算し、AllGatherで結合
- 通信オーバーヘッド:各Transformer層で2回のAllReduceが必要で、NVLink帯域幅への要求が高い。NVLinkで相互接続されたGPUグループを推奨
- 最適なGPU数:通常2〜8枚。8枚を超えると通信オーバーヘッドが計算利得を上回り始める
パイプライン並列
パイプライン並列は、モデルを層単位で複数のGPUに分割し、パイプラインを形成します。GPU0は最初のN層、GPU1は中間のN層、GPU2は最後のN層を処理します:
- 層単位分割:通信はパイプラインステージの境界でのみ発生し、通信量はテンソル並列よりはるかに少ない
- マイクロバッチ:大きなバッチを複数のマイクロバッチに分割。パイプラインの各ステージは異なるマイクロバッチを同時に処理
- パイプラインバブル:パイプラインの起動と排出時にGPUアイドル時間が発生。マイクロバッチ数を増やすことでバブル比率を削減
- 適用シナリオ:ノード間推論(ノード間帯域幅が限られている)、テンソル並列と組み合わせ可能
DeepSeek-V3 671B分散デプロイメントオプション
| オプション | GPU構成 | 並列戦略 | 期待スループット |
|---|---|---|---|
| 8x H100 80GB (FP8) | シングルノード8GPU | TP=8 | 3,500 tok/s |
| 16x A100 80GB (FP8) | 2ノード x 8GPU | TP=8, PP=2 | 4,800 tok/s |
| 16x A100 80GB (INT4) | 2ノード x 8GPU | TP=4, PP=4 | 5,200 tok/s |
| 32x H100 80GB (FP8) | 4ノード x 8GPU | TP=8, PP=4 | 8,500 tok/s |
vLLM マルチノードデプロイコマンド
MoE モデルの特別な考慮事項
DeepSeek-V3 は MoE(混合エキスパート)アーキテクチャを採用しており、各トークンは一部のエキスパート(約 37B パラメータ)のみをアクティブ化します。これにより、推論最適化の独自の機会が提供されます:
- エキスパート並列処理:異なるエキスパートを異なる GPU に分散し、各トークンは一部の GPU のみにアクセスするため、通信量が削減されます。
- エキスパート負荷分散:補助損失(Auxiliary Loss)や動的ルーティングにより、各エキスパートの負荷を均等化し、アイドル状態の GPU を回避します。
- エキスパートキャッシュ:人気のあるエキスパートの重みをすべての GPU の VRAM にキャッシュし、GPU 間アクセスを削減します。
- スパースアクティベーション:各推論で 8 個のエキスパート(全 256 個中)のみをアクティブ化するため、同等パラメータの Dense モデルよりも計算量が大幅に少なくなります。
コスト最適化の実践
GPU 推論コストは AI アプリケーションの最大の費用の一つです。適切な GPU 選定、インスタンス戦略、アーキテクチャ設計により、推論コストを 50%〜80% 削減できます。
クラウド GPU 選定比較
| GPU | VRAM | FP8 サポート | オンデマンド価格/時間 | 適したモデル |
|---|---|---|---|---|
| H100 80GB | 80 GB | 対応 | $2.50-$3.50 | V3 671B (8x), 70B (2x) |
| A100 80GB | 80 GB | 非対応 | $1.80-$2.50 | V3 671B (16x INT4), 70B (2x) |
| A100 40GB | 40 GB | 非対応 | $1.20-$1.80 | 32B モデル (単一 GPU), 70B (2x) |
| L40S 48GB | 48 GB | 対応 | $0.80-$1.20 | 32B モデル (単一 GPU FP8) |
| RTX 4090 24GB | 24 GB | 非対応 | 自前: ~$0.30 | 7B/14B モデル |
オンデマンド vs リザーブドインスタンス比較
| インスタンスタイプ | 割引 | 契約期間 | 柔軟性 | 推奨シナリオ |
|---|---|---|---|---|
| オンデマンド | 定価 | なし | 極めて高い | 開発テスト、不確実な負荷 |
| 確保済み(Reserved) | 40-60% | 1〜3年 | 低い | 安定した本番環境 |
| スポット(Spot/Preemptible) | 60-90% | なし | いつでも回収される | オフラインバッチ処理、フォールトトレラントなタスク |
| ハイブリッド戦略 | 50-70% | 柔軟 | 中程度 | 確保済みベース + スポットの弾力性 |
推論コスト計算
自前 vs クラウドサービス比較
| 比較項目 | 自前推論サービス | DeepSeek 公式API | クラウド推論サービス |
|---|---|---|---|
| 初期コスト | 高い(GPU購入/レンタル) | ゼロ | 中程度 |
| 運用コスト | 高い(専任のメンテナンスが必要) | ゼロ | 中程度 |
| データプライバシー | 完全に制御可能 | データは第三者を経由 | 設定による |
| 高負荷コスト | 限界コストが低い | 線形に増加 | 中程度 |
| 弾力性スケーリング | 限定的 | 無制限 | 良好 |
コスト最適化のベストプラクティス
- 負荷の階層化:簡単な質問には7B/14B蒸留モデルを使用し、複雑な質問は70B/671B大モデルにルーティングして、コストを60%削減
- キャッシュ戦略:人気のある質問に回答をキャッシュ(セマンティックキャッシュ)、ヒット率は30〜50%に達し、推論コストを直接削減
- 量子化によるコスト削減:FP8量子化でメモリを50%削減、INT4で75%削減、同じハードウェアでより多くのユーザーにサービス提供
- スポットインスタンス:オフラインバッチ処理と非同期タスクにはすべてスポットインスタンスを使用し、コストを60〜90%削減
- 自動スケーリング:QPSに基づいてGPUインスタンス数を自動調整、オフピーク時には0にスケールダウンし、コストを40〜60%削減
- チェックポイント:スポットインスタンスが回収されたときにKVキャッシュ状態を保存し、復元後に推論を再開して無駄を回避
コスト最適化の推奨事項
1日あたりのトークン数が100万未満の場合、DeepSeek公式APIを直接使用するのが最も経済的です。1日あたり100万〜1000万トークンの場合、32B/70B蒸留モデルの推論サービスを自前で構築するのがコストパフォーマンスに優れています。1日あたり1000万トークンを超える場合は、量子化とスポットインスタンスを組み合わせた671Bフルモデルのデプロイを検討してください。詳細なデプロイオプションはDeepSeekデプロイチュートリアルをご覧ください。
DeepSeek 推論高速化に関するよくある質問
DeepSeek 関連チュートリアル
DeepSeek モデルの使用方法、デプロイ、エコシステムツールを詳しく学びます。
DeepSeek モデルの使い方
4つの使用方法、ゼロから始める入門チュートリアル。
DeepSeek デプロイチュートリアル
Ollama、Docker、vLLM、K8s でのデプロイ方法。
DeepSeek RAG ナレッジベース
ドキュメント読み込み、ベクトル埋め込み、ChromaDB 検索、ソース引用付きQ&A。
DeepSeek モデルアーキテクチャ
技術アーキテクチャ、ベンチマーク、モデル比較。
DeepSeek オープンソースモデル
6シリーズ、20以上のモデルの完全カタログ。
DeepSeek モデルのダウンロード
Ollama、Hugging Face、GitHub でのダウンロードガイド。