Skip to content

Repository files navigation

AutoML-Agent

This is the official implementation of AutoML-Agent: A Multi-Agent LLM Framework for Full-Pipeline AutoML (ICML 2025)

[Paper][Poster][Website]

Setup

Benchmark Datasets

Data ModalityDownstream TaskDataset Name# Features# Train# Valid# Test# ClassesSourceLicenseEvaluation Metric
Main Datasets
Image (Computer Vision)Image ClassificationButterfly Image224x2244,5491,29965175Kaggle DatasetCC0Accuracy
Shopee-IETVarying640160804Kaggle CompetitionCustom
Text (Natural Language Processing)Text ClassificationEcommerce TextN/A35,29610,0845,0444Kaggle DatasetCC BY 4.0Accuracy
Textual EntailmentN/A3,9259824,9083Kaggle DatasetN/A
Tabular (Classic Machine Learning)Tabular ClassificationBanana Quality75,6001,6008002Kaggle DatasetApache 2.0F1
Software Defects2173,26818,31891,5872Kaggle CompetitionN/A
Tabular ClusteringSmoker Status22100,33128,66614,3342Kaggle CompetitionN/ARI
Higher Education Students Performance3110129158Research Dataset (UCI ML)CC BY 4.0RI
Tabular RegressionCrab Age853,31613,32966,646N/AKaggle CompetitionCC0RMSLE
Crop Price81,540440220N/AKaggle DatasetMITRMSLE
Graph (Graph Learning)Node ClassificationCora1,4332,7082,7082,7087Research Dataset (Planetoid)CC BY 4.0Accuracy
Citeseer3,7033,3273,3273,3276Research Dataset (Planetoid)N/A
Time Series (Time Series Analysis)Time-Series ForecastingWeather2136,88710,5395,270N/AResearch Dataset (TSLib)CC BY 4.0RMSLE
Electricity32118,4125,2602,632N/AResearch Dataset (TSLib)CC BY 4.0
Additional Datasets for SELA
Tabular (Classic Machine Learning)Binary ClassificationSmoker Status2285997215001433312Kaggle CompetitionN/AF1
Click Prediction Small1119174479479902OpenML
Multi-Class ClassificationMFeat Factors21696024040010OpenML
Wine Quality White1123505889807OpenML
RegressionColleges4433898481413N/AOpenMLRMSE
House Prices80700176292N/AKaggle Competition

Usage

We recommend using conda environment.

conda create --name amla python=3.11
pip install -r requirements.txt

Run AutoML Development

  1. Run the instruction-tuned LoRA adapter (Download Link) for Prompt Agent via vLLM. vllm==0.4.1 is strictly required to get correct parsed results.

Update: We have implemented an alternative OpenAI version via parse_openai(..)

HF_TOKEN="Your HuggingFace Token" CUDA_VISIBLE_DEVICES="0,1,2,3" python -m vllm.entrypoints.openai.api_server --model mistralai/Mixtral-8x7B-Instruct-v0.1 --enable-lora --lora-modules prompt-llama=./adapter/adapter-mixtral/ --tensor-parallel-size 4
  1. Setup Prompt Agent and LLM backbone(s) in ./configs.py.
AVAILABLE_LLMs= {
"prompt-llm": {
"api_key": "empty",
"model": "prompt-llama",
"base_url": "http://localhost:8000/v1",
},
"gpt-4": {"api_key": "YOUR OPENAI KEY", "model": "gpt-4o"},
"gpt-3.5": {"api_key": "YOUR OPENAI KEY", "model": "gpt-3.5-turbo"},
}
  1. Run chat with AutoML-Agent's Manager 🕴🏻!
fromagent_managerimportAgentManagerdata_path="agent_workspace/datasets/banana_quality.csv"# assuming the data is uploaded via web interface / APIuser_prompt="Build a model to classify banana quality as good or bad based on their numerical information about bananas of different quality (size, weight, sweetness, softness, harvest time, ripeness, and acidity). We have uploaded the entire dataset for you here in the banana_quality.csv file."manager=AgentManager(llm='gpt-4', interactive=False, data_path=data_path)
manager.initiate_chat(user_prompt)

Running in a Jupyter notebook is recommended. The generated output .py file will be in the agent_workspace.

Citation

@inproceedings{AutoML_Agent,
title={Auto{ML}-Agent: A Multi-Agent {LLM} Framework for Full-Pipeline Auto{ML}},
author={Trirat, Patara and Jeong, Wonyong and Hwang, Sung Ju},
booktitle={Forty-second International Conference on Machine Learning},
year={2025},
url={https://openreview.net/forum?id=p1UBWkOvZm}
}

License

This project is licensed under the CC BY-NC 4.0 license. Commercial use is prohibited.

About

[ICML-25] AutoML-Agent: A Multi-Agent LLM Framework for Full-Pipeline AutoML

Topics

Resources

Stars

164 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages