Repositori ini berisi kode untuk menjalankan Model Bahasa Plug and Play (PPLM), seperti yang dijelaskan dalam posting blog ini dan kertas ArXIV . Demo dan Colab Notebook juga tersedia.
Catatan: Jika Anda berencana menggunakan PPLM sebagai garis dasar, dan ingin menggunakan parameter yang tercantum dalam lampiran kertas, silakan gunakan LM dan diskriminator dari folder ini. Sebagai alternatif, tune hyperparamters sendiri jika Anda menggunakan kode/model di direktori utama dan/atau transformator?
PPLM juga diintegrasikan ke dalam repositori ?/Transformers .

Penulis: Sumanth Dathathri, Andrea Madotto, Janice Lan, Jane Hung, Eric Frank, Piero Molino, Jason Yosinski, dan Rosanne Liu
PPLM memungkinkan pengguna untuk secara fleksibel mencolokkan satu atau lebih model atribut kecil yang mewakili tujuan kemudi yang diinginkan ke dalam model bahasa yang besar dan tanpa syarat (LM). Metode ini memiliki properti utama yang menggunakan LM sebagaimana adanya -tidak ada pelatihan atau penyesuaian yang disempurnakan-yang memungkinkan para peneliti untuk memanfaatkan LMS terbaik di kelasnya bahkan jika mereka tidak memiliki perangkat keras yang diperlukan untuk melatihnya.
Lihat juga kertas arxiv kami, posting blog, dan coba sendiri tanpa pengaturan menggunakan Colab Notebook.
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 Tingkatkan --stepsize untuk mengintensifkan kontrol topik, dan mengurangi nilainya untuk melembutkan kontrol. --stepsize 0 memulihkan model GPT-2 asli yang tidak terkendali.
Jika bahasa yang dihasilkan berulang (misalnya "Eksperimen Sains Sains"), ada beberapa opsi untuk dipertimbangkan:
a) Kurangi --stepsize
b) peningkatan --kl_scale (koefisien KL-loss) atau penurunan --gm_scale (istilah skala GM)
c) Tambah --grad-length xx di mana xx adalah (integer <= panjang, misalnya --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 Tingkatkan --stepsize untuk mengintensifkan kontrol topik, dan mengurangi nilainya untuk melembutkan kontrol. --stepsize 0 memulihkan model GPT-2 asli yang tidak terkendali.
Gunakan --class_label 3 untuk negatif, dan --class_label 2 untuk positif
Diskriminator dan model GPT-2 di direktori root berbeda dari yang digunakan untuk analisis dalam makalah. Kode dan model yang sesuai dengan kertas dapat ditemukan di sini.