الكود والبيانات للورق حافظ على الهدوء واستكشف: نماذج اللغة لتوليد الحركة في الألعاب النصية في EMNLP 2020.
يتم الزحف إلى مجموعة بيانات ClubFloyd الخاصة بنا ( calm/lm_data.zip
) من موقع ClubFloyd الإلكتروني وتحتوي على 426 نسخة من اللعب البشري، والتي تغطي 590 لعبة نصية من أنواع وأنماط متنوعة.
تتكون البيانات من 223,527 زوجًا من إجراءات السياق في تنسيق [CLS] observation [SEP] action [SEP] next observation [SEP] next action [SEP]
. نحن نستخدم [CLS] observation [SEP] action [SEP] next observation [SEP]
كسياق لتدريب نماذج اللغة (n-gram، GPT-2) للتنبؤ next action [SEP]
، وإظهار أن قدرة توليد الإجراء هذه تعمم للألعاب غير المرئية ويدعم اللعب عندما يقترن بالتعلم المعزز.
pip install torch==1.4 transformers==2.5.1 jericho fasttext wandb importlib_metadata
git clone https://github.com/princeton-nlp/calm-textgame && cd calm-textgame
ln -s ../lm calm && ln -s ../lm drrn
(إذا فشل تثبيت النقطة لـ fasttext، فجرّب خطوات الإنشاء هنا: https://github.com/facebookresearch/fastText#building-fasttext-for-python)
cd calm
unzip lm_data.zip
python train.py
يمكن تنزيل أوزان النماذج المدربة هنا لكل من طرازي GPT-2 وn-gram.
cd ../drrn
python train.py --rom_path ../games/ ${GAME} --lm_path ${PATH_TO_CALM} --lm_type ${gpt_or_ngram}
from lm import GPT2LM
model = GPT2LM ( "model_weights/gpt2" )
print ( model . generate ( "[CLS] observation [SEP] action [SEP] next observation [SEP]" , k = 30 ))
@inproceedings{yao2020calm,
title={Keep CALM and Explore: Language Models for Action Generation in Text-based Games},
author={Yao, Shunyu and Rao, Rohan and Hausknecht, Matthew and Narasimhan, Karthik},
booktitle={Empirical Methods in Natural Language Processing (EMNLP)},
year={2020}
}
شكرًا جاكلين على استضافة موقع ClubFloyd الرائع ومنحنا حق الاستخدام!
يستعير الكود من TDQN (للجزء RL) و Huggingface Transformers (للجزء CALM).
لأية أسئلة يرجى الاتصال بـ Shunyu Yao <[email protected]>
.