Shalev Lifshitz*, Keiran Paster*, Harris Chan†, Jimmy Ba, Sheila McIlraith
Página do Projeto | ArXiv | PDF
Construir modelos de IA que respondam a instruções de texto é um desafio, especialmente para tarefas sequenciais de tomada de decisão. Este trabalho apresenta uma metodologia, inspirada no unCLIP, para modelos generativos de comportamento de ajuste de instrução sem depender de um grande conjunto de dados de trajetórias rotuladas por instrução. Usando essa metodologia, criamos um modelo de pré-treinamento de vídeo (VPT) ajustado por instrução chamado STEVE-1, que pode seguir texto aberto de horizonte curto e instruções visuais no Minecraft™. O STEVE-1 é treinado em duas etapas: adaptando o modelo VPT pré-treinado para seguir comandos no espaço latente do MineCLIP e, em seguida, treinando um antes para prever códigos latentes a partir do texto. Isso nos permite ajustar o VPT por meio de clonagem comportamental auto-supervisionada e reetiquetagem retrospectiva, reduzindo a necessidade de dispendiosas anotações de texto humanas, e tudo isso por apenas US$ 60 em computação. Ao aproveitar modelos pré-treinados como VPT e MineCLIP e empregar as melhores práticas de geração de imagens condicionadas por texto, o STEVE-1 estabelece um novo padrão para o seguimento aberto de instruções no Minecraft com controles de baixo nível (mouse e teclado) e entradas de pixels brutos, superando em muito as linhas de base anteriores e completando com robustez 12 das 13 tarefas em nosso conjunto de avaliação inicial do jogo. Fornecemos evidências experimentais que destacam os principais fatores para o desempenho posterior, incluindo pré-treinamento, orientação sem classificador e escalonamento de dados. Todos os recursos, incluindo nossos pesos de modelo, roteiros de treinamento e ferramentas de avaliação são disponibilizados para pesquisas futuras.
.
├── 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 rodar no Linux usando um ambiente conda, com 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 com: pip install -e .
Se você estiver executando em um servidor headless, precisará instalar xvfb
e executar cada script python com xvfb-run
. Por exemplo, xvfb-run python script_name.py
.
Além disso, observe que usamos o ambiente MineRL, não o ambiente MineDojo. Portanto, definir MINEDOJO_HEADLESS=1
conforme mencionado nas instruções de 'Instalação do MineDojo' não terá efeito.
Execute o seguinte comando para baixar os dados e pesos:
. download_weights.sh
Para treinar STEVE-1 do zero, execute as seguintes etapas:
. train/1_generate_dataset.sh
. train/2_create_sampling.sh
. train/3_train.sh
. train/4_train_prior.sh
Fornecemos dois scripts para testar o agente com prompts diferentes. Para testar seus próprios agentes treinados, modifique o argumento --in_weights
nos scripts.
. run_agent/1_gen_paper_videos.sh
para gerar os vídeos usados no artigo.. run_agent/2_gen_vid_for_text_prompt.sh
para gerar vídeos para prompts de texto arbitrários.. run_agent/3_run_interactive_session.sh
para iniciar uma sessão interativa com STEVE-1. Isso não funcionará no modo sem cabeça. Por favor, cite nosso artigo se você achar o STEVE-1 útil para sua pesquisa:
@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}
}