Fine-Tuning LLMs on RunPod: Your Cloud GPU Training Setup

スポンサーリンク

Fine-Tuning LLMs on RunPod: Your Cloud GPU Training Setup

  • AI Infrastructure
  • Cloud Computing
  • Cloud GPU Setup
  • GPU Deployment
  • LLM Training
  • Pod Configuration
  • RunPod Tutorial
  • SSH Access
  • Training Environment
  • Mohamed Abdelhamid
  • Ready Tensor

🏠
Home – All Lessons

⬅️
Previous – Fine-Tuning Llama 3

➡️
Next – Weights & Biases Tutorial

Colabでファインチューニングしてきました—今度はインフラをアップグレードする時です。

Colabは学習には最適ですが、限界があります: セッションタイムアウト、GPUの可用性の問題、再接続するたびにリセットされる環境。

RunPodはより多くの制御を提供します。専用GPU、永続ストレージ、中断なしに数時間または数日間トレーニングジョブを実行する自由。

このレッスンでは、最初のRunPod環境をセットアップし、ファインチューニングコードをエンドツーエンドで実行します。SSHアクセス、ワークスペース管理、環境設定、トレーニングスクリプトの実行方法を学びます。最後には、次のレッスンで行う体系的な実験に対応したプロフェッショナルグレードのGPU環境が整います。

ワークフローは変更しません—本格的で反復可能なトレーニングのために構築されたものにインフラをアップグレードするだけです。

ColabからCloudへ: RunPodへの移行理由

Google ColabでLLMをファインチューニングするのがいかに簡単かはすでに見てきました。
しかし、より長いジョブを実行したり、より大きなモデルで実験したりし始めると、すぐに限界に達します — 切断、ランタイムキャップ、非永続的な環境。

RunPodはそのすべてを解決します。
クラウド内の専用GPUインスタンスを提供し、中断なしに数時間または数日間ファインチューニングジョブを実行できます。

ワークフローを変更する必要はありません — 環境を変更するだけです。
Colabで使用した同じスクリプトとデータセットがここで機能しますが、より高速で、より信頼性が高く、リソースを完全に制御できます。

これは、共有ラボの一時的なベンチから自分のワークステーションへの移行と考えてください — 同じコードですが、本格的で反復可能なトレーニングのために構築されています。

RunPodとの出会い: 専用GPUワークスペース

RunPodは、複雑な従来のクラウドプロバイダーなしに、信頼性の高い高性能GPUコンピュートを必要とする開発者や研究者のために構築されたクラウドプラットフォームです。

その中核として、RunPodはAIライフサイクル全体をカバーする4つの製品を提供します — トレーニングからデプロイメントまで:

  • Clusters: 大規模トレーニングや分散ジョブのための超高速ネットワーキングを備えたマルチノードGPUクラスター。基盤モデルや高性能コンピューティングに取り組むチームに最適。
  • Serverless: 推論用の自動スケーリングGPUエンドポイント。セットアップ不要、インフラ管理不要 — モデルをAPIとしてデプロイするだけ。
  • Hub: GitHubからオープンソースAIプロジェクトをフォーク、カスタマイズ、即座にデプロイするためのコラボレーションスペース。

各製品はMLワークフローの異なる段階に適合します — しかし一緒に、AI開発のための完全なインフラを形成します。

このレッスンでは、Podsに焦点を当てます。単一のGPUインスタンスを完全に制御できるためです — 大規模言語モデルのファインチューニングに最適な環境。

Podsは柔軟性、手頃な価格、開発者の制御を組み合わせています:

  • GPU(A40、A100、H100など)を選択できます。
  • 実行中のみ支払います。
  • SSH経由で直接接続し、ローカルと同じように作業できます。

要するに: RunPodは、複雑さや待ち時間なしに、エンタープライズクラウドGPUと同じパワーを提供します。

🎥 Video Walkthrough: Getting Started with RunPod

このウォークスルーを見て、アカウント作成から最初のGPU podのデプロイまで、完全なRunPodセットアッププロセスを実際に確認してください。

環境のセットアップ

最初のpodを起動する前に、アカウントを作成し、クレジットを追加し、ターミナルから安全に接続できるようにSSHアクセスをセットアップする必要があります。

アカウントとクレジット

runpod.io
にアクセスして新しいアカウントを作成してください。
ダッシュボード内に入ったら、クレジットを追加します — 20ドルあれば始めるには十分です。
今は自動リチャージを無効にしてください; これにより支出を完全に制御できます。

RunPodはpodが実行中の間のみ課金されます。podが停止している場合、/workspaceデータを保持するために小額のストレージ料金(約$0.10/時間)のみがかかります。

/workspace

RunPodはブラウザターミナルを提供していますが、SSHはより安定した安全な接続を提供します — 長いファインチューニング実行に最適です。

macOSまたはLinuxで、新しいSSHキーペアを生成します:

ssh-keygen -t rsa -b 4096 -C "your-email@example.com"

Enterキーを押してデフォルトを受け入れ、次に公開鍵をコピーします:

cat ~/.ssh/id_rsa.pub

Windowsでは、PowerShellを開いて同じコマンドを実行します — 以下を使用して鍵をコピーできます:

cat ~/.ssh/id_rsa.pub | clip

次に、RunPodダッシュボード → 設定 → SSHキーに移動し、公開鍵を貼り付けて保存します。
秘密鍵は安全に保管してください — podに接続する際の認証に使用します。

podが実行されたら接続をテストします(次に作成します):

ssh root@ssh.runpod.io -p <port> -i ~/.ssh/id_rsa

接続が成功すれば、クラウドでトレーニングする準備が整いました。

注: 「connection refused」と表示される場合は、podが実行中であり、デプロイ時にSSHアクセスが有効になっていることを確認してください。

最初のPodの起動と接続

では、最初のRunPod環境を立ち上げましょう。

ダッシュボードから、Pods → Deploy New Podに移動します。
GPUタイプを選択します(A40は開発に最適 — 高速でコスト効率が良い)。
デフォルトのPyTorch + CUDA イメージを保持し、SSHアクセスを有効にして、Deployをクリックします。

数分以内に、podは緑色の「Running」ステータスを表示します。
提供されたSSHコマンドをコピーして、ローカルターミナルから接続します:

ssh root@ssh.runpod.io -p <your-port> -i ~/.ssh/id_rsa

クラウド内の完全なGPUマシン内にいます。
永続ストレージディレクトリに移動します:

cd /workspace

次にファインチューニングリポジトリをクローンします:

git clone https://github.com/yourname/llm-finetuning
cd llm-finetuning
pip install -r requirements.txt

これで完了です — プロジェクトがセットアップされ、トレーニングの準備が整いました。

Video Walkthrough: Running Your Code on Runpod

このウォークスルーを見て、RunPodインフラでLLMトレーニングスクリプトをデプロイして実行する完全なワークフローを確認してください。

RunPod内での作業

RunPodでのワークフローは、ローカルで行ったことと同じです — 主な違いは永続性とパワーです。

永続ストレージ

/workspace内のすべてはセッション間で永続的です。
そのフォルダ外に保存したものは、podが停止すると削除されます。

作業を開始する前に常に/workspaceに移動してください:

コードの同期

コードを更新するには、ローカルでコミットしてpod内で変更をプルします:

cd /workspace/llm-finetuning
git pull origin main

大きなファイル(トレーニング済み重みやデータセットなど)については、Hugging Face Hubにプッシュするか、直接転送のためにscpを使用します。

scp

環境の検証

GPUがアクティブであることを確認します:

python -c "import torch; print(torch.cuda.get_device_name(0))"
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')"

両方のコマンドが正常に戻れば、環境の準備が整っています。次のような出力が表示されるはずです:

NVIDIA A40
CUDA available: True

これにより、GPU対応マシンに接続されており、トレーニングの準備ができていることが確認されます。

簡単なスモークテスト — 短い50ステップのLoRAファインチューニングスクリプト — を実行して、この新しい環境でトレーニングパイプラインが機能することを確認することもできます。

セッションの維持

長いトレーニング実行の場合、tmuxを使用してSSHが切断されてもプロセスを実行し続けます:

tmux

# 新しいtmuxセッションを開始
tmux new -s training

# トレーニングスクリプトを実行
python train.py

# 切断: Ctrl+B、次にD
# 後で再接続: tmux attach -t training

これにより、インターネット接続が切断されてもトレーニングが継続されます。

実験追跡の準備

セットアップをまとめる前に、実験追跡ツールにログインして次のレッスンの準備をしましょう:

wandb login
huggingface-cli login

これらの認証情報は/workspaceに保存されるため、一度だけ行う必要があります。

Podsとコストの管理

クラウドGPUは強力ですが — 従量制でもあります。
不要な料金を避けるため、podsを慎重に管理したいと思うでしょう。

トレーニング実行が終了したら、ダッシュボードからpodを停止します。
これによりコンピュートがシャットダウンされますが、/workspaceは約$0.10/時間でそのまま保持されます。
いつでも再開して、中断したところから再開できます。

完全に終了してデータが不要な場合は、podを終了します — これによりすべてが削除され、すべての料金が停止されます。

一般的なガイドとして:

  • 開発または短い実行 → A40 (約$0.40/時間)
  • より長いまたは重い実行 → A100 (約$1–$2/時間)
  • 非常に大きな実験 → H100 (本番規模のタスク用)

1Bパラメーターモデルのファインチューニングは、ランタイムとバッチサイズに応じて通常約$15–$30かかります。

クラウドコンピュートをタクシーメーターのように扱ってください — 完了したら停止すれば、驚くことはありません。

次のステップ

完全に機能するクラウドGPU環境ができました — 本格的なファインチューニング作業のための完璧な基盤です。
パイプラインはエンドツーエンドで実行され、リソースはオンデマンドでスケールし、Colabランタイムやローカルハードウェアによる制限はありません。

次に、これをさらに一歩進めて、実験を追跡可能で再現可能にします。

今後のレッスンでは、Weights & Biases (W&B)をRunPodセットアップに統合して:

  • ハイパーパラメーター、損失、ROUGEスコアを自動的にログ
  • 複数のトレーニング実行を並べて比較
  • パフォーマンスの改善をリアルタイムで可視化

クラウドのセットアップは完了しました。次は、散らばった試行を構造化された実験に変えて、最高のモデルを構築できるようにしましょう。

  • Scaling Beyond Colab: Your Professional Training Environment

コメント

タイトルとURLをコピーしました