การแก้ไขข้อเท็จจริงหลายพันรายการลงในหน่วยความจำของ Transformer ในคราวเดียว
เราขอแนะนำ conda
สำหรับการจัดการ Python, CUDA และ PyTorch pip
มีไว้สำหรับทุกสิ่งทุกอย่าง ในการเริ่มต้น เพียงติดตั้ง conda
และรัน:
CONDA_HOME= $CONDA_HOME ./scripts/setup_conda.sh
$CONDA_HOME
ควรเป็นเส้นทางไปยังการติดตั้ง conda
ของคุณ เช่น ~/miniconda3
notebooks/memit.ipynb
สาธิต MEMIT API นั้นเรียบง่าย เพียงระบุ คำขอเขียนซ้ำ ของแบบฟอร์มต่อไปนี้:
request = [
{
"prompt" : "{} plays the sport of" ,
"subject" : "LeBron James" ,
"target_new" : {
"str" : "football"
}
},
{
"prompt" : "{} plays the sport of" ,
"subject" : "Michael Jordan" ,
"target_new" : {
"str" : "baseball"
}
},
]
ตัวอย่างอื่นที่คล้ายคลึงกันรวมอยู่ในสมุดบันทึก
experiments/evaluate.py
สามารถใช้เพื่อประเมินวิธีการใดๆ ใน baselines/
ตัวอย่างเช่น:
python3 -m experiments.evaluate
--alg_name=MEMIT
--model_name=EleutherAI/gpt-j-6B
--hparams_fname=EleutherAI_gpt-j-6B.json
--num_edits=10000
--use_cache
ผลลัพธ์จากการรันแต่ละครั้งจะถูกเก็บไว้ที่ results/<method_name>/run_<run_id>
ในรูปแบบเฉพาะ:
results/
| __ MEMIT/
| __ run_ < run_id > /
| __ params.json
| __ case_0.json
| __ case_1.json
| __ ...
| __ case_10000.json
หากต้องการสรุปผลลัพธ์ คุณสามารถใช้ experiments/summarize.py
:
python3 -m experiments.summarize --dir_name=MEMIT --runs=run_ < run 1> ,run_ < run 2>
การรัน python3 -m experiments.evaluate -h
หรือ python3 -m experiments.summarize -h
ให้รายละเอียดเกี่ยวกับแฟล็กบรรทัดคำสั่ง
@article { meng2022memit ,
title = { Mass Editing Memory in a Transformer } ,
author = { Kevin Meng and Sen Sharma, Arnab and Alex Andonian and Yonatan Belinkov and David Bau } ,
journal = { arXiv preprint arXiv:2210.07229 } ,
year = { 2022 }
}