https://github.com/conglu1997/acd

Automated Capability Discovery via Foundation Model Self-Exploration

https://github.com/conglu1997/acd

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Automated Capability Discovery via Foundation Model Self-Exploration

Basic Info
  • Host: GitHub
  • Owner: conglu1997
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 237 MB
Statistics
  • Stars: 44
  • Watchers: 3
  • Forks: 3
  • Open Issues: 1
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Automated Capability Discovery
via Foundation Model Self-Exploration

Overview of Automated Capability Discovery

Automated Capability Discovery (ACD) is a novel framework that leverages one foundation modelacting as a scientistto autonomously discover and evaluate the capabilities and failure modes of another subject model. This framework, described in our paper Automated Capability Discovery via Foundation Model Self-Exploration (Cong Lu, Shengran Hu, Jeff Clune), offers a scalable approach to automating the evaluation of frontier models.

Safety Notice

Because this repository can automatically execute LLM-generated code, you should carefully sandbox the execution environment (e.g., using Docker) to limit the potential impact of any malicious or unintended actions. We explicitly prompt the foundation models not to access the internet or filesystem, which makes the risk unlikely, but it is always good practice to apply the principle of least privilege when running automatically generated code.

Setup

Clone the repository and install the required dependencies:

bash conda create -n acd python=3.11 conda activate acd pip install -r requirements.txt

Running Instructions

General Notes

  • Logs and Results: Full logs and all discovered tasks (as presented in the paper) are saved in the results directory.
  • API Keys: Ensure that the required API keys (e.g. OPENAI_API_KEY, OPENROUTER_API_KEY, etc.) are set in your environment. For a complete list of supported foundation models, see src/llm_utils.py.
  • Parallelism: To speed up task generation, use the --parallelism flag to enable multi-threaded discovery.
  • Automated Judge: By default, ACD uses GPT-4o as the automated judge model for consistency. You can change the judge model for evaluation in the eval_helper.py file. Furthermore, you can change the judge model for the interestingness and surprisingness assessment via the --filter_model flag in the main script.

Task Generation

Generate tasks using one of the following commands:

```bash

Run ACD: GPT-4o Scientist on GPT-4o Subject

python generateacdtasks.py --scientistmodel 'gpt-4o-2024-05-13' --subjectmodel 'gpt-4o-2024-05-13' --outputdir acdgpt4o_gpt4o

Run ACD: Claude Scientist on GPT-4o Subject

python generateacdtasks.py --scientistmodel 'claude-3-5-sonnet-20240620-v1:0' --subjectmodel 'gpt-4o-2024-05-13' --outputdir acdsonnet35_gpt4o

Run ACD: GPT-4o Scientist on Llama3-8B Subject

python generateacdtasks.py --scientistmodel 'gpt-4o-2024-05-13' --subjectmodel 'llama3.1-8b' --outputdir acdgpt4ollama38b ```

Visualizing Discovered Tasks

To generate an HTML visualization of the discovered tasks, run:

bash python visualize_generated_tasks.py --experiment_dir "results/acd_gpt4o_gpt4o"

Generating a Report

We include generated reports from our paper in the reports directory. To compile a Capability Report summarizing the discovered capabilities and failure modes for a new setting, follow these steps:

  1. Generate the Markdown Report

Run the following command, replacing the placeholders with the appropriate values:

bash python generate_report.py --task_folder {TASK_FOLDER} --scientist {SCIENTIST_MODEL} --subject {SUBJECT_MODEL}

This command produces a Markdown file containing the report.

  1. Convert the Markdown Report to PDF

The project uses markdown-paper to convert Markdown files into PDFs. Please refer to the markdown-paper repository for installation instructions. Once installed, convert your report by running:

bash cd markdown-paper python build.py {PATH-TO-report.md}

If a compile error occurs, try pressing R. The final PDF (report.pdf) will be generated in the markdown-paper directory.

Citation

If you find this project useful, please consider citing our work:

bibtex @article{lu2025ACD, title={Automated Capability Discovery via Foundation Model Self-Exploration}, author={Lu, Cong and Hu, Shengran and Clune, Jeff}, journal={arXiv preprint arXiv:2502.07577}, year={2025} }


Contact

For any queries, please contact Cong Lu.

Owner

  • Name: Cong Lu
  • Login: conglu1997
  • Kind: user
  • Location: Oxford

Reinforcement Learning PhD Student in MLRG and OxCSML @ Oxford

GitHub Events

Total
  • Create event: 1
  • Issues event: 1
  • Release event: 1
  • Watch event: 54
  • Push event: 5
  • Public event: 1
  • Fork event: 3
Last Year
  • Create event: 1
  • Issues event: 1
  • Release event: 1
  • Watch event: 54
  • Push event: 5
  • Public event: 1
  • Fork event: 3

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • johnsonc (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • anthropic *
  • backoff *
  • matplotlib *
  • numpy *
  • openai *
  • pandas *
  • plotly *
  • scikit-learn *
  • sklearn *
  • tiktoken *
  • tqdm *