이 저장소에는이 블로그 게시물 및 ARXIV 용지 에 설명 된대로 플러그 앤 플레이어 모델 (PPLM)을 실행하는 코드가 포함되어 있습니다. 데모 및 콜랩 노트 도 있습니다.
참고 : PPLM을 기준선으로 사용할 계획이고 논문의 부록에 나열된 매개 변수를 사용하려면이 폴더 의 LM과 판별자를 사용하십시오. 또는 메인 디렉토리의 코드/모델을 사용하는 경우 하이퍼 파 램터를 직접 조정하거나 ?/또는 트랜스포머를 공정한 비교 (이 모델/판별기의 최적 매개 변수는 논문에 사용 된 것과 거의 5 배로 꺼집니다).
PPLM은 또한 ?/Transformers 저장소에 통합됩니다.

저자 : Sumanth Dathathri, Andrea Madotto, Janice Lan, Jane Hung, Eric Frank, Piero Molino, Jason Yosinski 및 Rosanne Liu
PPLM을 사용하면 원하는 스티어링 목표를 크고 무조건 언어 모델 (LM)으로 나타내는 하나 이상의 작은 속성 모델을 유연하게 연결할 수 있습니다. 이 방법은 LM을 그대로 사용하는 핵심 속성을 가지고 있습니다 (교육 또는 미세 조정이 필요하지 않음)은 연구원이 교육에 필요한 광범위한 하드웨어가 없더라도 동급 최고의 LM을 활용할 수있게합니다.
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 스케일링 용어)
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 긍정적으로 사용하십시오.
루트 디렉토리의 판별 자 및 GPT-2 모델은 논문의 분석에 사용 된 것과 다릅니다. 논문에 해당하는 코드 및 모델은 여기에서 찾을 수 있습니다.