DeepSeek-V3 実装してみたい人向けのAWS セルフデプロイガイド

Published: Dec. 2, 2025, 5:08 a.m. UTC / Updated: Dec. 3, 2025, 12:32 p.m. UTC
👍 0
🔖 0 Bookmarks
日本語

第1部: DeepSeek-V3 テクニカルレポート要約

1. 概要

DeepSeek-V3は、DeepSeek社が開発した大規模言語モデル(LLM)です。Mixture-of-Experts(MoE)アーキテクチャを採用し、以下の特徴を持ちます:

  • 総パラメータ数: 671B(6710億)
  • アクティブパラメータ: 37B(各トークン処理時)
  • 訓練データ: 14.8兆トークン
  • コンテキスト長: 最大128Kトークン
  • 訓練コスト: 約560万ドル(2.788M H800 GPU時間、$2/時間換算)

GPT-4oやClaude 3.5 Sonnetなどのクローズドソースモデルに匹敵する性能を達成しながら、驚異的なコスト効率を実現しています。

2. 主要アーキテクチャ

2.1 Multi-head Latent Attention (MLA)

MLAは、DeepSeek-V2で検証された革新的なアテンション機構です。従来のMulti-head Attention(MHA)と比較して、KVキャッシュのメモリ使用量を大幅に削減します。

  • Key-Valueの圧縮行列を使用してダウンプロジェクションとアップロプロジェクションを実行
  • 推論時のメモリ効率を向上
  • 長コンテキスト処理での効率性が特に高い

2.2 DeepSeekMoE

MoEアーキテクチャにより、モデル全体のパラメータ(671B)のうち、各トークンに対して一部のエキスパート(37B)のみをアクティブ化します。

  • 計算コストを抑えながら大規模モデルの表現力を維持
  • 効率的なルーティング機構によるエキスパート選択

2.3 Auxiliary-loss-free Load Balancing

従来のMoEモデルでは、エキスパート間の負荷バランスを取るために補助損失(auxiliary loss)を使用していましたが、これがモデル性能に悪影響を与えることがありました。

DeepSeek-V3は、補助損失なしで負荷バランスを実現する新しい手法を開発し、モデル性能の低下を防いでいます。

2.4 Multi-Token Prediction (MTP)

各予測ステップで複数の将来トークンを予測する訓練目標を設定しています。

  • より密な訓練シグナルが得られ、データ効率が向上
  • 他のMTP手法と異なり、追加トークンを並列ではなく順次予測することで因果連鎖を維持
  • MTPモジュールは推論時には不要だが、生成の高速化に使用可能
  • H200 TP8設定でバッチサイズ1で1.8倍、バッチサイズ32で1.5倍の高速化

3. 訓練詳細

項目 詳細
総パラメータ数 671B(6710億)
アクティブパラメータ 37B(各トークン処理時)
訓練データ 14.8兆トークン
コンテキスト長 最大128Kトークン
訓練GPU時間 2.788M H800 GPU時間
推定訓練コスト 約560万ドル($2/GPU時間換算)
訓練クラスタ 2,048 NVIDIA H800 GPU

訓練プロセスは非常に安定しており、回復不能な損失スパイクやロールバックは一切発生しませんでした

また、DeepSeek-R1シリーズモデルからの知識蒸留により、長いChain-of-Thought(CoT)推論能力を標準LLMに転移しています。

4. 性能評価

DeepSeek-V3は、他のオープンソースモデルを上回り、GPT-4oやClaude-3.5-Sonnetなどのトップクローズドソースモデルに匹敵する性能を達成しています。

  • コーディング: Qwen2.5、Llama 3.1、Claude-Sonnet-3.5、GPT-4oを複数のベンチマークで上回る
  • 数学: 優れた数学的推論能力
  • オープンソースベースモデルの中で最強の地位を確立

第2部: AWS でのセルフデプロイガイド

1. ハードウェア要件

1.1 メモリ要件

DeepSeek-V3のデプロイには、モデルの精度設定に応じて異なるVRAM容量が必要です:

精度 必要VRAM 備考
FP8 約700GB ネイティブ形式、H100/H200対応
BF16 約1.4TB FP8非対応GPU(A100等)の場合
KVキャッシュ +約140GB パラメータストレージの10-20%

1.2 推奨GPU構成

構成 VRAM合計 対応精度
8x H200(単一ノード) 1,128GB FP8推奨
8x H100(単一ノード) 640GB FP8(KVキャッシュ制限あり)
16x H100(2ノード) 1,280GB FP8/BF16対応
32x A100(4ノード) 2,560GB BF16のみ(FP8非対応)

2. AWS EC2インスタンス構成

2.1 推奨インスタンスタイプ

【最小構成】p5.48xlarge × 2ノード
スペック項目 単一ノード 2ノード合計
GPU 8x NVIDIA H100 80GB 16x NVIDIA H100
GPU VRAM 640GB HBM3 1,280GB
vCPU 192 384
システムRAM 2,048GB 4,096GB
ネットワーク 3,200 Gbps EFA InfiniBand接続
GPU間通信 900GB/s NVSwitch -
ストレージ 3,800GB NVMe 7,600GB
オンデマンド料金 $98.32/時間 | 約$196.64/時間
【推奨構成】p5e.48xlarge × 1ノード(または2ノード)

p5eインスタンスはNVIDIA H200 GPUを搭載し、単一ノードで1,128GB HBM3eメモリを提供します。

  • DeepSeek-V3のFP8推論には単一ノードで対応可能
  • 高スループットやBF16精度が必要な場合は2ノード構成を推奨

2.2 利用可能リージョン

p5.48xlargeインスタンスは以下のAWSリージョンで利用可能です:

  • US East (N. Virginia) - us-east-1
  • US East (Ohio) - us-east-2
  • US West (Oregon) - us-west-2
  • Europe (Stockholm) - eu-north-1
  • Asia Pacific (Tokyo) - ap-northeast-1
  • その他複数のリージョン

注意: GPU容量は需要が高いため、EC2 Capacity Blocks for MLを使用した事前予約を推奨します。

3. デプロイ手順

3.1 環境準備

1. EC2インスタンスの起動

AWS Deep Learning AMI(Ubuntu 22.04)を選択し、p5.48xlarge(または p5e.48xlarge)インスタンスを起動します。マルチノード構成の場合は、同一Placement Group内に配置してください。

2. ネットワーク設定

Elastic Fabric Adapter(EFA)を有効化し、セキュリティグループでノード間通信を許可します。EC2 UltraClustersを使用する場合は、自動的に最適なネットワーク構成が適用されます。

3. ストレージ設定

モデルウェイト(約700GB)の保存には、Amazon FSx for Lustreを使用することを推奨します。高速なデータアクセスが可能で、複数ノードからの共有アクセスにも対応しています。

4. モデルのダウンロード

# Hugging Faceからモデルをダウンロード
huggingface-cli download deepseek-ai/DeepSeek-V3 --local-dir /mnt/fsx/deepseek-v3

# BF16変換が必要な場合
cd inference
python fp8_cast_bf16.py --input-fp8-hf-path /path/to/fp8_weights --output-bf16-hf-path /path/to/bf16_weights

3.2 推論エンジンの選択と設定

推奨: SGLang

SGLangはDeepSeekチームが公式に推奨する推論エンジンです。MLA最適化、FP8サポート、Multi-Token Prediction(MTP)など、DeepSeek-V3向けの専用最適化が実装されています。

基本的な起動コマンド(単一ノード、8x H200):

python3 -m sglang.launch_server \
  --model deepseek-ai/DeepSeek-V3 \
  --tp 8 \
  --trust-remote-code \
  --mem-fraction-static 0.9

MTP高速化を有効にした起動:

python3 -m sglang.launch_server \
  --model-path deepseek-ai/DeepSeek-V3-0324 \
  --speculative-algorithm EAGLE \
  --speculative-num-steps 1 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 2 \
  --trust-remote-code \
  --tp 8

2ノード構成(16x H100):

# マルチノードTensor Parallelism
python3 -m sglang.launch_server \
  --model deepseek-ai/DeepSeek-V3 \
  --tp 16 \
  --trust-remote-code
代替: vLLM

vLLMもDeepSeek-V3をサポートしており、Tensor ParallelismとPipeline Parallelismの両方に対応しています。

Tensor Parallelism(8GPU):

vllm serve deepseek-ai/DeepSeek-V3 \
  --trust-remote-code \
  --tensor-parallel-size 8 \
  --enable-expert-parallel

Pipeline Parallelism(マルチノード):

vllm serve deepseek-ai/DeepSeek-V3 \
  --trust-remote-code \
  --tensor-parallel-size 8 \
  --pipeline-parallel-size 2

DeepSeek-V3.2の場合(16x H100または8x H200/B200):

vllm serve deepseek-ai/DeepSeek-V3.2-Exp \
  --tensor-parallel-size 8

4. コスト試算

構成 1時間あたり 月額(24/7稼働)
p5.48xlarge × 1 $98 | 約$71,500
p5.48xlarge × 2 $196 | 約$143,000
p5e.48xlarge × 1 $120〜 | 約$87,600〜

コスト最適化のヒント:

  • Spot Instances: 最大90%割引(ただし中断リスクあり)
  • Reserved Instances / Savings Plans: 最大45%割引
  • 2025年6月: AWSがP4/P5インスタンスの価格を最大45%引き下げを発表

5. 推奨アーキテクチャ

本番運用する際の推奨アーキテクチャ:

┌─────────────────────────────────────────────────────────────┐
│                    Application Load Balancer                 │
└─────────────────────────┬───────────────────────────────────┘
                          │
              ┌───────────┴───────────┐
              │                       │
┌─────────────▼─────────────┐ ┌──────▼──────────────────┐
│   p5.48xlarge Node 1      │ │   p5.48xlarge Node 2    │
│   8x H100 (640GB VRAM)    │ │   8x H100 (640GB VRAM)  │
│   SGLang/vLLM Server      │ │   SGLang/vLLM Server    │
└─────────────┬─────────────┘ └──────┬──────────────────┘
              │   EFA/InfiniBand     │
              └───────────┬──────────┘
                          │
              ┌───────────▼───────────┐
              │  Amazon FSx for Lustre │
              │  (モデルウェイト共有)   │
              └───────────────────────┘

構成要素:

  1. ロードバランサー層: Application Load Balancer(ALB)でAPIリクエストを受け付け
  2. 推論層: p5/p5e インスタンス × 2ノード(Placement Group内、EFA接続)
  3. ストレージ層: Amazon FSx for Lustre(モデルウェイト共有)
  4. 監視: Amazon CloudWatch + NVIDIA DCGM Exporterによるメトリクス監視
  5. コンテナオーケストレーション: Amazon EKS(オプション)でKubernetesベースの管理

6. まとめ

DeepSeek-V3をAWSで自力デプロイするには、最低でも2ノード(16x H100 GPU、合計1,280GB VRAM)の構成が推奨されます。p5eインスタンス(H200搭載)であれば、単一ノードでのFP8推論も可能です。

最小構成まとめ

項目 推奨値
インスタンス p5.48xlarge × 2ノード または p5e.48xlarge × 1〜2ノード
VRAM 1,280GB以上(FP8)、1,400GB以上(BF16)
ストレージ 1TB以上(モデルウェイト + KVキャッシュ用)
ネットワーク EFA有効、3,200Gbps帯域
推論エンジン SGLang(推奨)または vLLM
月額コスト $70,000〜$150,000(24/7稼働時)

注意事項

  • FP8はH100/H200でネイティブサポート、A100はBF16変換が必要
  • マルチノード構成では高速インターコネクト(EFA/InfiniBand)が必須
  • 大量推論の場合、クローズドソースAPI利用と比較してコスト効率が良くなる可能性あり
  • GPU容量確保のため、事前予約(Capacity Blocks)の活用を推奨

AWSで「蒸留32B + RTX 4090相当」を実現する構成

AWS構成: 蒸留32Bモデル用

推奨インスタンス: g5.2xlarge または g5.4xlarge

インスタンス GPU VRAM vCPU RAM オンデマンド料金 月額(24/7)
g5.xlarge 1x A10G 24GB 4 16GB $1.01/時間 | 約$730
g5.2xlarge 1x A10G 24GB 8 32GB $1.21/時間 | 約$870
g5.4xlarge ★推奨 1x A10G 24GB 16 64GB $1.62/時間 | 約$1,170

G5インスタンスはNVIDIA A10G Tensor Core GPUを搭載し、各GPUに24GBメモリ、320個の第3世代Tensor Coreを備えています。

なぜg5.4xlargeを推奨するか

  • VRAM 24GB: 蒸留32Bモデル(4bit量子化で約18GB必要)が余裕で動作
  • RAM 64GB: モデルロード時のオーバーヘッドに対応
  • vCPU 16: 前処理・トークナイズが高速

具体的なセットアップ手順

# 1. Deep Learning AMIでg5.4xlargeを起動
# AMI: Deep Learning OSS Nvidia Driver AMI (Ubuntu 22.04)

# 2. Ollamaをインストール
curl -fsSL https://ollama.com/install.sh | sh

# 3. 蒸留32Bモデルを実行
ollama run deepseek-r1:32b

# または vLLM で起動(API提供向け)
pip install vllm
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-32B \
  --trust-remote-code \
  --tensor-parallel-size 1 \
  --max-model-len 8192

コスト比較

利用パターン g5.4xlarge 自前RTX 4090 PC
初期費用 $0 | 約$2,000〜$3,000
1時間利用 $1.62 電気代のみ
1日8時間×20日 約$260/月 電気代のみ
24/7稼働 約$1,170/月 電気代のみ

さらに安くする方法

1. Spot Instance(最大70-90%オフ)

# Spotインスタンスで起動(中断リスクあり)
# g5.4xlarge Spot: 約$0.50〜$0.80/時間(時期・リージョンによる)

月額目安: 約$350〜$580(24/7 Spot)

2. 必要な時だけ起動

開発・実験用なら24/7稼働は不要:

利用時間 オンデマンド月額 Spot月額
1日2時間 $100 | 約$30〜50
1日8時間 $390 | 約$120〜190
週末のみ $100 | 約$30〜50

3. より軽量なモデルを選ぶ

モデル 必要VRAM 推奨インスタンス 時間単価
蒸留7B(4bit) 4GB g4dn.xlarge(T4 16GB) $0.53
蒸留14B(4bit) 8GB g4dn.xlarge $0.53
蒸留32B(4bit) 18GB g5.xlarge〜4xlarge $1.01〜$1.62

実践的な推奨構成

個人開発・実験用(コスト重視):

インスタンス: g5.xlarge (Spot)
料金: 約$0.30〜$0.50/時間
月額: 必要時のみ起動で$50〜$100程度

小規模プロダクション:

インスタンス: g5.4xlarge (オンデマンド or Reserved)
料金: $1.62/時間 → Reserved 1年で約$1.10/時間
月額: 約$800(Reserved)

まとめ

用途 AWS構成 月額目安
趣味・学習 g5.xlarge Spot、必要時のみ $30〜$100
個人開発 g5.4xlarge Spot $350〜$580
小規模API g5.4xlarge Reserved $800
フルDeepSeek-V3 p5.48xlarge×2 $143,000

結論: 蒸留32Bなら g5.4xlarge + Spot で月額$400程度、必要時のみ起動なら**月$50〜$100**で十分実験できます。フルモデルの1/100以下のコストです。


Claude 3.5 Sonnet相当の構成

結論: 最安構成

AWS最安構成: g4dn.xlarge + 蒸留14Bモデル

項目 スペック
インスタンス g4dn.xlarge
GPU NVIDIA T4 16GB
vCPU 4
RAM 16GB
オンデマンド $0.526/時間
Spot $0.16〜$0.20/時間

なぜ14Bで十分か

DeepSeek-R1-Distill-Qwen-7BはAIME 2024で55.5%のPass@1を達成し、QwQ-32B-Preview(32Bの最先端オープンソースモデル)を上回っています。32B版はAIME 2024で72.6%、MATH-500で94.3%を達成し、GPT-4oやClaude-3.5-Sonnetを大幅に上回ります。

つまり:

  • 蒸留14B: Claude 3.5 Sonnet相当〜やや上回る(特に推論・数学)
  • 蒸留7B: 軽いタスクならClaude 3.5 Sonnetに近い性能

モデル別必要VRAM

モデル FP16 4bit量子化 推奨インスタンス
蒸留7B 14GB 4GB g4dn.xlarge (T4 16GB)
蒸留14B 28GB 8GB g4dn.xlarge (T4 16GB)
蒸留32B 64GB 18GB g5.xlarge (A10G 24GB)

コスト比較

構成 時間単価 月額(24/7) 月額(8h/日×20日)
g4dn.xlarge Spot $0.16 | **$115** $26
g4dn.xlarge オンデマンド $0.53 |$380 $85
g5.xlarge Spot $0.35 |$250 $56
g5.xlarge オンデマンド $1.01 |$730 $160

具体的なセットアップ

# 1. g4dn.xlargeをSpotで起動(Deep Learning AMI使用)

# 2. Ollamaインストール
curl -fsSL https://ollama.com/install.sh | sh

# 3. 蒸留14Bモデルを4bitで実行(T4 16GBで動作)
ollama run deepseek-r1:14b

# または7B版(より軽量・高速)
ollama run deepseek-r1:7b

vLLMでAPI提供する場合

pip install vllm

# 14Bモデル(4bit量子化)
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-14B \
  --trust-remote-code \
  --quantization awq \
  --max-model-len 8192

# または7Bモデル
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-7B \
  --trust-remote-code \
  --max-model-len 16384

最終まとめ: Claude 3.5 Sonnet相当の最安構成

用途 構成 月額
最安(実験用) g4dn.xlarge Spot + 14B $26/月(8h×20日)
最安(24/7) g4dn.xlarge Spot + 14B $115/月
安定運用 g4dn.xlarge Reserved + 14B 約$250/月
余裕を持って g5.xlarge Spot + 32B 約$250/月

つまり、月$30程度でClaude 3.5 Sonnet相当の推論能力を持つLLMをセルフホストできます。

注意点

  1. Spot Instanceは中断リスクあり → チェックポイント保存を推奨
  2. 蒸留モデルはマルチモーダル非対応 → 画像処理はできない
  3. 14Bは推論特化 → 汎用タスクでは32Bの方が安定
    作成日: 2025年12月

Comments

None

📜 Version History