Shalev Lifshitz*、Keiran Paster*、Harris Chan†、Jimmy Ba、Sheila McIlraith
項目頁面| ArXiv | PDF
建立響應文字指令的人工智慧模型具有挑戰性,特別是對於順序決策任務。這項工作引入了一種受 unCLIP 啟發的方法,用於在不依賴大量指令標記軌跡資料集的情況下調整行為的生成模型。使用這種方法,我們創建了一個名為 STEVE-1 的指令調整視訊預訓練 (VPT) 模型,該模型可以遵循 Minecraft™ 中的短視野開放式文字和視覺指令。 STEVE-1 的訓練分為兩個步驟:調整預先訓練的 VPT 模型以遵循 MineCLIP 潛在空間中的命令,然後訓練先驗以從文本中預測潛在代碼。這使我們能夠透過自我監督的行為克隆和事後重新標記來微調 VPT,從而減少對昂貴的人類文本註釋的需求,而所有這些只需 60 美元的計算成本。透過利用VPT 和MineCLIP 等預訓練模型,並採用文字條件影像生成的最佳實踐,STEVE-1 透過低階控制(滑鼠和鍵盤)和原始像素輸入,為Minecraft 中的開放式指令遵循設定了新的標準,遠遠優於先前的基準,並穩健地完成了我們早期遊戲評估套件中 13 項任務中的 12 項。我們提供了實驗證據,強調了下游性能的關鍵因素,包括預訓練、無分類器指導和資料擴展。所有資源,包括我們的模型權重、訓練腳本和評估工具,都可用於進一步研究。
.
├── 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.
我們建議使用 conda 環境和 python 3.10 在 Linux 上運行。
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
: pip install -e .
如果您在無頭伺服器上運行,則需要安裝xvfb
並使用xvfb-run
運行每個 python 腳本。例如, xvfb-run python script_name.py
。
另請注意,我們使用 MineRL 環境,而不是 MineDojo 環境。因此,依照「MineDojo 安裝」說明中所述設定MINEDOJO_HEADLESS=1
將不會產生任何效果。
執行以下命令下載資料和權重:
. download_weights.sh
若要從頭開始訓練 STEVE-1,請執行以下步驟:
. train/1_generate_dataset.sh
. train/2_create_sampling.sh
: . train/2_create_sampling.sh
. train/3_train.sh
. train/4_train_prior.sh
我們提供了兩個腳本,用於使用不同的提示來測試代理程式。若要測試您自己訓練過的代理,請修改腳本中的--in_weights
參數。
. run_agent/1_gen_paper_videos.sh
產生論文中使用的影片。. run_agent/2_gen_vid_for_text_prompt.sh
為任意文字提示產生影片。. run_agent/3_run_interactive_session.sh
啟動與 STEVE-1 的互動式會話。這在無頭模式下不起作用。 如果您發現 STEVE-1 對您的研究有用,請引用我們的論文:
@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}
}