Shalev Lifshitz*, Keiran Paster*, Harris Chan†, Jimmy Ba, Sheila McIlraith
Projektseite | ArXiv | PDF
Die Konstruktion von KI-Modellen, die auf Textanweisungen reagieren, ist eine Herausforderung, insbesondere für sequentielle Entscheidungsaufgaben. Diese Arbeit stellt eine von unCLIP inspirierte Methodik zur Anweisungsoptimierung generativer Verhaltensmodelle vor, ohne auf einen großen Datensatz anweisungsgekennzeichneter Trajektorien angewiesen zu sein. Mit dieser Methodik erstellen wir ein anweisungsoptimiertes Video-Pretraining-Modell (VPT) namens STEVE-1, das kurzen, offenen Text- und visuellen Anweisungen in Minecraft™ folgen kann. STEVE-1 wird in zwei Schritten trainiert: Anpassen des vorab trainierten VPT-Modells, um Befehlen im latenten Raum von MineCLIP zu folgen, und anschließendes Training eines Vorherigen, um latente Codes aus Text vorherzusagen. Dies ermöglicht uns die Feinabstimmung von VPT durch selbstüberwachtes Verhaltensklonen und rückwirkendes Umbenennen, wodurch der Bedarf an kostspieligen menschlichen Textanmerkungen reduziert wird, und das alles für nur 60 US-Dollar Rechenleistung. Durch die Nutzung vorab trainierter Modelle wie VPT und MineCLIP und den Einsatz von Best Practices aus der textbedingten Bildgenerierung setzt STEVE-1 neue Maßstäbe für die ergebnisoffene Befolgung von Anweisungen in Minecraft mit Low-Level-Steuerung (Maus und Tastatur) und Rohpixeleingaben. Es übertraf bei weitem frühere Basislinien und erfüllte 12 von 13 Aufgaben in unserer Evaluierungssuite für frühe Spiele mit Bravour. Wir liefern experimentelle Beweise, die Schlüsselfaktoren für die Downstream-Leistung hervorheben, einschließlich Vortraining, klassifikatorfreier Anleitung und Datenskalierung. Alle Ressourcen, einschließlich unserer Modellgewichte, Trainingsskripte und Bewertungstools, werden für weitere Forschung zur Verfügung gestellt.
.
├── 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.
Wir empfehlen die Ausführung unter Linux in einer Conda-Umgebung mit 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
lokal mit: pip install -e .
Wenn Sie auf einem Headless-Server arbeiten, müssen Sie xvfb
installieren und jedes Python-Skript mit xvfb-run
ausführen. Beispiel: xvfb-run python script_name.py
.
Beachten Sie außerdem, dass wir die MineRL-Umgebung verwenden, nicht die MineDojo-Umgebung. Daher hat die Einstellung MINEDOJO_HEADLESS=1
, wie in den Anweisungen zur „MineDojo-Installation“ erwähnt, keine Auswirkung.
Führen Sie den folgenden Befehl aus, um die Daten und Gewichte herunterzuladen:
. download_weights.sh
Um STEVE-1 von Grund auf zu trainieren, führen Sie bitte die folgenden Schritte aus:
. train/1_generate_dataset.sh
. train/2_create_sampling.sh
. train/3_train.sh
. train/4_train_prior.sh
Wir haben zwei Skripte zum Testen des Agenten mit unterschiedlichen Eingabeaufforderungen bereitgestellt. Um Ihre eigenen geschulten Agenten zu testen, ändern Sie bitte das Argument --in_weights
in den Skripten.
. run_agent/1_gen_paper_videos.sh
um die im Artikel verwendeten Videos zu generieren.. run_agent/2_gen_vid_for_text_prompt.sh
um Videos für beliebige Textaufforderungen zu generieren.. run_agent/3_run_interactive_session.sh
um eine interaktive Sitzung mit STEVE-1 zu starten. Dies funktioniert nicht im Headless-Modus. Bitte zitieren Sie unseren Artikel, wenn Sie STEVE-1 für Ihre Forschung nützlich finden:
@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}
}