WecoAI/aideml

AIDE: an LLM agent for machine learning engineering - the research Weco grew out of. Referenced in OpenAI MLE-bench.

AIDE ML – LLM駆動の 機械学習工学 エージェント

何であるか – AIDE ML は、arXiv論文 2502.13138 で説明された AIDE アルゴリズムを実装するオープンソースのPythonパッケージです。このアルゴリズムは、機械学習パイプラインの構築を 木探索問題 として扱います:各ノードはPythonスクリプトであり、LLMがパッチ(新しい子ノード)を提案し、そのコードを実行してユーザー指定の指標での性能を測定し、そのフィードバックに従って木を刈り込みます。このプロセスは、指標が最大化(または最小化)されるまで繰り返されます。

主な機能

  • 自然言語によるタスク仕様 – データセットのフォルダ、平易な英語での目標、評価指標(例:goal="Churnを予測" eval="AUROC")を指定するだけでOK。YAML設定ファイルを書く必要はありません。
  • エージェント駆動の木探索 – LLMがコードを自動的に書いたりデバッグしたり反復したりします。探索は評価指標のフィードバックによって導かれます。
  • モデル非依存 – OpenAI互換APIをサポートする任意のLLM(OpenAI、Anthropic、Gemini、ローカルのOllamaモデルなど)と連携可能です。
  • 可視化機能 – HTMLビジュアライザーとStreamlit UIで、解決木を探索し、最良のコードがどのように進化するかをリアルタイムで観察できます。
  • 研究用に最適化 – リポジトリは意図的に軽量に設計されており、研究者は探索ヒューリスティクス、評価モデル、あるいは基盤となるLLMを簡単に交換できます。

導入方法

pip install -U aideml               # パッケージをインストール
export OPENAI_API_KEY=…            # またはローカルのOllamaサーバーに接続
# シンプルな実験を実行
aide data_dir="example_tasks/house_prices" \
     goal="各住宅の販売価格を予測" \
     eval="対数価格間のRMSE"

実行すると、logs/<run-id>/ ディレクトリが作成され、以下のファイルが含まれます:

  • best_solution.py – 最も高いスコアを達成したスクリプト。
  • tree_plot.html – 全探索木のインタラクティブなビュー。

Web UI – リポジトリをクローンした後、streamlit run aide/webui/app.py を実行すると、ブラウザインターフェースが起動します。ここでデータをアップロードし、目標や評価指標を設定し、エージェントの実行をライブで観察できます。

高度な使い方 – CLIフラグでコーディングモデル(agent.code.model)、反復回数(agent.steps)、各ステップあたりのドラフト数(agent.search.num_drafts)を変更できます。また、OPENAI_BASE_URL をOllamaエンドポイントに設定することで、Docker内や完全にローカルですべてを実行することも可能です。

誰が使うべきか

  • 研究者:新しいエージェントアーキテクチャ、探索戦略、評価パイプラインを探索したい方。
  • MLエンジニア:新しいデータセットに対して手作業でコードを書かずに、高性能なモデルを素早くプロトタイピングしたい方。

関連研究 – READMEには、AIDEを基盤として構築またはベンチマークしているいくつかの最近の論文がリストアップされています(例:OpenAIのMLE‑Bench、MetaのLLM Speedrunningベンチマーク)。これらの引用は、このアルゴリズムがすでに最先端のMLエージェント研究における基準として使われていることを示しています。

引用 – AIDE MLを用いて得られた成果を発表する場合、付随するarXiv論文を引用してください(BibTeXエントリはREADMEに記載されています)。


上記のすべての情報はリポジトリのREADMEから直接引用したものであり、追加の主張は一切含まれていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト