- 링크:
https://arxiv.org/pdf/2103.10385
Background
- Pretrained Model
- Pretrained Model에게 Prompt만 입력하여 NLU task에서 효율적으로 사용 가능
- 게다가 discrete prompt로 높은 성능을 내도록 최적화하는 것은 어려움
- 하지만 manual discrete prompts는 변동성이 있어 하나의 단어를 바꾸는 것만으로도 성능이 크게 감소함
- 기존 연구는 최적의 프롬프트를 serching하는데 집중하였고, instability 문제는 해결하지 못함
- -> 학습 가능한 continuous prompt embeddings 과 discrete prompts를 concat한 P-Tuning 제안
Methods
- P-Tuning
- M: hidden size h, vocabulary size |v|인 모델
- {(xi, yi))}i인 labeled data로 프롬프트 T = {[D0:i, x, [D(i+1):j], y, [D(j+1):k]}
- continuous prompt embeddings와 discrete prompt token을 합쳐서 prompt를 생성
- 이때 continuous 부분은 backpropagation으로 최적화됨
- pseudo token을 prompt encoder인 LSTM 또는 MLPs에 넣어 얻은 embedding tensor로 프롬프트를 구성함
- Discrete Prompt Search vs P-tuning
- Discrete Prompt Search: 모델이 생성한 결과에 따라 reward를 Prompt Generator에게 전달하여 가장 최적의 프롬프트 임베딩 (vocab 바탕)을 생성하도록 함
- P-tuning: 사람이 작성한 prompt는 그대로 두되 프롬프트 앞과 뒤에 학습 가능한 continual prompt embedding을 학습하도록 함. 이때 vocab을 바탕으로 선택하는 것이 아닌 continual한 값으로 학습하고, 성능 개선을 위해 anchor token ("capital") 추가 가능
Experiment & Analysis
- Table 1
- w/o PT의 경우 한 단어의 차이에 따라 큰 성능 하락을 보임
- w/ PT의 경우 다른 discrete prompts 간의 성능 차이를 줄이고 일관되게 높은 성능을 보임
- Table 3, 4
- Manual Prompt, Discrete prompt와 비교하여 P-Tuning이 더 높은 성능을 보임
- 또한 큰 모델일수록 더 높은 성능을 보임
- Table 8
- Prompt Encoder로 어떤 모델을 사용할지에 따른 실험 결과
- Embedding 모델이 가장 높은 성능을 보임
- Figure 1
- 2 NLU benchmarks (LAMA knowledge probing, SuperGLUE)에 대해 실험
- P-Tuning은 PET를 능가
Result
- P-Tuning은 frozen/tuned model 또는 fully-supervised랑 few-shot 모두에서 효과적인 성능을 보임
- SOTA 달성
Limitation
- Tuning을 위한 Labeled data가 필요