lambda-labs-gpu-cloud について
lambda-labs-gpu-cloudは、Lambda Labs GPU Cloudで機械学習ワークロードを実行するためのガイドです。GPUインスタンスやマルチノードクラスターを使う担当者向けに、設定、ストレージ、学習、コスト管理を扱います。
主な機能
- 01コンソールまたはAPIからGPUインスタンスを起動
- 02SSHでインスタンスに接続
- 03永続ファイルシステムで再起動後もデータを保持
- 04マルチGPUおよびSlurmクラスターで学習
- 05プリインストール済みMLソフトウェアの利用
- 06使用状況の監視とコスト管理
活用シーン
- 01GPUインスタンスでのモデル微調整
- 02GPUでのバッチ推論の実行
- 03複数GPUまたはノードを使った学習
- 04セッション間でのデータセットやチェックポイントの保持
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ kalarislabs/ research-agent-skills --skill lambda-labs-gpu-cloudインストール後、Claude Code で/lambda-labs-gpu-cloudを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced-usage.mdpython-api.mdtroubleshooting.md詳細
Lambda Labs GPU Cloud
オンデマンドインスタンスと1-Click Clustersを利用して、Lambda Labs GPUクラウドでMLワークロードを実行するための包括的なガイドです。
Lambda Labsを使う場面
次の場合はLambda Labsを使用してください:
- SSHで完全にアクセスできる専用GPUインスタンスが必要な場合
- 数時間から数日かかる長時間のトレーニングジョブを実行する場合
- エグレス料金のない、シンプルな料金体系を求める場合
- セッション間で永続するストレージが必要な場合
- 高性能なマルチノードクラスター(16~512 GPU)が必要な場合
- MLスタック(PyTorch、CUDA、NCCLを含むLambda Stack)がプリインストールされている環境を求める場合
主な機能:
- GPUの種類:B200、H100、GH200、A100、A10、A6000、V100
- Lambda Stack:PyTorch、TensorFlow、CUDA、cuDNN、NCCLがプリインストール済み
- 永続ファイルシステム:インスタンスの再起動後もデータを保持
- 1-Click Clusters:InfiniBandを備えた16~512 GPUのSlurmクラスター
- シンプルな料金体系:分単位の課金、エグレス料金なし
- グローバルなリージョン:世界各地に12以上のリージョン
代わりに次のサービスを使用してください:
- Modal:サーバーレスで自動スケーリングするワークロード向け
- SkyPilot:マルチクラウドのオーケストレーションとコスト最適化向け
- RunPod:より安価なスポットインスタンスとサーバーレスエンドポイント向け
- Vast.ai:最安値のGPUマーケットプレイス向け
クイックスタート
アカウントの設定
- https://lambda.ai でアカウントを作成します
- 支払い方法を追加します
- ダッシュボードからAPIキーを生成します
- SSHキーを追加します(インスタンスの起動前に必須です)
コンソールから起動する
- https://cloud.lambda.ai/instances にアクセスします
- 「Launch instance」をクリックします
- GPUの種類とリージョンを選択します
- SSHキーを選択します
- 必要に応じてファイルシステムをアタッチします
- 起動し、3~15分待ちます
SSHで接続する
# Get instance IP from console
ssh ubuntu@<INSTANCE-IP>
# Or with specific key
ssh -i ~/.ssh/lambda_key ubuntu@<INSTANCE-IP>
GPUインスタンス
利用可能なGPU
| GPU | VRAM | 1 GPUあたりの料金/時 | 最適な用途 |
|---|---|---|---|
| B200 SXM6 | 180 GB | $4.99 | 最大規模のモデル、最速のトレーニング |
| H100 SXM | 80 GB | $2.99-3.29 | 大規模モデルのトレーニング |
| H100 PCIe | 80 GB | $2.49 | コスト効率に優れたH100 |
| GH200 | 96 GB | $1.49 | 単一GPUでの大規模モデル |
| A100 80GB | 80 GB | $1.79 | 本番環境でのトレーニング |
| A100 40GB | 40 GB | $1.29 | 標準的なトレーニング |
| A10 | 24 GB | $0.75 | 推論、ファインチューニング |
| A6000 | 48 GB | $0.80 | VRAMと価格のバランスが良好 |
| V100 | 16 GB | $0.55 | 低予算でのトレーニング |
インスタンス構成
8x GPU: Best for distributed training (DDP, FSDP)
4x GPU: Large models, multi-GPU training
2x GPU: Medium workloads
1x GPU: Fine-tuning, inference, development
起動時間
- シングルGPU:3~5分
- マルチGPU:10~15分
Lambda Stack
すべてのインスタンスにはLambda Stackがプリインストールされています:
# Included software
- Ubuntu 22.04 LTS
- NVIDIA drivers (latest)
- CUDA 12.x
- cuDNN 8.x
- NCCL (for multi-GPU)
- PyTorch (latest)
- TensorFlow (latest)
- JAX
- JupyterLab
インストールを確認する
# Check GPU
nvidia-smi
# Check PyTorch
python -c "import torch; print(torch.cuda.is_available())"
# Check CUDA version
nvcc --version
Python API
詳細、コード例、パラメータ表については、references/python-api.mdを参照してください。この手順に該当する場合に読んでください。
curlを使ったCLI
インスタンスタイプを一覧表示する
curl -u $LAMBDA_API_KEY: \
https://cloud.lambdalabs.com/api/v1/instance-types | jq
インスタンスを起動する
curl -u $LAMBDA_API_KEY: \
-X POST https://cloud.lambdalabs.com/api/v1/instance-operations/launch \
-H "Content-Type: application/json" \
-d '{
"region_name": "us-west-1",
"instance_type_name": "gpu_1x_h100_sxm5",
"ssh_key_names": ["my-key"]
}' | jq
インスタンスを終了する
curl -u $LAMBDA_API_KEY: \
-X POST https://cloud.lambdalabs.com/api/v1/instance-operations/terminate \
-H "Content-Type: application/json" \
-d '{"instance_ids": ["<INSTANCE-ID>"]}' | jq
永続ストレージ
ファイルシステム
ファイルシステムは、インスタンスを再起動してもデータを保持します:
# Mount location
/lambda/nfs/<FILESYSTEM_NAME>
# Example: save checkpoints
python train.py --checkpoint-dir /lambda/nfs/my-storage/checkpoints
ファイルシステムを作成する
- Lambdaコンソールの「Storage」に移動します
- 「Create filesystem」をクリックします
- リージョンを選択します(インスタンスのリージョンと一致させる必要があります)
- 名前を付けて作成します
インスタンスにアタッチする
ファイルシステムはインスタンスの起動時にアタッチする必要があります:
- コンソール経由:起動時にファイルシステムを選択します
- API経由:起動リクエストに
file_system_namesを含めます
ベストプラクティス
# Store on filesystem (persists)
/lambda/nfs/storage/
├── datasets/
├── checkpoints/
├── models/
└── outputs/
# Local SSD (faster, ephemeral)
/home/ubuntu/
└── working/ # Temporary files
SSHの設定
SSHキーを追加する
# Generate key locally
ssh-keygen -t ed25519 -f ~/.ssh/lambda_key
# Add public key to Lambda console
# Or via API
複数のキー
# On instance, add more keys
echo 'ssh-rsa AAAA...' >> ~/.ssh/authorized_keys
GitHubからインポートする
# On instance
ssh-import-id gh:username
SSHトンネリング
# Forward Jupyter
ssh -L 8888:localhost:8888 ubuntu@<IP>
# Forward TensorBoard
ssh -L 6006:localhost:6006 ubuntu@<IP>
# Multiple ports
ssh -L 8888:localhost:8888 -L 6006:localhost:6006 ubuntu@<IP>
JupyterLab
コンソールから起動する
- Instancesページに移動します
- Cloud IDE列の「Launch」をクリックします
- ブラウザーでJupyterLabが開きます
手動でアクセスする
# On instance
jupyter lab --ip=0.0.0.0 --port=8888
# From local machine with tunnel
ssh -L 8888:localhost:8888 ubuntu@<IP>
# Open http://localhost:8888
トレーニングのワークフロー
シングルGPUでのトレーニング
# SSH to instance
ssh ubuntu@<IP>
# Clone repo
git clone https://github.com/user/project
cd project
# Install dependencies
pip install -r requirements.txt
# Train
python train.py --epochs 100 --checkpoint-dir /lambda/nfs/storage/checkpoints
マルチGPUでのトレーニング(単一ノード)
# train_ddp.py
import torch
import torch.distributed as dist
from torch.nn.parallel import DistributedDataParallel as DDP
def main():
dist.init_process_group("nccl")
rank = dist.get_rank()
device = rank % torch.cuda.device_count()
model = MyModel().to(device)
model = DDP(model, device_ids=[device])
# Training loop...
if __name__ == "__main__":
main()
# Launch with torchrun (8 GPUs)
torchrun --nproc_per_node=8 train_ddp.py
チェックポイントをファイルシステムに保存する
import os
checkpoint_dir = "/lambda/nfs/my-storage/checkpoints"
os.makedirs(checkpoint_dir, exist_ok=True)
# Save checkpoint
torch.save({
'epoch': epoch,
'model_state_dict': model.state_dict(),
'optimizer_state_dict': optimizer.state_dict(),
'loss': loss,
}, f"{checkpoint_dir}/checkpoint_{epoch}.pt")
1-Click Clusters
概要
以下を備えた高性能Slurmクラスターです:
- 16~512基のNVIDIA H100またはB200 GPU
- NVIDIA Quantum-2 400 Gb/s InfiniBand
- 3200 Gb/sのGPUDirect RDMA
- 分散MLスタックがプリインストール済み
含まれるソフトウェア
- Ubuntu 22.04 LTS + Lambda Stack
- NCCL、Open MPI
- DDPおよびFSDP対応のPyTorch
- TensorFlow
- OFEDドライバー
ストレージ
- コンピュートノードあたり24 TBのNVMe(エフェメラル)
- 永続データにはLambdaファイルシステムを使用
マルチノードトレーニング
# On Slurm cluster
srun --nodes=4 --ntasks-per-node=8 --gpus-per-node=8 \
torchrun --nnodes=4 --nproc_per_node=8 \
--rdzv_backend=c10d --rdzv_endpoint=$MASTER_ADDR:29500 \
train.py
ネットワーキング
帯域幅
- インスタンス間(同一リージョン):最大200 Gbps
- インターネットへのアウトバウンド:最大20 Gbps
ファイアウォール
- デフォルト:ポート22(SSH)のみ開放
- 追加ポートはLambdaコンソールで設定
- ICMPトラフィックはデフォルトで許可
プライベートIP
# Find private IP
ip addr show | grep 'inet '
一般的なワークフロー
ワークフロー1:LLMのファインチューニング
# 1. Launch 8x H100 instance with filesystem
# 2. SSH and setup
ssh ubuntu@<IP>
pip install transformers accelerate peft
# 3. Download model to filesystem
python -c "
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-2-7b-hf')
model.save_pretrained('/lambda/nfs/storage/models/llama-2-7b')
"
# 4. Fine-tune with checkpoints on filesystem
accelerate launch --num_processes 8 train.py \
--model_path /lambda/nfs/storage/models/llama-2-7b \
--output_dir /lambda/nfs/storage/outputs \
--checkpoint_dir /lambda/nfs/storage/checkpoints
ワークフロー2:バッチ推論
# 1. Launch A10 instance (cost-effective for inference)
# 2. Run inference
python inference.py \
--model /lambda/nfs/storage/models/fine-tuned \
--input /lambda/nfs/storage/data/inputs.jsonl \
--output /lambda/nfs/storage/data/outputs.jsonl
コストの最適化
適切なGPUを選択する
| タスク | 推奨GPU |
|---|---|
| LLMのファインチューニング(7B) | A100 40GB |
| LLMのファインチューニング(70B) | 8x H100 |
| 推論 | A10、A6000 |
| 開発 | V100、A10 |
| 最大限のパフォーマンス | B200 |
コストを削減する
- ファイルシステムを使用する:データの再ダウンロードを避けます
- 頻繁にチェックポイントを保存する:中断したトレーニングを再開できます
- 適切なサイズにする:GPUを過剰にプロビジョニングしないでください
- アイドル状態のインスタンスを終了する:自動停止機能はないため、手動で終了してください
使用状況を監視する
- ダッシュボードでGPU使用率をリアルタイムに確認できます
- プログラムによる監視用のAPI
よくある問題
| 問題 | 解決策 |
|---|---|
| インスタンスを起動できない | リージョンで利用可能か確認し、別のGPUを試してください |
| SSH接続が拒否される | インスタンスの初期化を待ってください(3~15分) |
| インスタンス終了後にデータが失われる | 永続ファイルシステムを使用してください |
| データ転送が遅い | 同じリージョン内のファイルシステムを使用してください |
| GPUが検出されない | インスタンスを再起動し、ドライバーを確認してください |
参考資料
- 高度な使用方法 - マルチノードトレーニング、APIの自動化
- トラブルシューティング - よくある問題と解決策
リソース
- ドキュメント:https://docs.lambda.ai
- コンソール:https://cloud.lambda.ai
- 料金:https://lambda.ai/instances
- サポート:https://support.lambdalabs.com
- ブログ:https://lambda.ai/blog
関連スキル
modal-serverless-gpu:MLワークロードを実行するためのサーバーレスGPUクラウドプラットフォームです。skypilot-multi-cloud-orchestration:自動コスト最適化機能を備えた、MLワークロード向けのマルチクラウドオーケストレーションです。modal:Modalは、オンデマンドGPUを含め、Pythonをオンデマンドで実行するためのサーバーレスクラウドプラットフォームです。
コメント
Markdown 対応