241228 TIL #575 AI Tech #108 PEFT

김춘복·2024년 12월 28일
0

TIL : Today I Learned

목록 보기
577/604

Today I Learned

오늘 배운 내용은 마지막 경량화 방법인 PEFT!


PEFT

Transfer Learning (전이학습)

사전 훈련된 모델을 새로운 문제에 맞게 재사용하여 학습 시간을 단축하고 성능을 향상시키는 기계 학습 방법

  • 처음부터 학습시키는 것 보다 특정 데이터셋을 바탕으로 가중치를 업데이트 하는 것이 빠르고 쉽다.

  • 대규모 데이터셋으로 넓은 범위의 Pre-training 후 새로운 태스크에 맞게 Fine-tuning 한다.

  • 일반적인 Fine-tuning은 모든 파라미터를 업데이트 하므로 시간과 비용이 많이 소모된다.

PEFT

Parameter-Efficient Fine-Tuning
파라미터 일부만 업데이트해서 시간과 비용을 아끼는 Fine Tuning 방법

  • PETL(Parameter-Efficient Transfer Learning)이라고도 한다.

  • 프롬프트 튜닝 방식
    모델의 원래 파라미터를 변경하지 않고 모델의 출력을 원하는 방향으로 유도하는 방식

  • 파라미터 삽입 방식
    모델의 특정 위치에 추가 학습 가능한 파라미터를 삽입해 모델을 미세 조정

  • 특정 task에 대한 학습을 해서 그 태스크를 수행할때만 PEFT 파라미터를 넣다 뺐다 하는 식으로 특정 task에 대한 모듈화를 할 수 있다.

Reparameterization trick

모델의 파라미터를 저차원(low-rank) 형태로 근사화하는 방법

  • 학습 중에는 저차원 파라미터를 사용하고, 추론 시에는 원래 모델 형태로 변환

  • Down Projection
    ex) 300x300의 W를 rank 10의 300x10(WaW_a)과 300x10(WbW_b) 두개로 변환
    파라미터 9만개가 6000개로 축소


Adapter Module

PEFT의 대표적인 기법으로, 모델의 기존 구조를 유지하면서 효율적인 학습을 가능하게 하는 방법

  • 구성
    Feed-forward down-projection (Reparameterization trick으로 차원 축소)
    Non-linear layer
    Feed-forward up-projection (축소된 차원 복구)

  • 작동 방식
    트랜스포머 레이어 사이에 작은 신경망을 추가해 기존 차원을 작은 차원으로 축소했다가 원래 차원으로 복원하는 과정을 거쳐 기존 모델의 파라미터는 고정하고 어댑처 레이어만 학습.

  • 기존 모델의 2~3% 파라미터 정도만 업데이트해 학습 비용과 시간을 크게 절약한다.


profile
Backend Dev / Data Engineer

0개의 댓글