Shalev Lifshitz*, Keiran Paster*, Harris Chan†, Jimmy Ba, Sheila McIlraith
Página del proyecto | ArXiv | PDF
Construir modelos de IA que respondan a instrucciones escritas es un desafío, especialmente para tareas secuenciales de toma de decisiones. Este trabajo presenta una metodología, inspirada en unCLIP, para ajustar modelos generativos de comportamiento de instrucciones sin depender de un gran conjunto de datos de trayectorias etiquetadas con instrucciones. Utilizando esta metodología, creamos un modelo de preentrenamiento de video (VPT) ajustado a instrucciones llamado STEVE-1, que puede seguir texto abierto de corto horizonte e instrucciones visuales en Minecraft™. STEVE-1 se entrena en dos pasos: adaptar el modelo VPT previamente entrenado para seguir comandos en el espacio latente de MineCLIP y luego entrenar un previo para predecir códigos latentes a partir de texto. Esto nos permite ajustar VPT mediante clonación conductual autosupervisada y reetiquetado retrospectivo, lo que reduce la necesidad de costosas anotaciones de texto humanas, y todo por solo $60 de cómputo. Al aprovechar modelos previamente entrenados como VPT y MineCLIP y emplear las mejores prácticas de generación de imágenes condicionadas por texto, STEVE-1 establece un nuevo estándar para el seguimiento de instrucciones abiertas en Minecraft con controles de bajo nivel (ratón y teclado) e entradas de píxeles sin formato. superando con creces las líneas de base anteriores y completando sólidamente 12 de 13 tareas en nuestro conjunto de evaluación inicial del juego. Proporcionamos evidencia experimental que destaca factores clave para el rendimiento posterior, incluido el entrenamiento previo, la orientación sin clasificadores y el escalamiento de datos. Todos los recursos, incluidos nuestros pesos de modelo, guiones de capacitación y herramientas de evaluación, están disponibles para futuras investigaciones.
.
├── README.md
├── steve1
│ ├── All agent, dataset, and training code.
├── run_agent
│ ├── Scripts for running the agent.
├── train
│ ├── Script for training the agent and generating the dataset.
Recomendamos ejecutar en Linux usando un entorno Conda, con Python 3.10.
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
pip install minedojo git+https://github.com/MineDojo/MineCLIP
pip install git+https://github.com/minerllabs/[email protected]
pip install gym==0.19 gym3 attrs opencv-python
pip install gdown tqdm accelerate==0.18.0 wandb
steve1
localmente con: pip install -e .
Si está ejecutando en un servidor sin cabeza, necesita instalar xvfb
y ejecutar cada script de Python con xvfb-run
. Por ejemplo, xvfb-run python script_name.py
.
Además, observe que utilizamos el entorno MineRL, no el entorno MineDojo. Por lo tanto, configurar MINEDOJO_HEADLESS=1
como se menciona en las instrucciones de 'Instalación de MineDojo' no tendrá ningún efecto.
Ejecute el siguiente comando para descargar los datos y los pesos:
. download_weights.sh
Para entrenar a STEVE-1 desde cero, ejecute los siguientes pasos:
. train/1_generate_dataset.sh
. train/2_create_sampling.sh
. train/3_train.sh
. train/4_train_prior.sh
Proporcionamos dos scripts para probar el agente con diferentes indicaciones. Para probar sus propios agentes capacitados, modifique el argumento --in_weights
en los scripts.
. run_agent/1_gen_paper_videos.sh
para generar los videos utilizados en el artículo.. run_agent/2_gen_vid_for_text_prompt.sh
para generar videos para mensajes de texto arbitrarios.. run_agent/3_run_interactive_session.sh
para iniciar una sesión interactiva con STEVE-1. Esto no funcionará en modo sin cabeza. Cite nuestro artículo si encuentra que STEVE-1 es útil para su investigación:
@article{lifshitz2023steve1,
title={STEVE-1: A Generative Model for Text-to-Behavior in Minecraft},
author={Shalev Lifshitz and Keiran Paster and Harris Chan and Jimmy Ba and Sheila McIlraith},
year={2023},
eprint={2306.00937},
archivePrefix={arXiv},
primaryClass={cs.LG}
}