このリポジトリには、このブログ投稿とARXIVペーパーで説明されているように、プラグアンドプレイ言語モデル(PPLM)を実行するコードが含まれています。デモとコラブのノートブックも利用できます。
注:PPLMをベースラインとして使用することを計画していて、論文の付録にリストされているパラメーターを使用したい場合は、このフォルダーのLMと判別器を使用してください。または、公正な比較のためにメインディレクトリおよび/または?/変圧器のコード/モデルを使用している場合、ハイパーパランターを独自に調整します(これらのモデル/判別器の最適なパラメーターは、論文で使用されているものから5倍になります)。
PPLMは、 ?/Transformersリポジトリにも統合されています。

著者:スマンス・ダトリ、アンドレア・マドット、ジャニス・ラン、ジェーン・ハング、エリック・フランク、ピエロ・モリノ、ジェイソン・ヨシンスキー、ロザンヌ・リュー
PPLMを使用すると、ユーザーは、目的のステアリング目標を表す1つまたは複数の小さな属性モデルを大規模で無条件の言語モデル(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)add --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します
ルートディレクトリ内の判別器とGPT-2モデルは、論文の分析に使用されるものとは異なります。論文に対応するコードとモデルはここにあります。