Machine Learning/NLP

what is LoRA?

뚜둔뚜둔 2024. 11. 17. 15:05

what is LoRA?

:  Low-Rank Adaptation

대규모 언어모델(LLM)의 효율적인 미세 조정을 위해 개발된 기술

이 방법은 사전 학습된 모델의 가중치를 동결하고, 각 층에 저랭크(rank decomposition)행렬을 삽입하여 학습 가능한 파라미터 수를 크게 줄임.

이를 통해 계산 및 메모리 요구 사항을 감소시키면서도, 성능은 전체 미세 조정과 유사하게 유지할 수 있음

 

LoRa의 작동 원리

LoRA는 특정 작업에 적응하기 위해 사전 학습된 가중치 행렬의 업데이트를 저랭크 행렬로 표현한다. 

예를 들어, 트랜스포머 모델의 셀프 어텐션 모듈에서 4개의 가중치 행렬과 MLP모듈에서 2개의 가중치 행렬을 저랭크 행렬로 대체하여 학습한다.

이는 전체 가중치 행렬을 업데이트하는 대신, 입력에 대해 곱해진 후 좌표별로 더해지는 두 개의 저랭크 행렬을 사용하여 가중치를 업데이트하는 방식

이러한 방식은 메모리 및 계산 자원을 절약하면서도 높은 성능을 유지함

 

주요 응용 분야

LoRA는 NLP 작업에서 특히 유용하다. 예를 들어, GPT-3같은 대규모 모델을 소수의 파라미터만으로 미세 조정하여 번역, 요약, 질문 응답 등의 작업에서 높은 성능을 발휘할 수 있다. 또한, 이미지 생성 모델인 Stable Diffusion모델에도 적용 되어 이미지 생성 작업에서도 유사한 이점을 제공한다.

 

장점 및 한계

LoRA의 주요 장점은 학습 가능한 파라미터 수를 줄여 메모리 및 계산 자원을 절약할 수 있다. 이는 대규모 모델을 미세 조정할 때 필용한 GPU메모리를 크게 줄이고, 일부 소비자용 GPU에서도 효율적인 미세 조정을 가능하게 한다. 하지만, 모든 가중치 행렬이 아닌 특정 가중치 행렬에만 적용될 수있다는 점에서 한계가 있을 수 있다.

LoRA는 대규모 사전 학습 모델을 다양한 다운스트림 작업에 적응 시키는데 있어 효율성과 성능을 동시에 제공하는 강력한 도구이다. 이를 통해 더 적은 자원으도 높은 성능을 유지 할 수 있다.

 

 

 

참고 :

 

https://wikidocs.net/230474

 

LoRA: Low-Rank Adaptation

LoRA(Low-Rank Adaptation)는 [대규모 언어 모델(LLM)](225412)의 [효율적인 미세 조정](251763)을 위해 개발된 기술이다. 이 방법은 사전 학습…

wikidocs.net

 

반응형