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
学習スクリプト側では transformers.TrainingArguments の save_steps=100 と resume_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 } }"
}'
起動後は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"}]
)
コスト削減の実数
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%減。
注意点
- Vast.aiはホストの個人PCも混在する。機密データの学習には使わない。
-
スポットは突然中断される。
nvidia-smiで確認できるGPU使用率が急落したらあらかじめ想定しておく。 - ストレージは別課金。Runpodのネットワークボリューム($0.07/GB/月)にモデルを置いて、ポッドをまたいで再利用するとダウンロード時間とコストを節約できる。
まとめ
| 目的 | 選択肢 |
|---|---|
| ファインチューニング(中断OK) | Vast.ai スポット |
| 開発・動作確認 | Runpod Secure |
| 本番推論(SLA必須) | Lambda Labs |
AWSやGCPからの移行に必要なのはDockerイメージとAPIキーの差し替えだけ。まずRunpodで1ポッド立ててコマンドを叩いてみるのが一番早い。
関連リンク
※自社商品(プロモーションを含みます)。
Top comments (0)