0.요약

큰 모델을 학습할수록 재훈련하는 파인튜닝은 어렵다. 이 연구는 사전 학습된 파라미터를 Freeze하고 트랜스포머 아키텍처의 각 층에 학습 가능한 랭크 분해 행렬을 주입하여 Downstream task에 대한 learnable parameter 수를 크게 줄이는 Low-Rank Adaptation(LoRA)를 제안한다.

 

1.서론

  • 최근 연구들은 Pretrained 모델을 개발하고 -> DownStream Task에 맞춰 파인튜닝을 한다.
  • 허나 이는 모든 파라미터를 업데이트 해야한다는 점이 있으며 GPT3가 나오면서 불가능에 가까워졌다.
  • 이 연구는 Li et al. (2018a), Aghajanyan et al. (2020)에서, 학습된 매개변수가 low intrinsic dimension으로 설명이 가능하다는 것에 영감을 얻었다.
  • 이 연구에서는 가설을 세우는데, change in weights during model adaption also has a low intrinsic rank, leading to our proposed LowRankAdaption approach. 비약이 있지만 간략하게 말하자면, 적은 차원으로 본래 모델의 성능을 복원할 수 있다.
  • LoRA를 사용하면 사전 학습된 모델 가중치를 고정하고 트랜스포머 아키텍처의 각 계층에 Learable Module을 주입하여 매개변수의 수를 크게 줄일 수 있다. 

LoRA의 장점

  • 하나의 Pretrained 모델에 여러 LoRA들을 변경하며 다양한 테스크들 수행가능.
  • 대부분의 파라미터를 저장할 필요가 없으니 Adaptive Optimizer를 사용하면 3배 가까이 효율적으로 계산 가능하다.
  • Prefix-tuning과 같은 다른 방법론과 병렬적으로 사용 가능하다.

 

 

2. 문제 정의

LoRA는 학습 목적에 구애 받지 않으나, 이 연구에서는 언어모델로 한정해서 설명한다.

 

맨밑에 나온 Loss Function이 LoRA연구에서 하고자 하는 바이며, 델타 세타의 비율은 기존 모델의 0.01% 보다도 작다.

 

 

3. 기존의 솔루션은 충분하지 않나?

과거 노력들은 섹션 6에 정리하였다고 한다. 

언어모델에서는 크게 두가지 방법으로 효율적으로 훈련하고자 하였다. 

Parameter-Efficient Transfer Learning for NLP- Adding Adapter layers

  1. Adding adapter layers
    • 단점 : 추론시간에 지연이 있다
  2. Optimizing some forms of the input layer activations
    • 프롬프트를 최적화하기 어렵다.

Prefix Tuning - Optimizing some forms of the input layer activations

 

4. 연구 Method

4.1 Low-Rank-Parametrized Update Matrices

Aghajanyan et al. (2020)에 따르면 사전 학습된 언어 모델낮은 "intrinsic rank"을 가지며 더 작은 부분 공간으로 여전히 효율적으로 학습할 수 있음을 보여준다. 이에 영감을 받아, 가중치에 대한 업데이트 또한 낮은 "intrinsic rank"를 가질 것이라고 가정한다. 

  • 쉽게 말해, 훨씬 적은 파라미터를 갖고 Pretrained모델의 정확도 혹은 성능을 복원할 수 있다.
  • 모델 경량화도 생각해보면 더 적은 파라미터를 갖는 모델에 dilation을 하여 학습함.

 

W_0 : Pretrained Model의 파라미터에 해당하고, [d,k]의 shape을 갖는다.

 

이때 learnable한 W를 PretrainedModel에 더하게 되고 이는 W_0 + BA로 표현이 가능하다. 이때 B와 A는 각각 [d,r], [r,k]의 쉐입을 갖게되고 매트릭곱을 하게되면, [d,k]가 되어 W_0와 더해질 수 있다.

  • 인풋 데이터 X와 Pretrained, LoRA와 곱을 하게 되며 위의 식처럼 표현이 가능하다.
  • A에 대해 무작위 가우스 초기화를, B에 대해 0을 사용하여 학습 초기에 ∆W = BA는 0이다.
  • ∆Wx를 α/r 로 스케일링한다. 여기서 α는 learning rate과 같은 역할을 한다. r에 대해서 생각을 해보면, r이 커질수록 full rank와 비슷해진다. -> 즉 Pretrained의 영향력이 작아지기에, r의 크기만큼으로 나눠주어 LoRA의 영향력을 낮춰주는 것으로 보인다.
  • 보통 r,α는 (8,16) 혹은 (16,32)를 사용한다
  • 태스크가 달라질 때 LoRA만 변경하면 되므로 속도가 빠르다.

4.2 Applying LoRA to TRANSFORMER

  • Transformer 모델에는 어텐션 부분과 MLP부분 두개가 있는데, 이 연구에서는 Attention부분에만 LoRA를 진행(MLP에도 가능함)
  • 가장 큰 이점은 메모리와 스토리지 사용량 감소에서 나온다.
  • GPT-3 175B에서는 학습 중 VRAM 소비량을 1.2TB에서 350GB로 줄어든다.
  • r=4이고 쿼리와 값 투영 행렬만 적응할 경우 체크포인트 크기는 대략 10,000배(350GB에서 35MB) 줄어든다. 

 

5. 실험

6. Related Works

7. Understanding The LOW-RANK UPDATES

8. Conclusion and future work

+ Recent posts