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 패키지입니다. 이 알고리즘은 머신러닝 파이프라인 생성을 **트리 탐색 문제(tree-search problem)**로 취급합니다. 각 노드는 Python 스크립트이며, LLM이 패치(새로운 자식 노드)를 제안하고, 생성된 코드를 실행하여 사용자 지정 메트릭에 따른 성능을 측정하고, 그 피드백에 따라 트리를 가지치기(pruning)합니다. 이 프로세스는 메트릭이 최대화(또는 최소화)될 때까지 반복됩니다.
주요 기능
- 자연어 작업 사양 – 데이터셋 폴더, 일반적인 영어 목표 및 평가 메트릭을 제공합니다 (예:
goal="Predict churn" eval="AUROC"). YAML 설정을 작성할 필요가 없습니다. - 에이전트 기반 트리 탐색 – LLM이 코드를 자동으로 작성, 디버깅 및 반복 개선합니다. 탐색은 메트릭 피드백에 의해 가이드됩니다.
- 모델 불가지론(Model-agnostic) – 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 내부 또는 완전히 로컬에서 모든 것을 실행할 수 있습니다.
누가 사용해야 하나요
- 연구자 – 새로운 에이전트 아키텍처, 탐색 전략 또는 평가 파이프라인을 탐구하는 분들.
- ML 엔지니어 – 코드를 직접 작성하지 않고 새로운 데이터셋에 대해 고성능 모델을 프로토타이핑하는 빠른 방법을 원하는 분들.
관련 작업 – README에는 AIDE를 기반으로 하거나 벤치마크로 사용하는 여러 최신 논문들이 나열되어 있습니다 (예: OpenAI의 MLE-Bench, Meta의 LLM Speedrunning 벤치마크). 이러한 인용은 이 알고리즘이 최첨단 ML-에이전트 연구에서 이미 베이스라인으로 사용되고 있음을 보여줍니다.
인용 – AIDE ML을 사용하여 얻은 결과를 발표할 경우, 동반된 arXiv 논문을 인용하십시오 (BibTeX 항목은 README를 참조하십시오).
위의 모든 정보는 저장소의 README에서 직접 가져온 것이며, 추가적인 주장은 포함되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트