พื้นที่เก็บข้อมูลนี้มีรหัสเพื่อเรียกใช้รูปแบบ Plug and Play Language (PPLM) ดังที่อธิบายไว้ใน โพสต์บล็อก นี้และ กระดาษ Arxiv นอกจากนี้ยังมี การสาธิต และ สมุดบันทึก colab
หมายเหตุ: หากคุณวางแผนที่จะใช้ PPLM เป็นพื้นฐานและต้องการใช้พารามิเตอร์ที่ระบุไว้ในภาคผนวกของกระดาษโปรดใช้ LM และ Discriminator จาก โฟลเดอร์ นี้ อีกทางเลือกหนึ่งปรับแต่ง hyperparamters ด้วยตัวเองถ้าคุณใช้รหัส/โมเดลในไดเรกทอรีหลักและ/หรือ ?/transformers สำหรับการเปรียบเทียบที่เป็นธรรม (พารามิเตอร์ที่ดีที่สุดสำหรับโมเดล/discriminators เหล่านี้จะถูกปิดโดยปัจจัย 5 จากที่ใช้ในกระดาษ)
PPLM ยังรวมอยู่ในที่เก็บข้อมูล ?/transformers

ผู้เขียน: Sumanth Dathathri, Andrea Madotto, Janice Lan, Jane Hung, Eric Frank, Piero Molino, Jason Yosinski และ Rosanne Liu
PPLM ช่วยให้ผู้ใช้สามารถเสียบคุณลักษณะเล็ก ๆ น้อย ๆ อย่างน้อยหนึ่งรุ่นที่แสดงถึงวัตถุประสงค์ของพวงมาลัยที่ต้องการในรูปแบบภาษาขนาดใหญ่ที่ไม่มีเงื่อนไข (LM) วิธีการนี้มีคุณสมบัติสำคัญที่ใช้ LM ตามที่เป็นอยู่ -ไม่จำเป็นต้องมีการฝึกอบรมหรือการปรับแต่งอย่างละเอียด-ซึ่งช่วยให้นักวิจัยสามารถใช้ประโยชน์จาก LMS ที่ดีที่สุดแม้ว่าพวกเขาจะไม่มีฮาร์ดแวร์ที่ครอบคลุมในการฝึกอบรม
ดูเพิ่มเติมที่กระดาษ arxiv บล็อกโพสต์และลองด้วยตัวคุณเองโดยไม่มีการตั้งค่าโดยใช้สมุดบันทึก colab
pip install -r requirements.txt @inproceedings{
Dathathri2020Plug,
title={Plug and Play Language Models: A Simple Approach to Controlled Text Generation},
author={Sumanth Dathathri and Andrea Madotto and Janice Lan and Jane Hung and Eric Frank and Piero Molino and Jason Yosinski and Rosanne Liu},
booktitle={International Conference on Learning Representations},
year={2020},
url={https://openreview.net/forum?id=H1edEyBKDS}
}
python run_pplm.py -B military --cond_text " The potato " --length 50 --gamma 1.5 --num_iterations 3 --num_samples 10 --stepsize 0.03 --window_length 5 --kl_scale 0.01 --gm_scale 0.99 --colorama --sample เพิ่ม --stepsize เพื่อเพิ่มความเข้มข้นของการควบคุมหัวข้อและลดค่าของมันเพื่อทำให้การควบคุมอ่อนตัวลง --stepsize 0 กู้คืนรุ่น GPT-2 ที่ไม่สามารถควบคุมได้ดั้งเดิม
หากภาษาที่สร้างขึ้นนั้นซ้ำซาก (สำหรับ "การทดลองวิทยาศาสตร์วิทยาศาสตร์") มีหลายตัวเลือกที่ต้องพิจารณา:
a) ลด --stepsize
b) เพิ่ม --kl_scale (ค่าสัมประสิทธิ์ KL-LOSS) หรือลดลง --gm_scale (คำศัพท์ GM-scaling)
C) เพิ่ม --grad-length xx โดยที่ XX เป็น (จำนวนเต็ม <= ความยาวเช่น --grad-length 30 )
python run_pplm.py -D sentiment --class_label 2 --cond_text " My dog died " --length 50 --gamma 1.0 --num_iterations 10 --num_samples 10 --stepsize 0.04 --kl_scale 0.01 --gm_scale 0.95 --sample เพิ่ม --stepsize เพื่อเพิ่มความเข้มข้นของการควบคุมหัวข้อและลดค่าของมันเพื่อทำให้การควบคุมอ่อนตัวลง --stepsize 0 กู้คืนรุ่น GPT-2 ที่ไม่สามารถควบคุมได้ดั้งเดิม
ใช้ --class_label 3 สำหรับลบและ --class_label 2 สำหรับบวก
Discriminator และรุ่น GPT-2 ในไดเรกทอรีรากนั้นแตกต่างจากที่ใช้สำหรับการวิเคราะห์ในกระดาษ รหัสและโมเดลที่สอดคล้องกับกระดาษสามารถพบได้ที่นี่