본문 바로가기

논문 리뷰/NLP 논문 리뷰

[NLP] (ACL 2022) PPT: Pre-trained Prompt Tuning for Few-shot Learning

소프트 프롬프트를 pre training 단계에 적용하여, 사전학습과 함께 프롬프트를 튜닝하는 방법론에 대한 연구 입니다. 

읽은 날짜  2023.05.22
카테고리   #자연어처리논문리뷰, #프롬프트

 

 


PPT: Pre-trained Prompt Tuning for Few-shot Learning

 


ABSTRACT

(배경) PLM(Pre-trained language model)의 프롬프트는 pre-training task와 다양한 다운스트림 태스크 사이의 gap을 해결하며 주목할 만한 성능을 보여왔다.

(선행연구인) Prompt tuning은 PLM을 freeze해두고 soft prompts만을 튜닝하여, Large-scale PLM을 다운스트림 태스크에 적용하는 데 효율적이고 효과적인 솔루션을 제공한다.

(문제점) 파일럿 실험에서 Prompt tuning은 다운스트림 데이터가 충분한 경우 기존 풀 모델 튜닝과 비슷한 성능을 보이지만, Few shot learning 셋팅에서는 Prompt tuning 적용에 방해가 될 수 있어서, 성능이 훨씬 떨어지는 것으로 나타났다. 아마도 이런 성능저하는 soft prompt를 initializing 하는 방법 때문일 것이다.

(목표) 이 연구에서는, soft prompt를 pre-tranining stage에 추가하여 prompt를 pre-train하는 것을 제안한다. Pre-trained Prompt Tuning 프레임워크 ⇒ "PPT"라고 부른다.

(방법) PPT의 일반화를 위해 유사한 분류 작업을 통합 작업 양식으로 공식화하고 이 통합 작업에 대한 소프트 프롬프트를 사전 학습한다. 광범위한 실험에 따르면 다운스트림 작업에 대해 사전 학습된 프롬프트를 튜닝하면 전체 데이터 및 소수 샷 설정 모두에서 전체 모델 미세 조정에 도달하거나 그 이상의 성능을 발휘할 수 있다.

이러한 접근 방식은 실제로 대규모 PLM을 사용하는 데 효과적이고 효율적이다.

 


1. 등장 배경 

Pre-training 패러다임

  • Masked Language Modeling
  • Task-oriented Fine-tuning
  • Prompt-oriented Fine-tuning
  • Prompt Tuning

다운스트림 태스크에서, Full-model Tuning 단점

  • Downstream Task 별 많은 labeled data 필요
  • 태스크 별로 PLM parameter + 추가 parameter 필요

다운스트림 태스크에서, Prompt의 사용

LAMA: Cloze-style Prompt

  • PLM이 [MASK] token을 맞추게 하는 테스트
  • PLM은 pre-trained 될 때, 대량의 unlabeled corpus를 통해 이미 많은 지식을 담고 있으므로, 인풋을 Close-style로 변형하여 추가적인 Fine-tuning없이 문제를 풀 수 있다.

GPT-3:

  • in-context learning: 모델이 downstream task정보를 pre-train 과정에서 학습하여, fine-tuning없이 다운스트림 태스크 수행 가능 (LAMA와 비슷한 인사이트)
  • 원래 인풋을 language modeling 형태로 변형해도 PLM이 추가적인 Fine-tuning 없이 문제를 풀 수 있다.

(참고)

Cloze-style question: 빈칸을 채우는 문제

Cloze test란: 특정 항목, 단어 또는 기호가 제거된 언어의 일부(Cloze-text)의 빈 칸을 채우는 테스트

언어 유창성 테스트, 또는 지식 테스트의 목적이 있다.

https://en.wikipedia.org/wiki/Cloze_test


2. 목표 

Few-shot learning에서 prompt tuning을 통해 PLM을 효율적, 효과적으로 사용할 수 있게 하는 것이 목표이다.


3. 이론적 기반 

Figure1:Paradigmsofpre-training(maskedlanguagemodeling),full-modeltuning(task-orientedfine-tuning andprompt-orientedfine-tuning),andprompttuning.Theverbalizerisafunctiontomaptasklabelstoconcrete words.〈X〉meansthemaskoftypicalpre-trainedencoder-decodermodels

 

Hard Prompt & Soft Prompt

(1) Hard Prompt: 사람이 해석할 수 있는 형태의 prompt 사용

  • PET (Pattern Exploiting Training):
    • Pre-training Task와 동일한 형태로 Task와 Label을 변환하는 방법(Cloze-style)을 사용하여 Pre-trained LM이 수행할 수 있는 형태로 문제를 재정의.
    • Labeled Training Set T에 PLM Ensemble을 통해 Unlabeled Dataset을 soft labeling하고, 이렇게 생성된 soft labeled dataset으로 classifier를 학습한다.
    • 예) Binary Sentiment Classification
    • Verbalizer역할: 0 또는 1과 같은 숫자로 표현된 outcome을 vocabulary에 속하는 단어로 변환. (예: great, bad)
    • 단점: -Soft-labeled dataset을 만들기 위해 PLM을 pattern(템플릿) 수 만큼 Fine Tuning해야함. -Hard prompt를 만들기 위해 도메인 지식이 필요할 때가 있다.
  • LM-BFF:
    • 장점: Label word 와 Template을 자동으로 생성한다.
    • Label Word 자동생성: Template은 고정한 상태로 각 Class (Positive/Negative) 별 Top-K Vocabulary 집합 구성 후, Label Word 조합(예: great/terrible, good/terrible, good/bad, 등).
      • 이 후, Zero-shot inference의 accuracy 기준으로 top-n개의 label word 조합 선정
    • Template 자동생성: Label word를 고정한 후, T5의 Pre-training objective인 span corruption이용
  • Hard prompt의 단점:
    • prompt 제작에 시간, 노력 필요.
    • 도메인 지식 또는 언어학적 지식 필요.
    • 사소한 차이로도 성능차이가 큼.

(2) Soft Prompt: 사람이 해석할 수 없는 임베딩 형태의 prompt 사용

  • 대체로 Hard prompt보다 성능이 좋다고 함.
  • Prefix-Tuning:
    • 기존 pre-trained LM의 파라미터는 freeze한 상태
    • pre-trained된 Transformer의 encoder/decoder layer별로 learnable soft prompt 를 prefix로 추가
    • 장점: Full-model tuning보다 parameter 업데이트 양이 적다.
  • P-Tuning (2021, “GPT Understands, Too”):
    • 기존 pre-trained LM의 파라미터는 freeze한 상태로, soft prompt만 업데이트
    • hard prompt에 해당하는 pseudo prompts를 생성한 후, Prompt Encoder라는 구조에 통과 시켜서 soft prompt를 얻는다.
    • Inference시에는 soft prompt token들만 사용.
    • Soft prompt 와 hard prompt (Anker token, 예: “?”) 를 함께 사용하는 구조. (이렇게 했더니 성능이 더 좋았음.) 예: [S1][Prompt Tokens][P2] ? [Prompt Tokens][MASK]
    • 기존의 prompt search는 Binary-space 에서 행해졌음.
    • P-Tuning은 continuous한 공간에서 prompt tuning을 수행.
  • Prompt Tuning
    • 기존 pre-trained LM의 파라미터는 freeze한 상태로, input text의 soft prompt만 업데이트 (Prefix-Tuning, P-Tuning에 비해 단순한 구조)
    • Classification Task는 Pattern-Verbalizer Pair (f, v)로 표현 가능 ⇒ PVP 라고 하면 Classification Task임.
    • 장점: intermediate layer나 hard prompt 없이 soft prompt만 사용해서 end-to-end 학습가능
    • 한계점: 다운스트림 태스크에서 데이터가 적을 때 (Few-shot setting), 성능이 낮다.

 


4. 모델/데이터 및 실험 

파일럿 실험 3가지

(1) Hybrid Prompt Tuning

  • Soft prompt만 사용한 경우, Soft prompt와 hard prompt함께 사용한 경우 성능 측정

(2) Verbalizer Selection

  • Verbalizer의 변화에 따른 성능 측정 - 동일한 hard prompt 에서 verbalizer만 바꿔서 측정

(3) Real Word Initialization

  • 다섯가지 Soft prompt initialization 방법에 대하여 성능 측정
  • 실험 결과는 Random initialization이 real word보다 성능이 좋거나, 별 차이없음

⇒ 파일럿 실험 인사이트: Few shot setting에서 위의 (1), (2), (3) 모두 prompt tuning 성능 개선 효과를 가져오는 key factors이다. (하지만 여전히 full model 보다 성능 낮았음.)

Method

-Few shot learning에서 prompt tuning 성능을 높이기 위해 soft prompt를 pre-training 성능 높이기 위해 soft prompt를 pre-train 하는 방법 제안.

-Classification Task(PVP)를 3가지 다운스트림 태스크 그룹으로 묶은 후, 각 그룹을 이용해 soft prompt를 pre-train함. 이 후, 각 다운스트림 태스크의 soft prompt initialization에 사용

3가지 다운스트림 태스크 그룹

(i) Sentence-Pair

  • NSP ⇒ input x = (s_1, s_2) 일 때, labels를 {0, 1, 2}로 확장 ⇒ 0: Irrelevant, 1: Similar, 2: Coherent ⇒ [no, maybe, yes]

(ii) Multiple-Choice

  • 하나의 질문에 정답후보가 여러개가 있고, 실제 정답은 하나.
  • Next Sentence Selection ⇒ Query sentence S_q 가 있을 때, input x = (s_q, s_1, … , s_6) labels y = {1,2,3,4,5,6}

(iii) Single-Sentence Classification

  • 5-class sentiment classification ⇒ input x=(s) 일 때, labels y = {1,2,3,4,5} ⇒ [terrible, bad, maybe, good, great]
  • 한계: RoBERTa_base를 Yelp-5 dataset으로 pretraining했으므로, 다른 데이터셋에 동작안함.

-위의 한계를 해결하기 위하여(?) 모든 태스크를 다 Multiple-choice classification으로 통일함.

⇒ Unified PPT

메인 실험

(1) 실험 셋팅

  • 모델: 영어(T5-XXL), 중국어(CPM-2, mT5)
  • pre-training 데이터셋: 영어(OpenWebText, 10GB), 중국어(WuDaoCorpora, 10GB)
  • 사용한 soft prompt tokens : 100 tokens

(2) 실험 내용

  • Few-shot setting (샘플 32개)에서 각 방법론 별로 성능 비교
    • Full model Tuning (=FT): 트레이닝 데이터로 파라미터 전체 11B 업데이트
    • Vanilla PT: Soft prompt 정규분포로 초기화
    • LM Adaption: LMdmf 10K steps 추가 pre-train
    • Hybrid PPT: (파일럿 실험 참고)Pre-trained soft prompt, hard prompt 함께 사용
    • Unified PPT: (위의 Method참고)

(3) 실험 결과

  • Full model Tuning (=FT): 모델 크기 커짐에 따라 성능 향상
  • Prompt Tuning (=PT)와 PPT 비교:
    • 대부분 PPT가 Vanilla PT, LM Adaptiation 보다 성능이 좋다. Hybrid PT보다는 낮았다.
    • Hybrid PPT는 모든 경우 성능이 우수하다.
  • PPT와 Full model Tuning(=FT) 비교
    • 대부분 PPT가 FT 보다 성능이 좋고, variance 가 낮음.

(4) 추가 실험

  • Sample 수에 따른 성능 비교
    • 32개, 64개, 128개, 256개로 training sample 개수 바꿔가며 성능 측정
    • 샘플 수가 적을 때는 FT>PPT>Vanilla PT 의 성능을 보이고, 샘플 수가 커질 수록 세 방법론이 수렴한다.
    • ⇒ Training samples 적을 수록 prompt를 pre-training하는 방법론에 이득이 있다.
  • Vanilla PT는 학습 시간이 길어서, 수렴 속도가 느리다.

 


 

나의 의견

논문을 선택한 이유

(1) 유명한 논문이기에 읽어보게 되었다.

 

읽고 난 후 의견

  • 최근에 새로운 내용이 마구 나타나서 따라가기 어려웠는데, 이 번 논문을 자세히 정리하면서 prompt tuning 에 대해 다시 정리할 수 있었다.
  • prompt tuning으로 오면서 예전의 큰 모델을, 큰 기업이나 연구실이 아니더라도 영세한 곳이나 학생들도 효율적으로 활용할 수 있게 되었다는 점이 반갑다. Full model fine tuning이 어쨌든 가장 성능이 좋겠지만, 충분한 학습 데이터가 없다면 prompt tuning으로 기존에 학습된 모델을 활용할 수 있어서 매우 효율적이라고 생각한다.
  • 개인적으로는 fine tuning에 비해 prompt tuning은 좀 더 논리적이라는 생각이 든다. fine tuning은 알 수 없는 블랙박스 모델이 어떤 수치가 적당할 지 고심하며 숫자를 골라야 했다면, 그나마 prompt tuning은 (물론 알수없는 부분이 더 많지만) 그래도 이 모델이 “이런 스타일의 언어로 소통했을 때 잘 이해하구나” 의 느낌이다.