ชาเลฟ ลิฟชิตซ์*, คีแรน ปาสเตอร์*, แฮร์ริส ชาน†, จิมมี่ บา, ชีลา แมคอิลเรธ
หน้าโครงการ | อาร์ซิฟ | PDF
การสร้างโมเดล AI ที่ตอบสนองต่อคำสั่งข้อความถือเป็นเรื่องท้าทาย โดยเฉพาะสำหรับงานที่ต้องตัดสินใจตามลำดับ งานนี้แนะนำวิธีการที่ได้รับแรงบันดาลใจจาก unCLIP สำหรับการปรับแต่งแบบจำลองพฤติกรรมโดยกำเนิดโดยไม่ต้องอาศัยชุดข้อมูลขนาดใหญ่ของวิถีที่มีป้ายกำกับคำสั่ง ด้วยการใช้วิธีการนี้ เราจึงสร้างโมเดล Video Pretraining (VPT) ที่ปรับแต่งตามคำแนะนำที่เรียกว่า STEVE-1 ซึ่งสามารถทำตามข้อความปลายเปิดระยะสั้นและคำแนะนำแบบภาพใน Minecraft™ STEVE-1 ได้รับการฝึกฝนในสองขั้นตอน: การปรับโมเดล VPT ที่ได้รับการฝึกล่วงหน้าเพื่อปฏิบัติตามคำสั่งในพื้นที่แฝงของ MineCLIP จากนั้นจึงฝึกฝนก่อนที่จะคาดเดารหัสแฝงจากข้อความ สิ่งนี้ช่วยให้เราปรับแต่ง VPT ผ่านการโคลนตามพฤติกรรมที่มีการดูแลตนเองและการติดป้ายกำกับใหม่ ช่วยลดความจำเป็นในการใช้คำอธิบายประกอบแบบข้อความของมนุษย์ที่มีราคาแพง และทั้งหมดนี้ใช้เงินเพียง 60 ดอลลาร์ในการคำนวณ ด้วยการใช้ประโยชน์จากโมเดลที่ได้รับการฝึกล่วงหน้า เช่น VPT และ MineCLIP และใช้แนวทางปฏิบัติที่ดีที่สุดจากการสร้างภาพที่มีเงื่อนไขข้อความ STEVE-1 ได้สร้างมาตรฐานใหม่สำหรับการปฏิบัติตามคำสั่งปลายเปิดใน Minecraft ด้วยการควบคุมระดับต่ำ (เมาส์และคีย์บอร์ด) และอินพุตพิกเซลแบบดิบ มีประสิทธิภาพเหนือกว่าเส้นฐานก่อนหน้าอย่างมากและทำงาน 12 จาก 13 อย่างแข็งแกร่งในชุดประเมินผลช่วงต้นเกมของเรา เราจัดเตรียมหลักฐานการทดลองที่เน้นปัจจัยสำคัญสำหรับประสิทธิภาพขั้นปลาย รวมถึงการฝึกอบรมล่วงหน้า คำแนะนำที่ไม่ต้องใช้ตัวแยกประเภท และการปรับขนาดข้อมูล ทรัพยากรทั้งหมด รวมถึงตุ้มน้ำหนักแบบจำลอง สคริปต์การฝึกอบรม และเครื่องมือประเมินผลของเรามีไว้สำหรับการวิจัยเพิ่มเติม
.
├── 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.
เราขอแนะนำให้รันบน linux โดยใช้สภาพแวดล้อม conda ด้วย 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
ภายในเครื่องด้วย: pip install -e .
หากคุณทำงานบนเซิร์ฟเวอร์ที่ไม่มีส่วนหัว คุณจะต้องติดตั้ง xvfb
และรันสคริปต์ python แต่ละตัวด้วย xvfb-run
ตัวอย่างเช่น xvfb-run python script_name.py
นอกจากนี้ โปรดสังเกตว่าเราใช้สภาพแวดล้อม MineRL ไม่ใช่สภาพแวดล้อม MineDojo ดังนั้น การตั้งค่า MINEDOJO_HEADLESS=1
ตามที่กล่าวไว้ในคำแนะนำ 'การติดตั้ง MineDojo' จะไม่มีผลใดๆ
รันคำสั่งต่อไปนี้เพื่อดาวน์โหลดข้อมูลและน้ำหนัก:
. download_weights.sh
หากต้องการฝึก STEVE-1 ตั้งแต่เริ่มต้น โปรดดำเนินการตามขั้นตอนต่อไปนี้:
. train/1_generate_dataset.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}
}