omni-epic
omni-epic copied to clipboard
OMNI-EPIC: Open-endedness via Models of human Notions of Interestingness with Environments Programmed in Code
OMNI-EPIC:
Open-endedness via Models of human Notions of Interestingness with Environments Programmed in Code
Repository for Open-endedness via Models of human Notions of Interestingness (OMNI) with Environments Programmed in Code (EPIC), that endlessly create learnable and interesting environments, further propelling the development of self-improving AI systems and AI-Generating Algorithms.
Setup - Apptainer
Step 0: update your environment
Update your .bashrc with
# Add foundation model API keys to your environment
export OPENAI_API_KEY='...'
export ANTHROPIC_API_KEY='...'
# Optionally
export CUDA_VISIBLE_DEVICES=...
export WANDB_API_KEY='...'
Step 1: clone the repository
Clone the repository with git clone https://github.com/maxencefaldor/omni-epic.git.
Step 2: build the container
Go at the root of the cloned repository with cd omni-epic/ and run:
apptainer build \
--fakeroot \
--force \
apptainer/container.sif \
apptainer/container.def
Step 3: shell into the container
Go at the root of the cloned repository with cd omni-epic/ and run
apptainer shell \
--bind $(pwd):/workspace/src/ \
--cleanenv \
--containall \
--env "CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES" \
--env "WANDB_API_KEY=$WANDB_API_KEY" \
--env "OPENAI_API_KEY=$OPENAI_API_KEY" \
--env "ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY" \
--home /tmp/ \
--no-home \
--nv \
--pwd /workspace/src/ \
--workdir apptainer/ \
apptainer/container.sif
Running Instructions
Running OMNI-EPIC
python main_omni_epic.py
Human Playable Game
python -m game.backend.app
For prettier frontend, on another terminal
cd game/frontend/
npm i
npm run dev
See more detailed readme for this in game/frontend/README.md
File structure
analysis/scripts used for plotting and analysisapptainer/for setting up apptainer, easier reproducabilityconfigs/configuration files used in training and analysisdreamerv3/code for DreamerV3, RL algorithm used to train the agentsgame/code for human playable gameomni_epic/code for robots, example environments, and foundation model calls
Citation
If you find this project useful, please consider citing:
@article{faldor2024omni,
title={OMNI-EPIC: Open-endedness via Models of human Notions of Interestingness with Environments Programmed in Code},
author={Faldor, Maxence and Zhang, Jenny and Cully, Antoine and Clune, Jeff},
journal={arXiv preprint arXiv:2405.15568},
year={2024}
}