[자연언어처리 개론] PEFT
LLM을 다양한 분야에 활용하기 위해선, pretrain된 모델을 다양한 downstream task에 맞게 조정하는 과정이 필요하다.
Examples of Downstream tasks
- Summarization
- Translation
- Closed-book QA (Question Answering)
- Open-book QA
- Code generation
- Information Extraction
이러한 과제에는 Wikipedia 등 이미 공개된 대규모 데이터를 데이터셋으로 만들어 훈련 및 평가에 사용한다. 최신 언어모델의 전반적인 언어 이해 능력을 평가하는 데는 여러 downstream task의 성능을 모두 평가하는데, 주로 BIGBench [2]와 같은 벤치마크가 쓰인다.
이렇게 많은 데이터셋에 대해 매번 모델을 fine-tuning하는 것은 비용이 매우 많이 든다. 이 포스트에서는 그 대안에 해당하는 PEFT에 대해 알아보겠다.
PEFT (Parameter Efficient Fine Tuning)
PEFT란 Full-fine tuning보다 적은 파라미터를 학습시키면서도 이와 유사한 downstream task 성능을 보일 수 있도록 하는 기술들을 총칭한다. 위의 프롬프트 엔지니어링 단락에서 소개된 Prefix tuning도 PEFT에 해당한다고 볼 수 있다. 이 단락에서는 거기에 더해 효과적인 PEFT 방법으로 알려진 Adapter와 LoRA에 대해 소개하고자 한다.
Adapter Tuning
Houlsby et al. (2019) [3] 은 Transformer 기반 모델을 더 빠르고 효과적으로 fine-tuning하기 위한 Adapter 구조를 제시했다. Transformer를 이루는 attention layer와 feed-forward layer를 전부 다시 학습하는 대신, 사이사이에 작은 adapter layer를 끼워넣어 이들의 파라미터만을 학습시킨다. Adapter layer는 feedforward보다 적은 파라미터 수로 작동하기 위해 아래 그림과 같이 같이 bottleneck 구조로 만들어진다.
LoRA (Low-Rank Adaptation)
Microsoft에서 발표한 LoRA (Hu et al., 2022) [4]는 low-rank 공간에서 파라미터를 fine-tuning하는 방법이다. 아래 그림과 같이 하나의 feedforward layer에서 weight에 해당하는 행렬 W를 W+BA로 대체한다. 그리고 W를 비롯한 모든 pretrain된 파라미터를 freeze하고, B와 A만을 fine-tuning한다. 즉 행렬 B와 A는 pretrained 모델과 finetuned 모델의 '차이'를 low-rank에서 학습하는 것이다. LoRA를 이용해 fine-tuning을 하면, task에 따라 여러 B, A를 만들어 놓고 필요에 따라 바꿔 끼울 수 있다.
여기서 BA는 W보다 rank가 낮은 행렬이기 때문에 W보다 훨씬 적은 개수의 파라미터를 갖는다. 즉 원래의 feedforward layer 전체를 학습하는 것보다 훨씬 효율적이다. 이 방법은 LLM의 fine-tuning을 위해서는 pretrained 상태에서 '저차원의' 변화만 주어도 충분하다는 것을 암시한다.
References
- 황승원 교수님 강의노트
- Srivastava, A., Rastogi, A., Rao, A., Shoeb, A. A. M., Abid, A., Fisch, A., ... & Wang, G. X. (2023). Beyond the imitation game: Quantifying and extrapolating the capabilities of language models. Transactions on machine learning research.
- Houlsby, N., Giurgiu, A., Jastrzebski, S., Morrone, B., De Laroussilhe, Q., Gesmundo, A., ... & Gelly, S. (2019, May). Parameter-efficient transfer learning for NLP. In International conference on machine learning (pp. 2790-2799). PMLR.
- Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., ... & Chen, W. (2022). Lora: Low-rank adaptation of large language models. ICLR, 1(2), 3