/通喵千問 →English

HanreiLLM PatentLLM SubsidyDB RAG Eng Apps Live GitHub Inquiry
← 記事一覧に戻る Read in English
AI

KarpathyのautoresearchをローカルLLMで動かす — クラウドAPI不要・コスト$0の自律AI研究

2026-03-23 / soy-tuber

はじめに

Andrej Karpathy(OpenAI共同創設者)が公開したautoresearchは、「LLMに自分でML研究をさせる」という野心的な実験です。LLMがGPTの訓練スクリプトを自律的に修正し、5分間の実験を実行、val_bpb(バリデーション損失)が改善すれば採用、悪化すれば破棄——これを無限ループで回し続けます。

オリジナルはClaude Code(クラウドAPI)を研究者として使いますが、SohniSwatantraによるフォーク版はこれをQwen 3.5 9B + ollamaに置き換え、単一GPUで完結させています。APIキー不要、クラウド依存なし、実験あたりのコスト$0。

GitHub: https://github.com/SohniSwatantra/autoresearch-local-llm

アーキテクチャ:1台のGPUでLLMと訓練を共存

このフォークの最大の特徴は、LLMエージェントとGPT訓練が同じGPU上で動くことです。

GPU (48GB VRAM)
├── Qwen 3.5 9B via ollama (~12GB)
└── GPT training via train.py (~35GB)

VRAM制約に対応するため、オリジナルからハイパーパラメータを調整しています。

モデルサイズを縮小した分、LLMがより多くの実験を回すことで補償するという設計判断です。

自律研究ループの仕組み

全体のフローは驚くほどシンプルです。

ステップ1: LLMに修正案を生成させる

agent.pyがtrain.pyの現在のコードと実験履歴(results.tsv)をプロンプトに含めてQwen 3.5に送信。LLMはval_bpbを下げるための具体的なコード修正を提案します。

プロンプトには明確な制約が与えられます: ・train.pyのみ修正可能(prepare.pyは読み取り専用) ・新しいパッケージのインストール不可 ・5分間の固定時間予算 ・利用可能なVRAMは約35GB

ステップ2: 構文検証とgit commit

提案されたコードをast.parse()で構文チェック。有効ならtrain.pyを上書きしてgit commitします。

ステップ3: 5分間の実験実行

uv run train.pyを実行。タイムアウトは10分(通常5分で完了)。

ステップ4: 結果判定

val_bpbが改善 → keep(ブランチを前進) val_bpbが同等以下 → discard(git reset --hard) クラッシュ → crash(ログを次のプロンプトに含めて修正を試行)

3回連続クラッシュでベースラインにリセットするフェイルセーフ機構も備えています。

agent.py の設計が秀逸

agent.pyは約250行の単一ファイルで、以下の機能を実装:

特筆すべきは、LLMの応答からPythonコードブロックを正規表現で抽出し、ast.parse()で検証するパイプラインです。構文エラーがあればスキップし、有効なコードのみ実験に回します。

def extract_code_from_response(response):
    blocks = re.findall(r"
(?:python)?\s*\n(.*?)```", response, re.DOTALL)
    if blocks:
        return max(blocks, key=len)  # 最長のコードブロックを採用
■ コスト比較


| 構成 | 実験あたりコスト | 100実験 |
|------|--------------|---------|
| オリジナル(Claude Code API) | ~$0.05-0.20 | $5-20 |
| フォーク版(Nosana Pro 6000) | $0.08 | ~$8 |
| フォーク版(自前GPU) | $0 | $0 |

■ program.md — LLMへの指示書


Karpathyのオリジナルprogram.mdには重要な設計哲学が含まれています:

・「NEVER STOP」 — 人間が手動で停止するまで無限に実験を続ける
・簡潔性基準 — 0.001の改善でも20行の複雑なコードが必要なら採用しない。逆にコード削減で同等の結果なら即採用
・ユーザーは寝ている前提 — 1実験5分で1時間に12回、8時間睡眠中に約100実験を自動実行

これは「AIに寝ている間に研究させる」という、まさにautoresearchの本質です。

■ ローカルLLMで動かす意義


このフォークが示すのは、ローカルLLMの実用性です。

・Qwen 3.5 9B(9Bパラメータ)でもML研究の自律ループが成立する
・クラウドAPIのレートリミットやコストを気にせず無限に回せる
・24GB以上のGPUがあれば誰でも自分の研究を自動化できる

SoyLMを含むローカルRAGツール群と同様、「ローカルで完結する」AIシステムの可能性を広げるプロジェクトです。

■ セットアップ手順
# ollamaインストール & モデル取得
curl -fsSL https://ollama.com/install.sh | sh
ollama serve &
ollama pull qwen3.5:9b
# リポジトリクローン
git clone https://github.com/SohniSwatantra/autoresearch-local-llm.git
cd autoresearch-local-llm
pip install uv
uv sync
# 実行
bash run_pipeline.sh
```

24GB以上のVRAMが必要(48GB推奨)。

まとめ

Karpathyのautoresearchは「LLMに研究させる」というコンセプトを提示し、このフォークは「それをクラウド不要で実現できる」ことを証明しました。ローカルLLMの性能向上とともに、個人開発者がAI研究を自動化する時代が到来しています。

GitHub: https://github.com/SohniSwatantra/autoresearch-local-llm オリジナル: https://github.com/karpathy/autoresearch

よくある質問

Karpathyのautoresearchとは何ですか?また、このローカル版の主な利点は何ですか?

Andrej Karpathyのautoresearchは、LLMが自律的にML研究(GPT訓練スクリプトの修正と実験)を行う実験です。このフォーク版は、クラウドAPIではなくQwen 3.5 9Bとollamaを単一GPUで動かすことで、APIキー不要、クラウド依存なし、実験あたりのコスト$0を実現している点が主な利点です。

このローカルautoresearchシステムは、どのように単一のGPUでVRAM制約に対応して動作するのですか?

LLMエージェント(Qwen 3.5 9B via ollama)とGPT訓練が同じGPU上で動作します。VRAM制約(48GB)に対応するため、オリジナルからGPTモデルのDepthやDevice batch sizeなどのハイパーパラメータを調整し、モデルサイズを縮小した分、LLMがより多くの実験を回す設計にしています。

自律的な研究ループの主要なステップは何ですか?

主なステップは、LLMが現在のtrain.pyと実験履歴を元にコード修正案を生成することから始まります。次に、提案されたコードの構文チェックとgit commitが行われ、その後5分間の実験実行(uv run train.py)が続きます。最後に、val_bpbの改善度合いに基づいて結果が判定され、コードの採用または破棄が決定されます。

LLMが提案するコード修正は、実行前にどのように検証されるのですか?

LLMからの応答に含まれるPythonコードブロックは、正規表現によって抽出されます。抽出されたコードは、ast.parse()を用いて構文チェックされ、有効なコードのみがtrain.pyに適用されて実験に回されます。構文エラーがある場合はスキップされるため、不正なコードが実行されることを防ぎます。

Daily Tech Digest 海外15サイトから厳選したAI・開発ニュースを毎日配信