พื้นที่เก็บข้อมูลนี้มีโค้ดสำหรับรายงานการเรียนรู้การสร้างแบบจำลองโลกด้วยภาษา เราขอแนะนำ Dynalang ตัวแทนที่ใช้ภาษาหลากหลายประเภทในการแก้ปัญหาโดยใช้ภาษาเพื่อทำนายอนาคตผ่านแบบจำลองโลกหลายรูปแบบ
สำหรับข้อมูลเพิ่มเติม โปรดดูที่:
ติดตั้งการพึ่งพา:
pip install -e .
ติดตั้งสภาพแวดล้อม HomeGrid และรันสคริปต์การฝึกอบรมตัวอย่างด้วยชื่องาน ( homegrid_task
, homegrid_future
, homegrid_dynamics
หรือ homegrid_corrections
):
pip install homegrid
sh scripts/run_homegrid.sh homegrid_task EXP_NAME GPU_IDS SEED
sudo apt-get install
libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
libsdl1.2-dev libsmpeg-dev subversion libportmidi-dev ffmpeg
libswscale-dev libavformat-dev libavcodec-dev libfreetype6-dev
git clone https://github.com/ahjwang/messenger-emma
pip install -e messenger-emma
ดาวน์โหลดประโยคที่ฝังไว้ล่วงหน้าจาก Google Drive และวางไฟล์ pkl
ลงใน dynalang/embodied/envs/data
รันสคริปต์การฝึกตัวอย่างสำหรับ s1, s2 หรือ s3:
sh scripts/run_messenger_s1.sh EXP_NAME GPU_IDS SEED
conda create -n dynalang-vln python=3.8
pip install " jax[cuda11_cudnn82]==0.4.8 " -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
pip install torch torchvision
conda env update -f env_vln.yml
conda install -c aihabitat -c conda-forge habitat-sim=0.1.7 headless
git clone https://github.com/jlin816/VLN-CE VLN_CE
git clone https://github.com/jlin816/habitat-lab habitat_lab
conda create -n py27 python=2.7
conda activate py27
python scripts/download_mp.py --task habitat -o VLN_CE/data/scene_datasets/mp3d/
cd VLN_CE/data/scene_datasets
unzip mp3d/v1/tasks/mp3d_habitat.zip
conda deactivate
ตอนนี้ควรเติมฉากลงในไดเร็กทอรีภายใต้ VLN_CE/data/scene_datasets/mp3d/{scene_dir}/...
mkdir -p VLN_CE/data/datasets
cd VLN_CE/data/datasets
gdown https://drive.google.com/uc ? id=1kQ_at68wiK2vAmlWbjJ4EDrLtaM0nfkR
unzip R2R_VLNCE_v1-3_preprocessed.zip
ดาวน์โหลดประโยคที่ฝังไว้ล่วงหน้าจาก Google Drive และวางไฟล์ pkl
ลงใน dynalang/embodied/envs/data
รันสคริปต์การฝึกอบรมตัวอย่าง:
sh scripts/run_vln.sh EXP_NAME GPU_IDS SEED
LangRoom จะต้องเรียกใช้จากสาขา langroom
ซึ่งมีการเปลี่ยนแปลงเพื่อรองรับพื้นที่การดำเนินการพจนานุกรมของ LangRoom สำหรับการเคลื่อนไหวและการพูดพร้อมกัน ติดตั้งสภาพแวดล้อม LangRoom และรันสคริปต์การฝึกอบรมตัวอย่าง:
git checkout langroom
pip install langroom
sh run_langroom.sh EXP_NAME GPU_IDS SEED
ติดตั้งการขึ้นต่อกันเพิ่มเติมและเรียกใช้สคริปต์การฝึกตัวอย่างเพื่อฝึกบน TinyStories ตามค่าเริ่มต้น สคริปต์จะเริ่มต้นโมเดลด้วยพื้นที่การสังเกตและการดำเนินการของงาน Messenger S2 และติดตามการสูญเสียบัฟเฟอร์การเล่นซ้ำขณะฝึก คุณจะต้องส่งเส้นทางไปยังไดเร็กทอรี .../episodes/
(ที่มีส่วน .npz
) ของ Messenger S2 agent ก่อนหน้า หากคุณต้องการทำเช่นเดียวกัน
pip install datasets
sh scripts/pretrain_text.sh EXP_NAME GPU_IDS SEED roneneldan/TinyStories /PATH/TO/EVAL/REPLAY/EPISODES
หากต้องการโหลดโมเดลโลกที่ได้รับการฝึกล่วงหน้าลงในเอเจนต์เพื่อการปรับแต่ง ให้รันสคริปต์ฝึกด้วยแฟล็กต่อไปนี้ ( load_wm_ckpt
โหลดเฉพาะน้ำหนักของโมเดลโลกและเริ่มต้นส่วนที่เหลือของเอเจนต์ตั้งแต่เริ่มต้น):
python dynalang/train.py
--load_wm_ckpt True
--run.from_checkpoint /path/to/pretraining/checkpoint.pkl
...
sh run_messenger_s3.sh EXP_NAME 0,1,2,3 SEED --jax.train_devices 0,1,2,3 --jax.policy_devices 0
parallel
เพื่อเร่งความเร็วในการฝึก ดู scripts/run_vln.sh
สำหรับตัวอย่างrepo นี้ดัดแปลงมาจาก DreamerV3
@article{lin2023learning,
title={Learning to Model the World with Language},
author={Jessy Lin and Yuqing Du and Olivia Watkins and Danijar Hafner and Pieter Abbeel and Dan Klein and Anca Dragan},
year={2023},
eprint={2308.01399},
archivePrefix={arXiv},
}