概要
AutoResearchはAndrej Karpathyが開発した、AIエージェントが自律的に研究を実行するシステムである。AIエージェントにコード修正を行わせ、単一GPU上で5分間の学習を実行し、結果が改善したかをチェックして、保持または破棄するというサイクルを自動で繰り返す仕組みを実装している。
主な機能
- 自動コード修正と学習実行:AIエージェントが実験コードを修正し、指定時間の学習を自動実行する
- 結果の判定と反復:学習結果を評価し、改善した場合は変更を保持、改善しなかった場合は破棄して繰り返す
- プログラム定義による研究方針の制御:program.mdというMarkdownファイルで、AIエージェントへのコンテキストと研究組織の方針を定義する
- 実験ログの自動記録:各試行の実験設定と結果を記録し、翌朝確認できるようにする
技術スタック
- 言語:Python
- フレームワーク:PyTorch(ニューラルネットワーク学習)
- 実装対象:単一GPU環境でのナノチャット(小規模言語モデル)学習
導入方法
リポジトリに含まれる主要なファイルは以下の通りである。
prepare.py:固定定数の設定、1回限りのデータ準備処理(学習データのダウンロード、BPEトークナイザーの学習など)train.py:5分間の学習ループを実行するprogram.md:AIエージェントに提供するコンテキストと研究方針を記述するMarkdownファイル。研究者は通常のPythonファイルを直接編集するのではなく、このファイルを編集することで自動研究システムをプログラミングする
活用シーン
言語モデルのアーキテクチャサーチ AutoResearchが異なるトランスフォーマー層数、隠れ層次元、注意ヘッド数を試行し、各設定での学習結果を比較。汎化性能が高い構成を自動発見する。
限られたリソース環境での研究実行 スタートアップなど計算リソースが限定される環境で、複数の研究仮説を試行。AIエージェントが順次実験を自動実行し、人間は結果をレビューできる。
ハイパーパラメータの自動調整 データセットやモデルサイズが変わる際、学習率スケジュール・ウォームアップステップなどの手動調整から解放される。エージェントが新環境に自動適応する。
こんな人におすすめ
- 機械学習研究者・エンジニア:実験サイクルの自動化により、仮説検証の速度を向上させ、より多くのアイデアを試行できる
- スタートアップのMLチーム:限られたGPUリソースで複数プロジェクトを並行推進する際、実験実行を自動化できる
- 言語モデル開発者:ナノチャット学習を小実験アリーナとして使い、アーキテクチャ仮説を検証することが可能
- 自動化・AIエージェント技術に関心が高いエンジニア:LLMを使った自律的な問題解決の実装例として参考になる