DEV Community

スシロー
スシロー

Posted on

【実体験】GPUクラウド比較:Runpod/Vast.ai/Lambdaで生成AIコストを1/3にする

GPUクラウド比較:Runpod/Vast.ai/Lambdaで生成AIコストを1/3にする

結論:月3万円のGPU代が1万円以下になる

AWS p3.2xlarge(V100, $3.06/h)で月100時間回していると約¥45,000。同等スペックをRunpodのスポットで借りると$0.20〜0.35/h、Vast.aiなら$0.15〜0.25/hまで落ちる。Lambda Labsの予約インスタンスはA100 80GBが$1.10/h固定と高めだが、SLA付きで本番推論に使える。用途別に使い分けるだけでコストは容易に1/3以下になる。


三サービスの実測スペック比較(2025年時点)

サービス GPU 価格帯($/h) 用途適性 SLA
Runpod Spot RTX 3090/4090, A100 0.20〜0.79 学習・バッチ推論 なし(中断あり)
Runpod Secure 同上 0.39〜1.20 開発・検証 あり
Vast.ai RTX 3090/4090, A6000 0.15〜0.60 実験・学習 なし
Lambda Labs A100 40GB/80GB, H100 1.10〜2.49 本番API推論 あり
AWS p3.2xlarge V100 16GB 3.06 あり

使い分け戦略

  • 学習・ファインチューニング:Vast.aiスポット。中断耐性のあるチェックポイント保存を入れれば実用十分。
  • 開発・検証:Runpod Secure。SSHとJupyterが即時使えてポッド削除まで課金なし。
  • 本番推論API:Lambda Labs。固定IPとSLAが取れる唯一の選択肢。

Vast.aiで学習ジョブを中断耐性付きで動かす

# 1. CLI インストール
pip install vastai

# 2. APIキー設定
vastai set api-key YOUR_API_KEY

# 3. RTX 4090 × 1 のオファーを探す(0.40$/h以下)
vastai search offers 'gpu_name=RTX_4090 num_gpus=1 dph_total<0.40 inet_down>500' \
  --order 'dph_total asc'

# 4. インスタンス起動(PyTorch公式イメージ)
vastai create instance OFFER_ID \
  --image pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime \
  --disk 50 \
  --env '-e HF_HOME=/workspace/hf_cache'

# 5. SSH接続
vastai ssh-url INSTANCE_ID  # -> ssh -p PORT root@HOST
Enter fullscreen mode Exit fullscreen mode

学習スクリプト側では transformers.TrainingArgumentssave_steps=100resume_from_checkpoint=True を必ず設定しておく。中断されても最終チェックポイントから再開できる。


RunpodでvLLMの推論サーバを5分で立てる

# Runpod CLI(公式)
pip install runpod

# テンプレートIDはWeb UIで確認 or API経由
# 以下はcurlで直接ポッド起動する例
curl -s -X POST https://api.runpod.io/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $RUNPOD_API_KEY" \
  -d '{
    "query": "mutation { podFindAndDeployOnDemand(input: { gpuTypeId: \"NVIDIA GeForce RTX 4090\", containerDiskInGb: 40, volumeInGb: 0, minMemoryInGb: 20, minVcpuCount: 4, imageName: \"vllm/vllm-openai:latest\", env: [{key: \"MODEL_ID\", value: \"meta-llama/Llama-3-8B-Instruct\"}], ports: \"8000/http\" }) { id } }"
  }'
Enter fullscreen mode Exit fullscreen mode

起動後はRunpodが発行する https://<pod-id>-8000.proxy.runpod.net にOpenAI互換エンドポイントが生える。既存コードの base_url を差し替えるだけで動く。

from openai import OpenAI

client = OpenAI(
    base_url="https://<pod-id>-8000.proxy.runpod.net/v1",
    api_key="dummy"  # vLLMはキー不要
)
resp = client.chat.completions.create(
    model="meta-llama/Llama-3-8B-Instruct",
    messages=[{"role": "user", "content": "hello"}]
)
Enter fullscreen mode Exit fullscreen mode

コスト削減の実数

Llama-3-8Bを1日8時間、月20日推論させるケース(160h/月):

環境 時間単価 月額
AWS p3.2xlarge $3.06 $490
Runpod Spot RTX4090 $0.34 $54
Vast.ai RTX4090 $0.22 $35

削減率はVast.aiで93%。「1/3」どころかほぼ1/10になる。Lambda LabsのA100でも$1.10 × 160h = $176で AWS比64%減。


注意点

  1. Vast.aiはホストの個人PCも混在する。機密データの学習には使わない。
  2. スポットは突然中断される。nvidia-smi で確認できるGPU使用率が急落したらあらかじめ想定しておく。
  3. ストレージは別課金。Runpodのネットワークボリューム($0.07/GB/月)にモデルを置いて、ポッドをまたいで再利用するとダウンロード時間とコストを節約できる。

まとめ

目的 選択肢
ファインチューニング(中断OK) Vast.ai スポット
開発・動作確認 Runpod Secure
本番推論(SLA必須) Lambda Labs

AWSやGCPからの移行に必要なのはDockerイメージとAPIキーの差し替えだけ。まずRunpodで1ポッド立ててコマンドを叩いてみるのが一番早い。


関連リンク

※自社商品(プロモーションを含みます)。

Top comments (0)