P-tuning leverages few continuous free parameters to serve as prompts fed as the input to the pre-trained language models. We then optimize the continuous prompts using gradient descent as an alternative to discrete prompt searching.
discrete prompts의 경우 특정 template T를 만들어내는 함수가 p라고 하면,
ex. The capital of Britain is [MASK] -> {e(The),e(capital),e(of),e(Britain),e(is),e([Mask])}
continuous prompts의 경우 prompt 부분이 임의의 pseudo token(e.g. [PROMPT])의 sequence로 교체된다. 여기서 h는 pseudo token을 임베딩하는 모델인 프롬프트 인코더를 의미하며 논문에서는 bidirectional LSTM에 two-layer MLP를 얹은 model을 사용하였습니다.
ex. [PROMPT] ... [PROMPT] Britain [PROMPT] ... [PROMPT][MASK] -> {h([PROMPT]),h([PROMPT]),...,e(Britain),h([PROMPT]),...,h([PROMPT]),e([Mask])}
본 논문에서는 knowledge probing(LAMA)와 superglue에 1. Manual Prompt(MP), 2. Fine-tuning(FT), 3. Manual Prompt with Fine-tuning(MP+FT), 4. P-tuning 방법론으로 실험을 진행하였는데, LAMA에서는 P-tuning을 활용하는 방법이 다른 방법론들에 비해 대체적으로 성능이 좋음을 확인할 수 있었다. 특히 P-tuning의 경우 사전학습된 가중치를 업데이트하지 않고 프롬프트 인코더의 가중치만 업데이트 하기 때문에 파인튜닝과 달리 상대적으로 큰 모델을 사용할 수 있는 장점이 있다.
LoRA는 사전 학습된 모델의 중간 중간에 adapter layer를 넣어 pretrained layer 와 adapter layer의 결과를 합쳐러 출력값을 생성한다.
Reference
https://arxiv.org/abs/2103.10385