広告

[P] カーパシーの自動リサーチを24ドルではなく0.44ドルで実行 — SageMaker Spot上のオープンソース並列進化パイプライン

Reddit r/MachineLearning / 2026/3/31

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • 世代ごとに複数の候補トレーニングジョブを同時に実行し、「Hurry Up and Get Idle」アプローチ(5分の実行で即時に終了)を用いることで、パイプラインは約4倍の並列性を実現し、総実行時間は約2.3倍高速化、H100の逐次ベースラインに比べてコストを約18分の1に抑えます。

TL;DR: SageMaker Spotインスタンス上でKarpathyのautoresearchを動かすオープンソースのパイプラインを構築しました — 合計0.44ドルで25件の自律的なML実験(H100なら〜24ドル)。4倍並列、2.3倍高速、18倍安価。8章立ての“ノリ”でコードを書くチュートリアル付き。GitHub


問題

Karpathyのautoresearchは素晴らしい — AIエージェントが学習コードを修正し、5分の実験を走らせ、改善を保持して、夜の間に繰り返します。 しかし、H100が8時間分、手元にあることを前提にしています。たいていの人は、そんな状況ではありません。

知りたかったのはこれです:安いクラウドGPUでも同じ結果は出せるのか?しかも実験あたり支払うのは数セントだけで。

作ったもの

SageMaker Managed Spot Training上で動く並列進化パイプライン

  • 各世代:N件の候補を生成 → N個のSageMaker Spotジョブを同時実行 → best val_bpbを選択 → 次の世代
  • HUGIパターン(Hurry Up and Get Idle):GPUを5分起動してすぐ終了。アイドル時間のコストはゼロ。
  • 任意のGPUに対応:H100、L40S、A10Gなどを自動検出し、うまくフォールバック

アーキテクチャ:

結果

元の方式(H100、逐次) 本プロジェクト(L40S Spot、並列)
83件の実験にかかるコスト 〜$24(オンデマンド) / 〜$7(スポット) 〜$1.33
総実行時間(ウォールクロック) 〜8時間 〜3.5時間
GPUのアイドルコスト 〜50%無駄 $0
並列で実験する数 1 4

実際の実行:L40Sで5世代にわたって25件の実験を合計0.44ドル(us-east-1のml.g7e.2xlarge Spot)で実施

パイプラインは自律的に、EMBEDDING_LRが最も感度の高いパラメータであることを発見し、控えめなLR(学習率)進化によりval_bpbを1.0656 → 1.0643へ改善しました。アーキテクチャ変更(より深いモデル、より大きいバッチ)は、5分の予算ではすべて失敗しました。

道中のサプライズ

学んだこと(苦い経験込み):

  1. スポット容量は地域によって1〜9で変動します。 同じインスタンスタイプでも、us-west-2ではスコア1で(30分以上)詰まるのに対し、us-east-1ではスコア9で(2分で)割り当てられました。地域を選ぶ前に常にaws ec2 get-spot-placement-scoresを実行してください。

  2. Flash Attention 3はL40Sでは動きません。 事前コンパイル済みのFA3カーネルはHopper(sm_90)とAmpere(sm_80/86)のみをサポートしています。Ada Lovelace(sm_89)だと実行時にクラッシュしました。PyTorchのSDPAフォールバックを追加する必要があり、その結果MFUが半減(20% vs 40%)しました。

  3. DEVICE_BATCH_SIZEはスループットに等しくありません。 バッチサイズを64→128へ2倍にし、VRAMも2倍使ったのに… val_bpbは悪化しました。理由は、固定されたTOTAL_BATCH_SIZEのもとでは、大きいマイクロバッチはより多くのトークンを処理するのではなく、単に勾配蓄積ステップ数を減らすだけだったからです。本当のレバーはTOTAL_BATCH_SIZEです。

  4. スポットの大きいインスタンスの方が安いことがあります。 g7e.8xlarge($0.93/時)は、需要が低いためg7e.2xlarge($1.82/時)より安かったです。全サイズの価格履歴を確認してください。

  5. 安いGPUでの実験は、高価なGPUへ転用できます。 研究によれば、L40S($0.04/実験)で見つかったアーキテクチャ/オプティマイザのランキングは、本番学習のH100でも転用されます。絶対的なLR値は再チューニングが必要ですが、「AがBより勝つ」という結論は移植可能です。

“ノリでコードする”観点

このプロジェクト全体は、会話型AIコーディング(Claude Code)によって、単一の〜13時間セッションで作られました。私はその旅を8章立ての“ノリでコードを書く”チュートリアルとしてドキュメント化しました。最初のアイデアから、インフラのデバッグ、そして自律的な進化の結果まで。各章には、実際に使ったプロンプト、遭遇した失敗、各ステップでのコストが含まれています。

試してみる

```bash git clone https://github.com/roboco-io/serverless-autoresearch cd serverless-autoresearch cp config.yaml.example config.yaml

AWSの認証情報で編集

make setup # IAMロール make prepare # データ → S3 make dry-run # 確認(無料) make run # 10 gen × 4 pop = 40実験(〜$0.70) ```

リンク

ML実験を回すための、あなたにとって一番安い構成は何ですか?他のクラウドでautoresearchを試した人はいますか?


更新:この仕組みがどう作られたかを、完全な手順チュートリアルとして書きました。

コードを読むだけでなく“やって学ぶ”なら、私は
ビルド手順全体を8章立てのハンズオンチュートリアルにしました:

| Ch | 学べること |
|----|------------------|
| 1 | 1つのプロンプト+深いインタビューからアーキテクチャが生まれるまで |
| 2 | 並列AIエージェントで1セッションに23ファイルを生成 |
| 3 | 地域のサーガ — スポットスコア、クォータ戦争、3地域への移行 |
| 4 | 最初の実験:FA3 CUDAクラッシュ → SDPAフォールバック → $0.02成功 |
| 5 | バッチサイズの罠 — バッチサイズを2倍にすると結果が悪化する理由 |
| 6 | 自律進化を5世代(何がうまくいき、何が失敗したか) |
| 7 | 教訓を再利用可能なClaude Codeスキルに変える |
| 8 | 最終スコアカード:18倍安く、2.3倍速い |

各章には、私が使った実際のプロンプト何がうまくいかなかったか,
そしてそれを再現するための正確なコマンドが含まれます。追いかけるための総コスト:〜$0.70。

おそらく一番学びが多いのは 第5章(The Batch Size Trap) です —
DEVICE_BATCH_SIZE ≠ スループット だと実戦で学びました($0.07の教訓)。

ここから始めてください:第1章:アイデア

submitted by /u/Consistent-Milk-6643
[link] [comments]

広告