The Power of Scale for Parameter-Efficient Prompt Tuning 리뷰

정주경·2022년 9월 14일
0

논문리뷰

목록 보기
2/25

Abstract

이 연구에서, 특정 downstream tasks을 수행하기 위해 frozen 언어 모델을 condition하는 soft prompt를 학습하기 위한 간단하지만 효과적인 메커니즘인 prompt tuning을 볼 것이다.
GPT-3에서 사용되는 개별 텍스트 prompt와 달리, soft prompt는 역전파를 통해 학습되며, 임의의 레이블링된 예제의 signals을 통합하도록 조정될 수 있다.
본 논문의 end-to-end 학습 접근 방식은 GPT-3의 few-shot learning 성능을 크게 능가한다.
더 놀라운 점은 T5를 사용한 모델 크기의 축소를 통해 prompt tuning이 규모에 있어서 더욱 경쟁력이 있음을 보여준다. : 모델이 수십억 개의 매개 변수를 초과함에 따라, 본 논문의 방법은 "갭을 줄이고" 모델 튜닝의 강력한 성능(모든 모델 가중치가 조정되는 경우)과 일치한다.
대형 모델은 공유 및 서비스 비용이 많이 들고 하나의 frozen model을 여러 downstream tasks에 재사용할 수 있기 때문에 이러한 부담을 줄일 수 있기 때문에 이 결과는 특히 중요하다.
이러한 방법은 (논문 : Prefix-Tuning: Optimizing Continuous Prompts for Generation)이 최근 제안된 "prefix tuning"을 단순화한 것으로 볼 수 있으며, 본 논문에서는 이것과 다른 유사한 접근 방식에 대한 비교를 제공한다.
마지막으로, soft prompt로 frozen model을 condition하는 것이 도메인 transfer에 대한 robustness에 이점을 제공하고 효율적인 "prompt ensembling" 을 가능하게 한다는 것을 보여준다.



1. Introduction

대규모 pre-trained 언어 모델의 광범위한 성공으로, 이러한 범용 모델을 downstream tasks에 적응시키기 위한 다양한 기술이 생겨났다.
ELMO는 pre-trained model을 freezing하고 계층별 표현의 작업별 가중치를 학습할 것을 제안했다.

가중치를 freeze
Finetuning vs Freezing : task를 진행하면서 임베딩된 토큰들을 바꾸는지 아닌지에 대한 여부
Finetuning : task를 진행하면서 그에 맞게 (w1, w2, w3)도 바꾸면서 training시킨다.
Freezing: 임베딩 매트릭스를 통해 바뀐 (w1, w2, w3)는 언어모델에서 학습을 시키면서 고정시켜 놓는다.
(w1,w2,w3) = word vector

GPT와 BERT이후로 모든 모델 파라미터를 적응 중에 tuning 하는 model tuning( 또는 fine-tuning) 기술 이 우세했다.


GPT-3, T5, T5, T5
Figure1: T5의 표준 모델 튜닝은 높은 성능을 구현하지만, end task별로 모델의 복사본을 개별적으로 저장해야 한다.
T5의 prompt tuning은 사이즈가 증가함에 따라 모델 튜닝의 품질과 일치하며, 모든 작업에 대해 single frozen model을 재사용할 수 있다.
이러한 접근 방식은 GPT-3를 사용한 few shot prompt 성능을 크게 능가한다.

Prompts는 일반적으로 task의 설명 및/또는 몇가지 표준 예제로 구성된다.
특히 모델 크기가 계속 증가함에 따라 pre-trained model을 "freezing"하는 것은 매력적이다.

prompt-based adaptation에는 몇 가지 단점이 있다.
Task description은 오류가 발색하기 쉽고 사람의 개입이 필요하며, 모델 입력에 적합한 조건부 텍스트 양에 따라 prompt 효과가 제한된다.
결과적으로 downstream task 품질은 여전히 튜닝된 모델에 비해 크게 뒤처진다.
예를 들어 SuperGLUE에서 GPT-3 175B few shot 성능은 fine-tuned T5-XXL보다 16배 많은 매개 변수를 사용햇음에도 불구하고 17.5 point 낮다 (71.8 vs 89.3)


Figure 2: Model tuning은 각 downstream task별로 pre-trained model 전체의 task-specific copy를 만들어야 하며 추론은 개별 batches에서 수행해야 한다.
Prompt tuning은 각 task에 대한 작은 task-specific prompt만 저장하면 되며, original pre-trained model을 사용하여 mixed-task 추론을 가능하게 한다.
T5 XXL 모델의 경우 튜닝된 모델의 각 copy에는 11B 개의 매개 변수가 필요하다.
본 논문에서의 튜닝된 prompt는 prompt length가 5 token이라고 가정할 때 task당 20,480개의 매개 변수(규모 5배 이상 감소)만 필요하다.

"prefix tuning"
이 방법은 모델 매개 변수를 고정하고 입력 계층을 포함하여 인코더 스택의 각 계층에 추가되는 prefix activation를 튜닝하는 동안 오류를 backpropagates합니다.

이 논문에서는 언어 모델 adapting을 위한 단순화한 prompt tuning을 제안한다.
pre-trained model을 freeze하고 입력 텍스트에 추가되는 downstream task당 조정 가능한 k개의 토큰만 허용한다.
"soft prompt"는 end-to-end 학습을 하며 전체 labeled dataset을 압축할 수 있으므로, 이러한 방법이 few shot prompt를 능가하고 모델 튜닝을 통해 품질 격차를 줄일 수 있다.(Figure 1)
동시에, pre-trained 단일 모델이 모든 downstream task에 대해 recycled되므로, frozen model의 효율적인 서비스 이점을 유지한다.(Figure 2)

본 논문은 (중간 계층 prefixes나 task-specific 출력 계층이 없는) prompt tuning만으로도 model tuning과 경쟁하기에 충분하다는 것을 처음으로 보여주었다.
Figure 1에서 prompt tuning은 스케일에 있어서 경쟁력이 있다는 것을 보여준다.

  1. large language model의 체제에서의 model tuning을 통해 prompt tuning을 제안하여 경쟁력을 나타냈다.
  2. 다양한 설계 선택을 줄이고, 규모에 따라 품질과 robustness이 향상된다는 것을 보여줌
  3. prompt tuning이 도메인 이동 문제에 대한 model tuning보다 성능이 우수
  4. "prompt ensembling"제안 및 효과 발휘

2. Prompt Tuning

T5의 "text-to-text" 접근 방식에 따라, 모든 작업을 텍스트 생성으로 캐스팅한다.
몇 가지 입력이 주어진 출력 클래스의 확률로 분류를 모델링하는 대신
Pr(yX)Pr(y|X) 여기서 XX는 일련의 토큰이고 yy는 단일 클래스 레이블이다.
이제 그것을 조건부 생성으로 모델링하는데, 여기서 YY는 클래스 레이블을 나타내는 일련의 토큰이다.
T5모델은 인코더와 디코더를 구성하는 transformer의 가중치 θθ에 의해 매개 변수화된 Pr(YX)Pr(Y|X)로 분류한다.
Prompting은 Y 생성 중 조건에 맞게 모델에게 추가적인 정보를 더하는 접근법이다.
일반적으로 prompt는 입력 X에 일련의 토큰 P를 추가함으로써 수행되고 그렇게 모델 매개변수 θθ를 고정한 채로 모델이 correct , Prθ(Y[P;x])Pr_θ(Y|[P;x]) 가능성을 극대화하도록 한다.
GPT-3에서 prompt token의 표현인 P=P={p1,p2,..,pnp_1, p_2,..,p_n}은 모델의 embedding table의 일부로, frozen θ에 의해 parameterized 됩니다.
따라서 최적의 prompt를 찾으려면 수동으로 하는 search 또는 구별할 수 없는(미분 불가능한) search 방법을 통해, prompt token을 선택해야 합니다.
Prompt tuning은 Prompt P가 θ에 의해 매개 변수화되는 제한을 제거합니다; 대신 prompt에는 업데이트할 수 있는 전용 parameter θPθ_P가 있습니다.
prompt 설계는 고정된 frozen embedding vocabulary에서 prompt tokens을 선택하는 것을 포함하지만, prompt tuning은 이러한 prompt token의 임베딩만 업데이트할 수 있는 특수 토큰의 고정된 prompt를 사용하는 것으로 생각할 수 있습니다.
새로운 조건부 생성은 이제 Prθ;θP(Y[P;X])Pr_{θ;θ_P}(Y|[P;X])이며, backpropagation을 통해, YY의 가능성을 최대화하면서 gradient update를 θPθ_P에만 적용하여 훈련할 수 있습니다.

일련의 n개의 토큰 {x1,x2,...,xnx_1, x_2, ...,x_n}이 주어졌을 때, T5가 가장 먼저 하는 일은 토큰을 embed해서
XeRn×eX_e ∈ R^{n×e}를 형성한다. 여기서 ee는 embedding space의 dimension이다,
soft prompt는 parameter PeRp×eP_e ∈ R^{p×e}로 표현된다. 여기서 pp는 prompt의 길이이다.
그런 다음 prompt는 단일 행렬 [Pe;Xe]R(p+n)×e[P_e;X_e] ∈ R^{(p+n)×e}를 형성하는 embedded input에 연결되며, 이 입력은 정상적으로 encoder-decoder를 통해 흐릅니다.
우리의 모델은 YY의 확률을 최대화하도록 훈련되었지만, prompt parameters PeP_e만 업데이트 됩니다.


2.1 Design Decisions

GPT-3와 같은 autoregressive 언어 모델과 달리, T5모델은 encoder-decoder architecture를 사용하고 span corruption objective에 대해 pre-train합니다.
특히, T5는 unique sentinel token으로 표시된 입력 텍스트에서 mask된 범위를 "reconstruction(재구성)"하는 작업을 수행합니다.
target output text는 sentinel로 구분된 모든 마스킹된 내용과 final sentinel로 구성됩니다.
예를 들어 "Thank you for inviting me to your party last week"라는 텍스트에서
입력이 "Thank you <X><X> me to your party <Y><Y> last week이고 target output이 "<X><X> for inviting <Y><Y> last <Z><Z>"라는 pre-training 예를 구성할 수 있습니다.
(논문: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer)는 이 아키텍처와 pre-training objective가 전통적인 언어 모델링보다 더 효과적이라고 생각하고, 우리는 이 설정이 prompt tuning을 통해 쉽게 제어할 수 있는 frozen model을 생성하는데 적합하지 않다고 가정합니다.
특히, T5.1.1과 같이 span corruption을 위해 pre-trained된 T5 모델은 진정한 natural input text(sentinel token이 없는)를 본 적이 없으며, 진정한 natural target를 예측하도록 요청받은 적도 없습니다.
사실, T5의 span corruption 전처리의 세부 사항으로 인해, 모든 pre-training target은 sentinel로 시작됩니다.
sentinel을 출력하는 이러한 "unnatural(비자연적인)"경향은 fine-tuning을 통해 극복하기는 쉽지만, decoder 우선 순위를 조정할 수 없기 때문에 prompt만으로는 override하는 것은 훨씬 어려울 것이라고 생각합니다.

이러한 것들을 고려하여, 3가지 설정으로 T5모델을 실험합니다.
(1) "Span Corruption": pre-trained 기존의 T5모델을 frozen model로 사용하고, downstream task에 필요한 예상 텍스트를 출력하는 기능을 테스트합니다.
(2) "Span Corruption + Sentinel": 우리는 동일한 모델을 사용하지만, 모든 downstream target 앞에 sentinel을 추가하여 pre-training에서 볼 수 있는 대상과 더 유사하게 만듭니다.
(3) "LM Adaptation": 우리는 소수의 추가 단계에 대해 T5의 self-supervised training을 계속하지만, 입력으로 natural text prefix가 주어지면 모델은 출력으로 natural text를 연속으로 생성해야 하는 "LM"목표를 사용합니다. 결정적으로, 이러한 adaption은 한 번만 이루어지며, 모든 downstream tasks에 걸쳐 prompt tuning하기 위해 재사용할 수 있는 single frozen model을 생성합니다.

LM adaptation을 통해 T5를 항상 현실적인 텍스트를 출력하고 "few-shot learner"로서 prompt에 잘 반응하는 것으로 알려진 GPT-3와 더 유사한 모델로 "빨리" 변환하기를 바랍니다.
후반 단계의 변환이 처음부터 pre-training과 비교하여 얼마나 성공적인지는 분명하지 않으며, 이전에 우리가 아는 한 조사되지 않았습니다.
이와 같이, 최대 100K단계까지 다양한 길이의 adaptation을 실험합니다.



3. Results

우리의 frozen model은 모든 크기(Samll, Base, Large, XL, XXL)의 pre-trained T5 checkpoints를 기반으로 제작되었습니다.
원래 T5.1보다 향상된 기능을 포함한 public T5.1.1 checkpoints를 활용합니다.

개선 사항
(1) pre-training에서 모든 supervised data를 제거하는 것
(2) hyperparameters dmodeld_{model}dffd_{ff}에 대한 조정
(3) ReLU 활성화에 대한 GeGLU의 사용

전체적으로 녹색 '×'로 표시된 "default" 구성은 추가 100K 단계에 대해 학습된 LM-adapted version의 T5를 사용하고, class label을 사용하여 초기화하며(Section 3.2 참조), 토큰 100개의 prompt 길이를 사용합니다.
이것은 (Prefix-tuning: Optimizing continuous prompts for generation)이 사용하는 기본 10 토큰 prefix보다 길지만, 우리의 방법은 모든 네트워크 계층에서 activations을 overwriting하는 것과는 달리 입력 계층만 조정하기 때문에 여전히 더 적은 task-specific parameters를 사용합니다.
자세한 비교는 Figure 4를 참조하세요
또한 모델 크기가 증가함에 따라 훨씬 더 짧은 rpompt가 실행 가능하다는 것을 곧 알게 될 것입니다.

8가지 challenging English language understanding tasks의 집합인 SuperGLUE benchmark에서 성능을 측정합니다.
각 데이터셋과 관련된 개발셋에 대한 metrics를 알립니다.

각 prompt는 single SuperGLUE task에 대해 훈련합니다.
multi-task 설정이나 작업 간에 training data의 mixing이 없었습니다.
각 SuperGLUE dataset를 text-to-text형식으로 변환합니다. 단, 예제가 속한 SuperGLUE task를 나타내는 입력 앞에 추가된 task name을 생략한다.

learning rate 0.3과 32 batcg size로 T5의 standard cross-entropy loss를 사용하여 30,000 steps에 대한 prompt를 학습합니다.
체크포인트는 개발셋의 early stopping를 통해 선택되며, 여기서 stopping metric은 dataset에 대한 기본 metric이거나, multiple metrics으로 평가된 dataset에 대한 metrics의 평균입니다.
모든 실험은 weight decay 1e51e-5, β2β_2 decay 0.8 및 parameter scaling off로 Adafactor optimizer를 사용하여 JAX에서 실행되었습니다.
모델은 Flax에서 구현었습니다.


3.1 Closing the Gap

우리의 방법을 standard model tuning과 비교하기 위해, T5 라이브러리에 지정된 기본 hyperparameters(learning rate 0.001, pre-training parameter가 복원된 Adafactor optimizer)를 사용하여 SuperGLUE에서 public T5.1.1 checkpoint를 조정합니다.
우리는 두 baseline을 고려합니다.
(1) "Model Tuning": apples-to-apples 비교를 위해 prompt tuning에서와 같이 각 작업을 개별적으로 튜닝합니다.

이 baseline을 개선하기 위해, batch size hyperparameter에 대한 sweep를 수행하고 batch당 2162^{16}개의 token을 선택했습니다.

(2) "Model Tuning(Multi-task)": T5의 multi-task tuning 설정을 사용하여 보다 경쟁력 있는 기준을 달성합니다.

T5 SuperGLUE submission은 먼저 multi-task supervised data를 pre-training에 혼합한 다음 single fine-tuning을 수행하는 더 복잡한 설정을 사용했습니다.
전체적으로 T5.1.1을 사용하므로 pre-training 단계가 완전히 self-supervised되므로 이 설정을 사용할 수 없습니다.
batch당 2202^{20}개의 token을 사용하고 multi-task 혼합에 DPR data를 포함하며, 이는 WSC task 성능을 향상시키는 것으로 알려져 있습니다.

이 경우 single model은 작업 이름을 나타내는 text prefix와 함께 모든 작업에성 공동으로 튜닝됩니다.

Figure 1에서 prompt tuning은 규모가 커질수록 model tuning과 더욱 경쟁적으로 변한다는 것을 알 수 있습니다.
XXL 크기(11B parameters)에서 prompt tuning은 task-specific parameters가 20,000배 이상 적음에도 불구하고 더 강력한 multi-task model tuning baseline과 일치합니다.

prompt design과 비교하기 위해, SuperGLUE dev split에 GPT-3 few-shot 성능을 포함한다.

LM-adapted T5 checkpoint와 함께 GPT-3의 수동 텍스트 prompt를 직접 사용하는 실험도 했습니다.
그러나 유사한 모델 크기의 경우 성능은 GPT-3보다 훨씬 낮았습니다.
이는 T5의 짧은 sequence 길이뿐만 아니라 pre-training data와 model architecture의 차이 때문일 수 있습니다.

Figure 1은 prompt-tuned T5-small이 GPT-3 XL(16배 이상)와 일치하고 prompt-tuned T5-Large와 GPT-3 175B(220배 이상)를 능가함으로써 prompt tunign이 GPT-3 prompt design을 큰 폭으로 능가한다는 것을 보여줍니다.


3.2 Ablation Study

Figure 3: prompt tuning 성능에 대한 다양한 hyperparameter의 Ablations(3번의 실행에 대한 평균 및 표준편차)
"기본(초록색)" 구성에서 품질은 모델 크기에 따라 안정적으로 개선됩니다.
모든 ablation에서 가장 큰(XXL) 모델이 hyperparameter 선택에 가장 robust합니다.
(a) Prompt length: 20개 이상의 토큰으로 증가하면 일반적으로 크게 향상되지만 XXL은 single-token prompt에서도 우수한 성능을 발휘합니다.
(b) Prompt initialization: Random uniform initalization는 샘플링된 vocabulary 또는 class label embedding을 사용하는 더 "advanced" 초기화에 뒤쳐지지만 XXL크기에서는 차이가 사라집니다.
(c) Pre-training objective: sentinel이 downstream task target에 추가되더라도 LM adaptation은 span corruption 성능이 우수하지만, XXL은 모든 방법과 잘 작동합니다.
(d) LM adaptation: adaptation이 길수록 일반적으로 더 큰 이득을 얻지만 XXL은 짧은 adaptation에도 robust합니다.

Prompt Length
{1, 5, 20, 100, 150}의 prompt 길이를 변경하고 다른 설정을 기본 구성으로 수정면서 각 모델 크기에 대한 prompt를 훈련합니다.
Figure 3(a)는 대부분의 모델 크기의 경우 우수한 성능을 얻으려면 single token을 넘어 prompt 길이를 늘리는 것이 매우 중요하다는 것을 보여줍니다.
특히, XXL 모델은 single-token prompt로 여전히 좋은 결과를 제공하며, 이는 모델이 클수록 목표 동작을 달성하는 데 필요한 conditioning signal이 덜 필요하다는 것을 시사합니다.
모든 모델에서 20개 이상 토큰을 늘리면 marginal gains만 얻을 수 있습니다.

100개의 토큰을 초과하는 것은 대형 모델에게 약간 해로운 것으로 보입니다.
특정 prefix 길이를 초과하면 성능이 저하되는 유사한 패턴이 관찰됩니다.

Prompt Initialization
다른 hyperparameter를 기본값으로 고정하면서 모든 크기의 모델을 훈련함으로써 prompt initialization의 효과를 제거(ablate)합니다.
random initialization의 경우 [-0.5, 0.5]범위에서 균일하게 표본을 추출합니다.
샘플링된 vocabulary에서 초기화할 때, pre-training corpus의 likelihood로 정렬된 T5의 Setence Piece vocabulary에서 가장 "일반적인" 토큰 5,000개로 제한합니다.
"class label" 초기화를 위해 downstream task에서 각 클래스의 문자열 표현에 대한 임베딩을 사용하여 prompt 에서 token중 하나를 초기화합니다.
class label이 multi-token일 때 token embedding의 평균을 구합니다.
prompt의 길이가 길수록 모든 prompt token을 초기화하기 전에 class label이 부족할 경우가 많습니다.
이 경우, prompt를 채우기 위해 샘플링된 vocab 전략으로 돌아갑니다.

T5가 ReCoRD 및 WSC 작업을 처리하려면 모델이 짧은 자유 형식의 텍스트를 생성해야 합니다.
이 경우 task관련된 단어를 사용하여 prompt를 초기화합니다: ReCoRD에 대한 상식, 추론, 읽기 및 이해와 WSC에 대한 상식, 대명사 및 해결입니다.

Figure 3(b)은 모델 크기에 걸쳐 initialization strategy의 ablation을 보여주며, 여기서 클래스 기반 초기화가 가장 잘 수행된다는 것을 알 수 있습니다.
모델 크기가 작을 경우 서로 다른 초기화 사이에 큰 차이가 있지만 모델이 XXL크기로 조정되면 이러한 차이는 사라집니다.

"class label" 초기화를 통해 class label이 일반적으로 학습된 prompt에서 유지되어 가장 가까운 토큰 임베딩(cosine distance)이 초기화에 사용된 토큰과 일치함을 관찰합니다.
이 외에도, (AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts)과 유사하게 학습된 prompt가 해석 가능하다는 것을 찾지 못했습니다.

Pre-training Objective
Figure 3(c),(d)에서 pre-training objective가 prompt tuning 품질에 분명한 영향을 미치는 것을 알 수 있습니다.
Section 2.2에서 가정한 바와 같이, T5의 기본 "span corruption" objective는 나중에 prompt에 의해 조건화되될 frozen model을 학습하는 데 적합하지 않습니다.
직관적으로, sentinel token을 읽고 쓰도록 pre-trained된 model은 sentinels없이 텍스트를 읽고 쓰는 작업에 직접 적용하기가 어렵습니다.
Figure 3(c)에서 볼 수 있듯이, downstream target에 sentinel을 추가하는 "workaround(회피책)"도 거의 도움이 되지 않습니다.
LM adaptation은 모든 모델 크기에서 value를 더하지만, 가장 큰 XXL 모델이 가장 관대하고 span corruption에도 강력한 결과를 제공합니다.
LM adaptation의 이점을 감안할 때, 적응 기간이 얼마나 도움이 되는지도 살펴봅니다.
Figure 3(d)은 적응 기간이 길수록 최대 100K 단계까지 추가적인 이득을 제공한다는 것을 보여줍니다.
이는 span corruption에서 언어 모델링 목표로의 "transition(전환)"이 사소한 변화가 아니며, 효과적인 전환을 위해서는 training resource(원래 T5 pre-training 단계의 10%)에 대한 투자가 필요함을 시사합니다.
동시에 다른 ablation에서와 마찬가지로 XXL 모델이 비이상적인 구성에도 robust하다는 것을 관찰했습니다.
이 정도 크기라면 adaptation으로 얻는 이득은 아주 미미합니다.

최적이 아닌 "span corruption"설정에서 모델 크기 전반에 걸쳐 불안전성을 관찰했으며 Small 모델이 더 큰 Base, Large 및 XL 모델보다 성능이 우수합니다.
검사에서 많은 작업의 경우 이러한 중간 규모 모델이 legal class label을 출력하는 방법을 전혀 배우지 못하여 0%점수를 획득한다는 것을 발견했습니다.
가장 일반적인 두 가지 오류 모드는 입력에서 하위 span을 복사하고 빈 문자열을 예측하는 것입니다.
또한 이 성능이 떨어지는 것은 각 크기에 대해 3번의 실행에서 낮은 분산이 관찰되기 때문에 prompt tuning의 무작위 분산 때문이 아닙니다.
이러한 결과는 "span corruption" 목표로 pre-trained된 모델을 사용하는 것은 5개 모델중 2개 모델만 잘 작동하여 신뢰할 수 없는 반면 LM adaped 버전은 모든 모델 크기에 걸쳐 안정적으로 작동함을 나타냅니다.
모든 모델 크기에 대해 100K 단계에 대한 LM 목표를 사용하여 T5 1.1 checkpoint를 릴리즈했습니다.

prompt 설계와 비교하기 위해 prompt의 각 token id를 parameter로 계산하고 GPT-3 설정과 일치하도록 500-2000개의 prompt를 가정합니다.
이 기술은 parameter 효율성이 월등히 높지만 작업 품질을 희생합니다.



4.Comparison to Similar Approaches


Figure 4: 다양한 adaptation 기술의 parameter 사용, 아키텍처를 T5.1.1로 고정하고 prompt/prefix 길이를 1-100토큰으로 지정합니다(밴드는 평균 및 stddev를 나타냅니다)
Model Tuning: 모든 parameter는 task-specific하다.
Pre-fix Tuning: Activation은 각 레이어의 prefix에서 조정되며 추론을 위해 0.1-1%의 task-specific paramter가 필요하지만 학습에 더 많이 사용됩니다.
WARP: Task parameter는 입력 및 출력 계층만 조정하여 0.1% 미만으로 감소합니다.
Prompt Tuning: Prompt embedding만 조정되어 대부분의 모델 크기에 대해 0.01% 미만으로 도달합니다.
Prompt Design: 일련의 prompt IDs(500-2000 토큰)만 필요합니다.

이 섹션에서는 지속적인 prompt 학습에 대한 최근 작업을 검토하고, 우리의 방법과 비교합니다.
비교의 중요한 축 중 하나는 Figure 4와 같이 각 방법에 필요한 작업별 파라미터의 수입니다.
학습 가능한 파라미터가 있는 방법 중, prompt tuning은 매개 변수가 10억 개 이상의 모델에 대해 0.01% 미만의 task-specific 파라미터를 요구하는 가장 효율적인 parameter입니다.

Prompt design과 비교하기 위해 prompt의 각 토큰ID를 parameter로 계산하고, GPT-3 설정과 일치하도록 500-2000개의 prompt를 가정합니다.
이 기술은 parameter 효율성이 가장 높지만 작업 품질이 저하됩니다.

"prefix-tuning": 모든 transformer 계층에 추가되는 일련의 prefix를 학습합니다.
이는 모든 네트워크 계층에서 예제에 걸쳐 fix된 transformer 활성화를 학습하는 것과 유사합니다.
이와 대조적으로 prompt tuning은 입력 앞에에 추가되는 단일 prompt representation을 사용합니다.
우리의 접근 방식은 더 적은 parameter를 요구하는 것 외에도, transformer가 입력 예제에 의해 상황에 맞는 중간 계층 task representation을 업데이트할 수 있도록 합니다.
prefix tuning 작업은 GPT-2와 BART를 기반으로 하며, 우리의 작업은 T5에 초점을 맞추고 모델 크기가 증가함에 따라 설계 선택에 대한 성능과 robustness의 변화를 조사합니다.
BART를 사용하는 경우, prefix tuning에는 인코더와 디코더 네트워크 모두에 prefix가 포함되지만, prompt tuning에는 인코더에 대한 prompt만 필요합니다.
orefix tuning은 또한 학습을 안정화하기 위해 prefix의 reprameterization에 의존하는데, 이는 학습중에 많은 수의 parameter를 추가하는 반면, 우리의 구성은 이러한 reparameterization가 필요하지 않으며 SuperGLUE 작업 및 모델 크기에 걸쳐 robust합니다.

(WARP: Word-level Adversarial ReProgramming)은 입력 계층에 prompt parameter가 추가되는 'WARP'를 제안합니다.
이 방법은 masked 언어 모델과 함께 작동하며 [MASK]토큰과 학습 가능한 출력 계층에 의존하여 mask를 class logits에 투영합니다.
이 공식은 모델이 단일 출력을 생성하도록 제한하여 분류로 제한합니다.
Prompt tuning에는 입력 또는 task-specific head를 변경할 필요가 없습니다.
또한 prompt tuning의 성능은 model tuning의 강력한 성능에 상당히 가깝습니다.

학습 가능한 연속 prompt가 내장된 입력 전체에 interleaved되는 "P-tuning"은 인간 설게에 기반한 패턴을 사용합니다.
우리의 접근 방식은 입력에 prompt를 추가하는 것만으로 이러한 복잡성을 제거합니다.
강력한 SuperGLUE 결과를 얻으려면 model tuning과 함께 P-tuning을 사용해야 합니다. 즉, 모델이 prompt 및 주요 모델 parameter를 공동으로 업데이트 하는 반면, 우리의 접근 반식은 원래 언어 모델을 frozen시킵니다.

또 다른 차이점으로, P-tuning은 강력한 성능을 달성하기 위해 입력에 "achor" 토큰(예: RTE task의 가설에 따른 물음표)을 추가해야 하는 반면, prompt tuning은 입력을 건드리지 않습니다.

pre-trained LMs에서 지식을 추출하는 prompt를 학습하기 위해 "soft words"를 사용합니다.
Prompt는 수작업으로 설계된 prompt prototype을 기반으로 입력과 관련하여 배치되며 학습된il∆^l_i parameter가 각 계층에 포함되므로 parameter cost는 모델 깊이에 따라 조정됩니다.

Table 1: SQuAD에서 학습되고 MRQA 2019 공유 작업의 도메인 외 데이터 세트에서 평가된 모델의 F1 평균 및 stddev입니다.
Prompt tuning은 TextbookQA와 같이 도메인 이동이 큰 데이터 세트에서 model tuning보다 더 강력한 zero-shot 성능을 제공하는 경향이 있습니다.

(Few-shot sequence learning with tranformers)은 학습 가능한 추가 토큰을 사용하여 transformer 모델을 다양한 작업에 적응시키지만, 더 큰 실제 데이터 세트와는 달리 구성 작업 표현을 수용하도록 설계된 작은 합성 데이터 세트에 중점을 둡니다.
그들의 기본 모델은 작업 표현과 함께 처음부터 훈련된 small transformer인 반면, 우리는 기본 모델을 frozen하고 더 큰 transformer를 사용하여 스케일링 법칙을 조사합니다.

보다 일반적으로, task prompt에 대한 작업은 frozen pre-trained된 netwrok layer사이에 삽입된 작은 병목 layer인 "adapter"에 대한 작업과 밀접하게 연계됩니다.
Adapter는 task-speicific parameer를 줄이는 또 다른 방법을 제공하며,(Parameter-efficient trnasfer learning for NLP)는 BERT-Large를 freezing하고 2-4%의 추가 parameter만 추가할 때 전체 model tuning에 가까운 GLUE 성능을 달성합니다.
(MAD-X: An Adapter-Based Framework for Multi-Task Cross-Lingual Transfer)은 우리의 접근 방식과 유사하게 작업 사양에서 언어 이해를 명시적으로 분리하기 위해 다국어 context에서 여러 adapter를 사용합니다.
adapter와 prompt tuning의 핵심 차이점은 접근 방식이 모델 동작을 변경하는 방식입니다.
Adapter는 주어진 layer에서 activation을 다시 쓸 수 있도록 하여 신경망에 의해 매개 변수화된 입력 표현에 작용하는 실제 함수를 수정합니다.
Prompt tuning은 함수를 고정된 상태로 두고 후속 입력 처리 방식에 영향을 줄 수 있는 새 입력 표현을 추가하여 동작을 수정합니다.



5. Resilience to Domain Shift

햄심 언어 모델 patameter를 freezing함으로써, prompt tuning은 모델이 언어에 대한 일반적인 이해를 수정하는 것을 방지합니다.
대신 prompt representation은 간접적으로 입력 representation을 변조합니다.
이는 특정 어휘 단서 및 가짜 상관 관계를 기억함으로써 모델의 데이터 세트 overfit 능력을 감소시킵니다.
이 제한은 prompt tuning이 훈련과 평가 간에 입력의 분포가 다른 도메인 이동에 대한robustness를 향상시킬 수 있음을 시사합니다.

우리는 다음 두 가지 작업에 대해 zero-shot domain transfer를 조사합니다: 질문 답변(QA) 및 paraphrase 탐지가 있습니다.
질문 답변을 위해 일반화 MRQA 2019 shared task를 사용합니다.
이 작업은 통합 형식으로 QA dataset을 추출해서 수집하고 "in-domain" 데이터셋에 대해 훈련된 모델이 "out-domain" 데이터셋에서 평가될 떄 어떻게 작동하는지 테스트합니다.
실험을 위해 SQuAD에 대해 학습하고 각 도메인 외부 데이터셋에 대해 evaluate합니다.

SQuAD validation F1을 기준으로 checkpoint를 선택합니다.
out-of-domain dataset은 TextbookQA, RACE, BioASQ, RE, DuoRC 와 DROP이 있다.

Table 1은 prompt tuning이 대부분의 도메인 외 데이터셋에서 model tuning을 능가한다는 것을 보여주며, TextbookQA상의 두 접근 방식 사이에는 12.5 point의 F1 차이가 있습니다.
우리는더 큰 domain 이동의 겨우(예:BioASQ에서 Biomedical로 또는 TextbookQA에서 Textbooks로) prompt tuning을 통해 더 큰 이득을 볼 수 있습니다.
model tuning이 더 나은 데이터셋 중 DROP는 SQuAD와 도메인(위키피디아)을 공유하므로 가장 작은 domain transfer 중 하나임을 알 수 있습니다.

domain shift에 대한 robustness에 대한 두 번째 테스트로 GLUE의 두 가지 paraphrase 탐지 작업 간의 transfer를 탐구합니다.
첫 번째 작업은 QQP로 커뮤니티 Q&A 사이트 Quora에서 두 가지 질문이 "duplicates(중복)"인지 묻습니다.
두 번째 작업은 MRPC로, 뉴스 기사에서 도출된 두 문장이 parahrases인지 묻습니다.
양방향 전송을 테스트합니다(QQR ⇔ MRPC)
이전과 마찬가지로 "in-domain"작업에 대해 학습하고, 도메인 내 validation을 사용하여 체크포인트를 선택하고, "out-of-domain" 작업에 대해 zero-shot을 evaluate합니다.

Table 2: 두 패러프라이즈 탐지 작업 간의 zero-shot 도메인 transfer의 평균 및 stddev입니다.

Table 2는 QQP 데이터에 대하여 간단한 prompt 학습과 MRPC에 평가하는 것이 전체 모델을 튜닝하는 것보다 훨씬 더 나은 성능을 제공한다는것을 보여줍니다.(+3.2 정확도 및 +3.1 F1)
결과는 다른 방향에서 훨씬 더 가깝고, prompt tuning은 정확도가 약간 향상되고 F1이 약간 떨어지는 것을 보여줍니다.
이러한 결과는 model tuning이 over-parameterized되어 training task에 overfit되는 경향이 있어, 다른 도메인의 유사한 작업을 손상시킬 수 있다는 견해를 뒷받침합니다.



6. Prompt Ensembling

동일한 데이터에 대해 서로 다른 초기화를 통해 훈련된 신경 모델의 앙상블은 작업 성능을 향상시키기 위해 널리 관찰되며 모델 불확실성을 추정하는 데 유용합니다.
그러나 모델 크기가 증가함에 따라, 앙상블은 실용적이지 않을 수 있습니다.
N 모델을 저장하는 데 필요한 공간(예: T5-XXL의 각 복사본에 대해 42GiB)을 넘어 병렬이든 직렬이든 N개의 개별 모델을 실행하는 데 상당한 추론 비용이 발생합니다.

prompt tuning은 pre-trained 언어 모델의 여러 adaptation을 합치는 것보다 효율적인 방법을 제공합니다.
동일한 작업에 대해 N개의 prompt를 학습함으로써, 핵심 언어 모델링 parameter를 공유하면서 한 작업에 대해 N개의 개별 "models"을 만듭니다.
prompt ensemble은 storage 비용을 대폭 절감하는 것 외에도 추론을 더욱 효율적으로 만듭니다.
하나의 예를 처리하기 위해, N개의 다른 모델의 forward passes를 계산하는 대신, batch size가 N인 단일 forward pass를 실행하여 batch전체에 예제를 복사하고 prompt를 변경할 수 있습니다.
이러한 절감은 Figure 2의 멀티태스킹에 대한 절감과 유사합니다.

Table 3: 단일 frozen T5-XXL 모델로 구축된 5가지 prompt ensemble의 성능은 5가지 prompt 중 Average와 Best를 초과합니다.

prompt ensembling의 실행 가능성을 보여주기 위해 기본 hyperparameter가 있는 단일 frozen T5-XXL 모델을 사용하여 SuperGLUE task에 대해 5개의 prompt를 학습합니다.
앙상블에서 예측을 계산하기 위해 단순 다수결 투표를 사용합니다.
Table 3은 모든 작업에서 앙상블이 단일 prompt 평균을 능가하고 최상의 개별 prompt를 능가하거나 일치함을 보여줍니다.



7. Interpretability

이상적으로 해석 가능한 prompt는 당면한 작업을 멱확하게 설명하고, 모델에 어떤 결과나 작업을 명시적으로 요청하며, prompt가 모델에서 그러한 행동을 유도한 이유를 쉽게 이해할 수 있는 자연어로 구성됩니다.

prompt tuning이 개별 token 공간이 아닌 연속적인 embedding 공간에서 작동하기 때문에 prompt 해석이 더 어려워집니다.
학습된 soft prompt의 interpretability를 테스트하기 위해 frozen model의 vocabulary에서 각 prompt token에 가장 가까운 이웃을 계산합니다.
유사성 메트릭으로 vocabulary embedding vector와 prompt token representation 사이의 cosine distance를 사용합니다.

학습된 prompt token에 대해 가장 가까운 상위 5개의 이웃이 긴밀한 sematic cluster를 형성한다는 것을 관찰합니다.
예를 들어 {Technology/ technology/ Technologies/ technological/ technologies}와 같이 어휘적으로 유사한 cluster와 {entirely/ completely/ totally/ altogether/ 100%}와 같이 더 다양하지만 여전히 강력하게 관련된 cluster를 볼 수 있습니다.
이러한 클러스터의 특성은 prompt가 실제로 "word-like(단어와 같은)" 표현을 학습하고 있음을 시사합니다.
임베딩 공간에서 가져온 무작위 벡터는 이러한 종류의 sematic clustering을 나타내지 않는다는 것을 발견했습니다.
"class-label"전략을 사용하여 prompt를 초기화할 때, 우리는 종종 class label이 학습을 통해 지속된다는 것을 발견합니다.
특히 prompt token이 지정된 label로 초기화되는 경우 해당 label은 종종 tuning 후 학습된 토큰의 가장 가까운 이웃에 속합니다.
"Random Uniform" 또는 "Sampled Vocab" 방법으로 초기활 때, class label은 prompt의 가장 가까운 이웃에서도 찾을 수 있습니다; 그러나 여러 prompt token의 이웃으로 나타나는 경향이 있습니다.
이는 모델이 prmopt에 예상 출력 클래스를 참조하여 저장하는 방법을 학습하고 있음을 시사하며, 출력 클래스에 대한 prompt를 초기화하면 이 작업이 더 쉽고 centeralized된다는 것을 의미합니다.

더 긴 prompt(예: size 100)를 검사할 때, 가장 가까운 이웃이 동일한 prompt token이 여러 개 있는 경우가 많습니다.
이는 prompt 용량이 초과되었거나 prompt representation에 순차적 구조가 부족하여 모델이 정보를 특정 위치로 localize하기 어렵다는 것을 나타냅니다.

시퀀스로 사용된 학습된 prompt는 interpretability를 거의 보여주지 않지만, 우리는 BoolQ 데이터셋에서 훈련된 prompt에 대한 가장 가까운 이웃으로서 과학, 기술 및 공학과 같은 단어의 높은 빈도를 관찰하며 질문의 20%가 "자연/과학"범주에 있습니다.
더 많은 조사가 필요하지만, 이는 prompt의 한 가지 역할이 특정 도메인 또는 컨텍스트(예: "scientific(과학적)")에서 입력을 해석하기 위해 모델을 최적화하는 것일 수 있음을 시사합니다.



8. Conclusion

본 논문에서, 우리는 prompt tuning이 frozen pre-trained language model을 downstrem task에 적용하기 위한 경쟁력 있는 기술이라는 것을 보여주었습니다.
인기 있는 SuperGLUE benchmark에서 작업 성능은 기존 model tuning에 필적하며 모델 크기가 증가함에 따라 격차가 사라집니다.
zero-shot domain transfer에서 prompt tuning은 일반화를 향상시킨다는 것을 발견했습니다.
이는 범용 언어 이해 parameter를 freezing하고 downstream 학습을 가벼운 parameter footprint로 제한하면 특정 도메인에 대한 overfitting을 방지하는 데 도움이 될 수 있음을 그럴듯하게 나타냅니다.

작업 품질 metrics를 넘어 스토리지 및 서비스 비용 측면에서 frozen pre-trained model로 전환하는 것의 매력에 대해 논의했습니다.
이러한 전환은 효율적인 멀티태스킹 서비스뿐만 아니라 효율적인 고성능 prompt ensembling을 가능하게 합니다.
앞으로 일반적인 언어 모델링 parameter와 구별되는 task-defining의 parameter를 인수분해하는 것은 새로운 연구를 위한 많은 길을 열어주는 흥미로운 단계라고 믿습니다.



추가 : Guiding Frozen Language Models with Learned Soft Prompts 해석

규모가 게속 커지고 있는 대규모 pre-trained 언어 모델은 많은 자연어 처리(NLP) 벤치마크에서 state-of-the-art 결과를 달성한다.
GPT와 BERT의 개발 이후, 표준 관행은 네트워크의 모든 가중치(model tuning)를 조정하는 것을 포함하는 downstream tasks에서 모델을 fine-tuning하는 것이었다.
그러나 모델이 커짐에 따라 downstream task마다 모델의 튜닝된 복사본을 저장하고 제공하는 것은 어려워진다.

매력적인 대안은 모든 downstream task에서 모든 가중치가 고정되는 단일 frozen pre-trained 언어 모델을 공유하는 것이다.
GPT-3는 frozen model이 "in-context" 학습을 통해 다른 작업을 수행하도록 조건화할 수 있다는 것을 설득력 있게 보여주었다.
이 접근방식을 통해 사용자는 특정 task의 모델에 대해 prompt 설계, 즉 자신이 가지고 있는 태스크에 대한 설명 또는 예를 포함한 text prompt를 수작업으로 만드는 것을 준비시키다.
예를 들어, 감정 분석을 위한 모델을 조건화하기 위해, "이 영화는 놀라워" 라는 입력 시퀀스 앞에 "다음 영화 리뷰는 긍정적인가 부정적인가?" 라는 prompt를 붙일 수 있다.

동일한 frozen model을 tasks 간에 공유함으로써 서비스 제공이 대폭 간소화되고 효율적인 mixed-task 추론이 가능하지만 안타깝게도 이는 태스크의 성능을 희생시킨다.
Text prompt는 수동으로 설계해야 하는 노력이 필요하며, 잘 설계된 prompt도 model tuning에 비해 성능이 훨씬 떨어진다.
예를 들어 frozen GPT-3 175B파라미터 모델의 SuperFLUE benchmark의 성능은 800배 적은 파라미터를 사용하는 fine-tuned T5모델에 비해 5점 떨어진다.

우리는 조정 가능한 soft prompt를 사용하여 frozen model을 조절하기 위한 보다 효율적이고 효과적인 방법인 prompt tuning을 탐구한다.
제작된 text prompt와 마찬가지로, soft prompt는 입력 텍스트에 연결된다.
하지만 기존 vocabulary 항목에서 선택하는 것이 아니라 soft prompt의 "token"은 학습 가능한 벡터다.
이는 training dataset에 대해 soft prompt를 end-to-end로 최적화할 수 있음을 의미한다.
수동 설계의 필요성을 제거할 뿐만 아니라, 이를 통해 prompt는 수천 또는 수백만 개의 예제를 포함하는 데이터 세트의 정보를 압축할 수 있다.
이에 비해 discrete text prompt는 모델 입력 길이의 제약으로 인해 일반적으로 50개 미만의 예제로 제한된다.
코드 : https://github.com/google-research/prompt-tuning


prompt tuning은 model tuning의 강력한 작업 성능을 유지하는 동시에 pre-trained model을 frozen시켜 효율적인 멀티태스킹 서비스를 가능하게 한다.

Prompt Tuning

주어진 작업에 대한 soft prompt를 만들려면 먼저 prompt를 고정된 길이 벡터 시퀀스(예: 20 토큰 길이)로 초기화한다.
우리는 이러한 벡터를 각 embedded input 시작 부분에 부착하고 결합된 시퀀스를 모델에 공급한다.
모델의 예측을 target과 비교하여 loss를 계산하고 오차는 back-propagated하여 gradients를 계산하지만, 이러한 gradient updates를 core model을 frozen 상태로 두는 새로운 학습가능한 벡터에만 적용한다.
이러한 방식으로 학습된 soft prompt는 직관적인 수준에서 즉시 해석할 수 없지만, soft prompt는 labeled dataset에서 작업을 수행하는 방법에 대한 증거를 추출하여 수동으로 작성된 text prompt와 동일한 역활을 수행되고 개별 언어로 제한될 필요는 없다.

soft prompt는 매개 변수 공간이 작기 때문에 (우리는 512개의 매개 변수를 사용하여 prompt를 교육한다), 각 입력 에제와 함께 다른 prompt를 모델에 쉽게 전달할 수 있다.
이를 통해 mixed-task 추론 배치가 가능하며, 이는 많은 작업에서 하나의 핵심 모델을 공유하여 서비스를 간소화할 수 있다.


Left: Model Tuning을 사용하면 들어오는 데이터가 작업별 모델로 라우팅된다.
Right: prompt tuning을 통해, 서로 다른 잡어의 예시와 prompt가 single frozen model을 대량으로 흘러보낼 수 있어 서비스 자원을 더 잘 활용할 수 있다.

Improvement with Scale

frozen T5 model을 사용하여 SuperGLUE에서 평가했을 때 prompt tuning은 GPT-3 또는 T5를 사용하는 prompt design를 크게 능가한다.
또한 모델 크기가 증가함에 따라 prompt tuning이 model tuning의 성능 수준을 따라잡는다.
직관적으로, pre-trained model이 클수록, 특정 작업을 실행할 필요 없이 parameter-efficient way으로 더 잘 적응할 수 있다.

규모가 커짐에 따라 25,000배 적은 매개 변수에도 불구하고 prompt tuning이 model tuning과 일치한다.

대형 모델의 개별 복사본을 제공하면 큰 계산 overhead가 방생할 수 있기 때문에 대규모 모델 규모에서의 prompt tuning 효과는 특히 중요하다.
본 논문에서, 5개의 토큰만큼 짧은 soft prompt로도 더 큰 모델을 성공적으로 조절할 수 있음을 보여준다.
T5 XXL의 경우, 2만 개의 파라미터를 조정하는 것만으로, 110억 개의 파라미터 모델의 동작을 이끈다.

Resilience to Domain Shift

prompt tuing의 또 다른 장점은 도메인 이동에 대한 유연성이다.
model tuning은 네트워크의 모든 가중치에 영향을 미치기 때문에 제공된 fine-tuning 데이터에 쉽게 overfit할 수 있는 용량이며 추론 시 작업의 변형에 잘 일반화되지 않을 수 있다.
그에 비해, 학습된 soft prompt는 매개 변수의 수가 적기 때문에, 그것들이 나타내는 솔루션은 더 일반화 될수 있다.

일반화 가능성을 테스트하기 위해, 한 작업에서 prompt tuning 및 model tuning 솔루션을 학습하고 밀접하게 관련된 작업에서 zero-shot을 평가한다.
예를 들어, Quora Question Pairs 작업에 대해 학습하고(즉, 두 질문이 중복되는지 확인) MRPC에 대해 평가할 때(즉, 뉴스 기사의 두 문장이 paraphrases인지 확인), prompt tuning은 model tuning보다 +3.2 point 높은 정확도를 달성한다.

두 개의 paraphrase detection tasks 간의 zero-shot domain trasfer에서는 trasfer 방향에 따라 prompt tuning이 model tuning과 같거나 능가한다.

Looking Forward

Prompt-based learning은 빠르게 발전하고 있는 흥미로운 새로운 분야이다.
Prefix tuning, WARP 및 P-Tuning과 같은 몇 가지 유사한 방법이 제안되었지만, 우리는 그들의 장단점에 대해 논의하고 prompt tuning이 가장 쉽고 파라미터 효율적인 방법임을 보여주고 있다.

0개의 댓글