기존 파인튜닝의 모든 파라미터를 수정하고 각 태스크마다 카피본을 저장해야하는 문제를 해결하고자, 보다 가벼운 파인 튜닝 방법을 제안함.
Prefix tuning을 사용하면 기존 모델 파라미터는 그대로 두고, 작은 연속적인 task-specific한 벡터만 최적화하면 됨.
파인튜닝에 비해 약 1000배 적은 파라미터만 업데이트하지만, 이와 상응하는 성능을 보임.
Abstract
- Fine-tuning은 대규모 사전학습 언어 모델을 하위 작업에 활용하는 사실상의 표준 방법으로, 이는 모든 언어 모델의 파라미터를 수정해야 하므로 각 작업마다 모델 전체 복사본을 저장해야 하는 단점이 존재함.
- 해당 논문에서는 이를 해결하고자 prefix-tuning이라는 대안적인 가벼운 접근법을 제안함.
- Prefix-tuning은 자연어 생성 태스크를 위해 언어 모델의 파라미터를 유지하면서도, 소규모의 연속적인 작업별 벡터(이를 prefix라고 부름)를 최적화하는 방식임.
- Prefix-tuning은 prompting에서 영감을 받아, 이후 토큰들이 이 prefix를 "가상 토큰"처럼 참조할 수 있도록 함
- GPT-2를 사용해 table-to-text 생성 작업에 적용하고, BART를 사용해 요약 작업에 prefix-tuning을 적용함.
- 실험 결과, 파라미터의 0.1%만 학습하여도 fine-tuning과 비슷한 성능을 달성했고, 저데이터 환경에서는 fine-tuning보다 뛰어난 성능을 보여주었으며, 학습 중 보지 못한 주제의 예시에도 더 잘 일반화하는 능력을 보임.
Introduction
Prefix-tuning은 기존 모델의 파라미터를 고정한 채, task-specific한 연속적인 벡터(이를 prefix라고 부름)를 입력값 앞에 추가하여 학습하는 방식임. 프롬프트(prompt)와 유사한 아이디어에서 출발했지만, 프리픽스는 실제 토큰(단어)에 대응되지 않는 학습 가능한 매개변수들로 구성되어 있음.
Prefix를 통해 작업에 필요한 정보를 트랜스포머에 제공하는 경량화된 방법임. 모든 모델 파라미터를 업데이트하는 기존 fine-tuning과 달리, 프리픽스만 학습하여 효율성과 확장성을 제공합니다. 저장 공간도 절약되며, 여러 작업을 단일 트랜스포머 모델에서 처리할 수 있음. 이를 통해 Transformer를 수정하지 않고도 작업마다 필요한 조정이 가능함.
Related Work
Fine-tuning은 사전학습된 언어 모델의 모든 파라미터를 학습하여 각 작업마다 별도의 복사본을 저장해야 했음. 이는 저장 공간과 계산 자원의 낭비를 초래함.
이후 적은 파라미터만 사용하여 학습하는 PEFT(Parameter Efficient Fine-Tuning) 기법이 연구됨. 예를 들어 Adapter-tuning은 Transformer의 Self Attention Layer와 Feed Forward Layer 앞에 Adapter라는 모듈을 추가하여, 이 모듈만 Fine Tuning을 수행함. LoRA는 저차원 보조 파라미터를 추가하여 효율적으로 학습함. Prefix-tuning은 Adapter-tuning, LoRA(Low-Rank Adaptation) 등의 PEFT 접근법과 비교해도 훨씬 적은 파라미터를 학습하면서도 비슷하거나 더 나은 성능을 보임. 특히, 언어 생성(NLG) 작업에 특화된 성능을 보여줌.
Prompting은 사람이 작성한 텍스트 기반 프롬프트를 사용해 모델을 조정하는 방식임. GPT3는 Task Specific Tuning 없이도 In Context Learning과 적절한 Prompting만으로도 아주 훌륭한 성능을 보임. 하지만 사람이 직접 작성한 프롬프트는 성능 편차가 크고, 컨텍스트 길이 제한 등 여러 한계가 있었음.
Method
본 논문에서는 요약을 위해 GPT2 모델을 사용하고, Table-to-text 태스크를 위해 BART 모델을 사용함.
- Prefix 역할
- 입력 x 앞에 추가된 학습 가능한 벡터로, 학습 가능한 매개변수 $P_\theta$로 초기화됨.
- 학습 방식:
- Transformer는 prefix와 입력을 결합하여 다음 토큰 y를 생성.
- prefix는 학습 가능한 free parameter로, 입력 데이터와 함께 처리되어 Transformer의 attention 메커니즘에 영향을 미침.
Encoder-Decoder 구조에서는 prefix가 입력 와 출력 각각에 별도로 추가되어야 함. 이는 encoder와 decoder의 활성화 벡터를 조정하여 입력과 출력의 처리를 최적화함.
$𝑧=[PREFIX;𝑥 ;PREFIX′;𝑦]$
- Prefix 역할:
- Encoder: 입력 앞에 prefix를 추가하여 context를 학습.
- Decoder: 출력 앞에 prefix를 추가하여 문장 생성 과정을 조정.
- 학습 방식:
- encoder와 decoder 각각에 학습 가능한 prefix를 추가.
- prefix는 활성화 벡터를 조정하여 모델이 작업에 필요한 정보를 효과적으로 반영하도록 도움.
학습 목표 (Training Objective)
Prefix-tuning의 학습 목표는 모델의 기존 언어 모델 파라미터 \phi를 고정한 상태에서, prefix 파라미터 \theta만을 학습하는 것임.

- 직접 prefix 벡터를 최적화하면 학습이 불안정하거나 성능이 저하될 수 있음.
- 이를 해결하기 위해 MLP(Multi-Layer Perceptron)로 재파라미터화하여 학습을 안정화함.
- 작은 차원의 초기 행렬 P'_\theta를 사용하고, 이를 MLP를 통해 큰 차원의 prefix 벡터 P_\theta로 확장하여 학습 안정성을 확보.
- 학습 완료 후, MLP는 제거되고 최종 prefix 벡터만 저장됨.
Results
[Table-to-text Generation]
데이터셋
- E2E: 테이블을 자연어로 변환하는 단일 도메인 데이터셋
- WebNLG: 다양한 도메인을 포함한 RDF 데이터에서 텍스트 생성
- S (Seen): 학습 데이터에서 본 도메인
- U (Unseen): 학습 데이터에 없었던 도메인
- A (All): 전체
- DART: 개방 도메인 테이블-텍스트 변환 데이터셋
평가지표
- BLEU: 생성된 텍스트와 참조 텍스트 간의 단어 수준의 일치율.
- NIST: BLEU의 확장형으로, 정보량을 고려.
- MET: 의미적 일치도 평가.
- ROUGE-L (R-L): 텍스트의 순서를 고려한 가장 긴 공통 부분 수열.
- CIDEr: 사람의 평가와 유사한 성능 지표.
- TER: 낮을수록 좋은 지표로, 편집 거리 기반 평가.
Prefix-tuning은 Fine-tuning 대비 파라미터를 약 1,000배 적게 학습하면서도 비슷한 성능을 달성. 특히, 학습하지 않은 주제(Unseen Domain)에 대해 Fine-tuning보다 우수한 성능을 보여줌.
[Summrization]
데이터셋
- XSUM은 뉴스 기사를 기반으로 한 추상적 요약(Abstractive Summarization) 데이터셋
평가지표
- R-1 (ROUGE-1): 참조 텍스트와 생성된 텍스트 간의 단어 단위 일치 정도
- R-2 (ROUGE-2): 참조 텍스트와 생성된 텍스트 간의 2-그램(n-gram) (연속된 두 단어) 일치 정도
- R-L (ROUGE-L): 참조 텍스트와 생성된 텍스트 간의 가장 긴 공통 부분 수열(Longest Common Subsequence)을 기반으로 일치도를 측정. 텍스트가 얼마나 연속적인 구조(순서 포함)를 유지하면서 참조 텍스트를 따라갔는지를 보여줌
요약 작업에서는 Table-to-Text보다 상대적으로 성능 차이가 적었음. 이는 Summarization 작업이 Table-to-Text 작업보다 더 많은 데이터와 긴 입력을 요구하며, 독해(comprehension)가 중요한 작업이기 때문임. Table to Text 문제에서는 Full Fine Tuning 방식보다 더 좋은 성능을 보였는데, 왜 Summarization 문제에서는 아닌지 보면, XSUM 데이터셋이 약 4배 정도 크고, Article 길이가 17배 정도로 길고 요약 문제는 독해 능력이 중요하기 때문에 그럴 수도 있음.
[Low Data Setting]
Fine-tuning과 Prefix-tuning을 비교한 결과, 데이터가 적을수록 Prefix-tuning이 Fine-tuning보다 성능이 뛰어남. 이는 저데이터 환경에서 Prefix-tuning의 강점을 보여줌.
[Extrapolation]
Table to Text와 Summarization 문제에서 Unseen Topic에 대한 성능을 비교함.
Prefix-tuning은 학습하지 않은 주제에 대해 Fine-tuning보다 더 강건한 성능을 보였음. 이는 모델의 기존 파라미터를 수정하지 않는 PEFT 방식이 일반화에 유리하다는 점을 시사함.
Discussion & Conclusion
- 계산 효율성: 학습 및 저장 비용을 크게 절감.
- 적응성: 다양한 작업에 쉽게 확장 가능.
- 모듈화: 사용자별 또는 작업별로 별도의 prefix를 사용하여 개인화(personalization) 가능.
- 일반화 능력: Unseen 데이터에 대한 강건한 성능.
- Prefix가 길어질수록 모델이 처리할 수 있는 제한된 길이에서 더 많은 자리를 차지하는 것이기 때문에 input length에 제약이 생김
- Input에 continuous vector를 추가하는 여타 다른 prompt tuning 방식들에 비해 더 많은 parameter를 필요로 함