본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Natural Language Processing

[2023-2] 김민재 - Plug and Play Language Models: A Simple Approach to Controlled Text Generation

by MJKM 2024. 1. 9.

원본 논문 링크 : https://paperswithcode.com/paper/plug-and-play-language-models-a-simple

Motivation

  • 이 논문의 목적은 생성 모델에서 텍스트가 생성될 때 원하는 방향으로 생성되는 것이다.
  • 예를 들어, 기존 모델인 GPT-2의 경우 Input으로 부정적인 문장을 넣을 경우 그 뒤 생성되는 문장들이 부정적으로 생성된다. 즉 Input 문장의 방향에 따라 그 뒤에 생성되는 문장의 방향도 결정된다. 그러나, 이 논문에서는 Input에 넣은 문장의 방향과 상관없이 원하는 방향으로 문장을 생성하는 것을 목적으로 한다.
  • 그러나, 원하는 방향으로 문장을 생성하기 위해 조건 a를 추가하여 p(x|a)를 학습시킬 때 문장이 제대로 생성되는지 평가하기가 어렵다. 평가 방법을 정하는 것도 어렵고 많은 Dataset이 필요하기 때문이다.
  • 그래서 논문에서는 Bayes' rule을 이용하여 p(a|x)를 학습시키는 방식인 PPLM으로 조금 더 쉽게 학습을 시킨다.

Related Work

  • 기존 Language Model인 GPT-2나 CTRL에 비해서 PPLM의 경우 학습하는 parameter의 양이 훨씬 적다.
  • 또한, 적합한 데이터를 추출하기 위해 Fine-tuning 과정이 있는 GPT-2와 달리 PPLM은 그 과정이 없다.

Plug and Play Language Models

Language Modeling with Transformers

  • Language Model : 이전 단어 sequence를 입력 받아 다음 단어를 예측한다.

  • Transformer for Language Model : Query, Key, Value를 이용한 Attention Layer를 이용하여 이전 단어들을 기반으로 다음 단어를 예측한다.(Query : 바로 이전 단어 + 현재 포지션 값, Key, Value : 이전에 나온 모든 단어들)

History Matrix : i번째 Layer가 0번째부터 t번째까지 생성한 Key Value Pair

 

Steering Generation: Ascending log p(a|x)

  • 이전 단어를 기반으로 다음 단어를 생성한다.

  • Attribute Model에 현재 output을 입력한다.

다음 단어로 예측한 확률 분포에서 긍정적인 단어의 확률의 합

  • log p(a|x) 값을 높이는 방향으로 그래디언트 값을 계산해서 key value에 다시 넣어준다.

  • 다시 다음 단어를 계산한 후 Attribute Model에 넣어준다. 매 단어를 생성할 때마다 위 과정을 3~10회 진행한다.

 

Ensuring Fluency: Ascending log p(x)

KL Divergence

  • 업데이트 된 output과 업데이트 되기 전 GPT-2로 생성된 output의 distribution의 KL Divergence가 최소화 되도록 H_t를 학습한다.

 

Post-norm Geometric Mean Fusion

  • 학습에 영향을 미치지는 않으며, 업데이트 된 H_t를 기반으로 구한 다음 단어의 확률과 업데이트 되기 전 H_t를 기반으로 구한 다음 단어의 확률을 적절히 조합하여 다음 단어를 구한다.

Sampling and Ranking

  • 여러 개의 샘플 문장을 만들어서 각 문장별로 순위를 매겨 가장 높은 순위인 것을 선택한다.

Experiments, Results, and Evaluation

BoW Attribute Models

  • Input을 모두 똑같이 "The issue focused"를 넣었음에도 불구하고 원하는 Topic에 맞게 결과가 생성된 것을 확인할 수 있다.
    • Red : BoW에 속한 단어
    • Soft Red : BoW에 없으나 Topic에 가까운 단어

  • Method 설명
    • B : unchanged GPT-2, sampled once
    • BR: B but sampled r times, with best chosen
    • BC: update latent representation, sampled once
    • BCR: BC but sampled r times, with best chosen
    • CTRL (salesforce, 2019) : 1.62 billion transformer
    • GPT2-FT-RL (OpenAI, 2019): GPT-2 LM fine-tuned for human evaluated positivity with RL
    • WD (2017): weighted decoding, directly toward maximizing p(a|x)
  • GPT-2와 비슷한 다양성을 가지고 있으나 이보다 더 Topic에 가까운 문장을 생성하는 것을 확인할 수 있다.
  • 또한 Sampling보다 Gradient를 계산해서 업데이트 하는 것이 점수 차이가 큰 것을 확인할 수 있다. 즉, latent space 내에서 shifting을 하는 것이 output distribution을 조절하는 것보다 더 좋은 성과를 낸다는 것이다.

Discriminator Attribute Models

  • attribute로 positive, negative를 제시하였고 이에 따라 각각 attribute에 맞게  문장을 만들어 낸 것을 확인할 수 있다.

Language Detoxification

  • Dataset에 bias가 있어 차별, 혐오 표현 등이 학습이 되는 것을 막기 위해 BoW에 bias한 단어들을 모아 이러한 단어들의 발생 확률이 낮아지도록 학습하여 bias를 줄이는 Language Detoxification을 할 수 있다.