본문 바로가기

DL

[노트북으로 GPT 맛보기] Prolog(2) : 거대 언어 모델 경량화 기법

거대 언어 모델이라는 이름답게, GPT는 1,750억 개의 파라미터로 학습을 시켰다.

 

그렇다면 우리는 어떻게 해야 거대 언어 모델을 사용할 수 있을까?

 

거대 언어 모델을 사용할 수 있는 경량화 기법 2가지를 함께 알아보자.

 

 

Low-Rank Adaptation (LoRA)

논문 링크: https://arxiv.org/pdf/2106.09685.pdf

 

LoRA는 특정 태스크에 맞게 모델을 수정하는 과정에서 실제 변화하는 가중치는 기존 모델보다 훨씬 낮은 rank($r$)를 갖는다는 가설에서 시작한다. 이 작은 가중치 변화만으로 특정 작업을 위해 변화가 필요한 정보를 잘 표현할 수 있다면, 이를 분리해 별도의 matrix를 구성한 후 이를 fine-tuning을 하는 것만으로도 기존 모델 전체를 fine-tuning하는 것과 비슷한 효과가 있을 것이다.

 

위 가설을 전제로, 특정 레이어에서 거대한 사전학습 가중치는 freeze시킨 상태에서 훨씬 크기가 작은 rank decomposition matrix를 삽입하고 이것만 학습시키는 것이 LoRA인 것이다.

 

LoRA를 처음 제안한 논문에서는 Transformer 계열 모델의 경우 attention weight에만 해당 방법을 적용하였으나, 이후에는 out weight(?) 등에도 적용한다고 한다.

 

 

 

사전학습 가중치($W_0$)와  adaptation 과정에서 업데이트 시키는 누적 gradient인 $\DeltaW = BA$은 동일한 input $x$를 받아 나온 출력 벡터를 더해 해당 레이어의 최종 output $h$가 계산됨.

 

$$h = W_0x + \Delta Wx = W_0x + BAx $$

 

수식의 의미를 꼼꼼히 살펴보자면, 사전학습 가중치는 가만히 둔 채로 훨씬 작은 누적 gradient를 학습해 특정 레이어의 출력을 바꾸는 방식으로 fine-tuning 속도와 필요한 자원을 많이 축소할 수 있다. 또한, 위 수식에서 확인할 수 있듯이 $\DeltaWx$가 단순히 더해지는 것이기 때문에 해당 부분만 갈아 끼우는 방식으로 편리하게 다른 작업으로 변환이 가능함

 

따라서 LoRA의 장점을 요약해보자면,

 

1. 사전학습된 모델을 그대로 공유하며 작은 LoRA 모듈을 여럿 만들 수 있다. 모델을 공유하면서 새로 학습시키는 부분($A,B$)만 쉽게 바꿔끼울 수 있다.

2. layer에 추가한 작은 matrices만 학습시키고 효율적으로 메모리를 사용할 수 있다.

3. inference 과정에서 추가적인 latency 없이 사용할 수 있다.

4. 기존의 많은 방법들과도 동시에 사용 가능하다.

 

Prompt Tuning

 

앞선 포스트에서 prompt의 의미에 대해 간단히 소개하였다.

 

짧게 요약하면, prompt는 수행하고자 하는 태스크에 대한 정보를 입력에 추가하는 것을 의미한다. 

 

2023.03.26 - [DL] - [노트북으로 GPT 맛보기] Prolog (1) : GPT 모델

 

논문 출처: https://arxiv.org/pdf/2103.10385.pdf

 

위의 prompt를 확인했을 때에도, 내용이 담긴 prompt여도 성능은 천차만별임을 확인할 수 있다. 

 

그렇다면 어떻게 해야 기계가 잘 학습할 수 있는 '좋은' prompt를 만들 수 있을까?

 

이를 해결하고자 하는 시도를 바로 Prompt Tuning이라고 명명하였다.

 

Prompt Tuning을 이해하기 전에 soft prompt라는 개념을 이해해야 하는데, 예를 들어 "대한민국의 수도는" 이라는 prompt가 있다고 생각해보자. 이때 이 prompt를 토큰에 일대일 대응시키지 않고 자유로운 값을 부여하는 것을 soft prompt라고 한다.

 

 

prompt tuning은 언어 모델의 파라미터는 고정한 채로 soft prompt만 학습하는 방식을 의미한다. 즉, 기존의 사람이 일일히 prompt를 작성하는 방식이 아닌, 기계가 soft prompt를 학습하여 내가 찾고 싶어했던 대한민국의 수도를 찾아주는 것이다.이 prompt tuning의 경우, 모델 전체의 파라미터를 변경하지 않아 태스크별 추가 공간이 많이 필요하지 않고, hard prompt(기존의 사람이 일일히 prompt를 부여)하는 방식보다 준수한 성능을 얻을 수 있다는 장점이 있다.

 

 

 

 

*해당 내용은 [노트북으로 GPT 맛보기 경진대회] 관련 자료를 참고하여 만들었습니다.

 

 

 

출처:

https://ai.googleblog.com/2022/02/guiding-frozen-language-models-with.html

반응형