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 是一个开源 Python 包,它实现了 arXiv 论文 2502.13138 中描述的 AIDE 算法。该算法将机器学习流水线的创建视为一个 树搜索问题:每个节点是一个 Python 脚本,LLM 提出补丁(新的子节点),运行生成的代码,测量其在用户指定指标上的性能,并根据该反馈对树进行剪枝。该过程不断重复,直到指标达到最大化(或最小化)。

核心能力

  • 自然语言任务规范 – 提供一个数据集文件夹、一个简单的英语目标和评估指标(例如,goal="Predict churn" eval="AUROC")。无需编写 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="Predict the sales price for each house" \
     eval="RMSE between log‑prices"

运行后会创建一个 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 或完全本地的环境中运行一切。

谁应该使用它

  • 研究人员 正在探索新的智能体架构、搜索策略或评估流水线。
  • 机器学习工程师 希望快速为新数据集原型化一个高性能模型,而无需手动编写代码。

相关工作 – README 列出了几篇基于 AIDE 或对其进行基准测试的近期论文(例如,OpenAI 的 MLE‑Bench,Meta 的 LLM Speedrunning 基准测试)。这些引用表明,该算法已被用作前沿机器学习智能体研究中的基准。

引用 – 如果您使用 AIDE ML 发表了结果,请引用随附的 arXiv 论文(参见 README 中的 BibTeX 条目)。


以上所有信息均直接取自仓库的 README;未添加任何额外声明。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目