PEFT/Fine-tuning: LoRA
ㅁ PEFT/Fine-tuning
ㅇ 정의:
– PEFT(Fine-tuning)는 사전 학습된 모델을 특정 작업에 맞게 미세 조정하는 방법으로, 기존 모델의 가중치를 고정하거나 일부만 조정하면서 새로운 작업에 적합하도록 학습하는 기술을 의미한다.
ㅇ 특징:
– 기존 모델의 성능을 유지하면서 특정 도메인에 적합한 결과를 얻을 수 있다.
– 학습 데이터가 제한적일 때도 효과적이다.
– 계산 비용과 메모리 사용량을 줄이는 데 유리하다.
ㅇ 적합한 경우:
– 특정 도메인에 특화된 모델이 필요할 때.
– 대규모 데이터셋을 사용할 수 없거나, 제한된 리소스 환경에서 학습해야 할 때.
ㅇ 시험 함정:
– PEFT와 Fine-tuning의 차이를 혼동할 수 있음.
– PEFT의 하위 기술과 일반 Fine-tuning을 동일하게 간주하는 오류.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: PEFT는 사전 학습된 모델의 일부 가중치만 업데이트하여 특정 작업에 맞춘다.
– X: Fine-tuning은 항상 모든 가중치를 업데이트한다.
================================
1. LoRA
ㅇ 정의:
– LoRA(Low-Rank Adaptation)는 사전 학습된 모델의 가중치를 고정한 상태에서 저랭크 행렬을 추가하여 특정 작업에 적합하도록 학습하는 방법이다.
ㅇ 특징:
– 기존 모델의 가중치를 변경하지 않아 원본 모델의 보존이 가능하다.
– 적은 계산 비용으로도 높은 성능을 유지할 수 있다.
– 추가된 저랭크 행렬만 저장하면 되므로 메모리 효율적이다.
ㅇ 적합한 경우:
– 자원 제한 환경에서 대규모 모델을 특정 작업에 맞추고자 할 때.
– 원본 모델의 가중치를 보존해야 하는 경우.
ㅇ 시험 함정:
– LoRA가 원본 가중치를 수정한다고 잘못 이해할 수 있음.
– LoRA와 일반 Fine-tuning의 메모리 요구 사항을 혼동할 가능성.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: LoRA는 저랭크 행렬을 추가하여 사전 학습된 모델의 성능을 확장한다.
– X: LoRA는 기존 모델의 모든 가중치를 업데이트한다.
ㅁ 추가 학습 내용
LoRA와 함께 사용되는 PEFT(파라미터 효율적 미세 조정) 기법인 Adapter, Prefix Tuning과의 차이점을 학습하기 위해 다음 내용을 정리합니다:
1. **LoRA와 Adapter의 차이점**:
– **Adapter**는 원래 모델의 특정 계층에 작은 네트워크를 추가하여 모델을 확장하는 방식입니다. Adapter는 추가된 네트워크만 학습하며, 원래 모델의 파라미터는 고정됩니다.
– **LoRA**는 특정 계층의 가중치 행렬을 저랭크 행렬로 분해하여 학습 가능한 파라미터를 줄이는 방식입니다. LoRA는 기존 가중치 행렬에 저랭크 행렬을 추가적으로 적용하며, 원래의 가중치는 고정됩니다.
2. **LoRA와 Prefix Tuning의 차이점**:
– **Prefix Tuning**은 모델의 입력에 특정 프리픽스(앞부분)를 추가하여 입력을 수정하는 방식입니다. 이 프리픽스는 학습 가능한 파라미터로 구성되며, 원래 모델의 파라미터는 고정됩니다.
– **LoRA**는 원래 모델의 가중치 행렬을 직접 수정하지 않고 저랭크 행렬을 추가하여 학습 가능한 파라미터를 줄이는 방식으로 작동합니다.
3. **LoRA의 저랭크 행렬의 수학적 배경**:
– LoRA는 가중치 행렬을 두 개의 저랭크 행렬(A와 B)로 분해합니다. 이를 통해 학습해야 할 파라미터 수를 크게 줄일 수 있습니다.
– 예를 들어, 원래의 가중치 행렬 W가 크기 m x n이라면, LoRA는 두 개의 저랭크 행렬(A와 B)을 사용하여 W를 근사합니다. 이때 A의 크기는 m x r, B의 크기는 r x n이며, r은 저랭크 차원으로 설정됩니다.
– 이러한 방식은 원래의 고차원 행렬을 학습하는 대신, 저차원 행렬을 학습함으로써 계산 효율성을 높이고 메모리 사용을 줄입니다.
4. **LoRA를 활용한 실제 사례**:
– **NLP 작업**: LoRA는 대규모 언어 모델(예: GPT, BERT)의 미세 조정에 사용됩니다. LoRA를 통해 파라미터 효율적 미세 조정을 수행하면, 대규모 모델의 성능을 유지하면서도 추가적인 학습 비용을 줄일 수 있습니다.
– **CV 작업**: LoRA는 이미지 분류와 객체 검출 같은 컴퓨터 비전 작업에서도 활용됩니다. CNN이나 트랜스포머 기반 모델의 특정 계층에 저랭크 행렬을 적용하여 효율적인 미세 조정을 수행합니다.
이를 바탕으로 PEFT 기법 간의 차이점과 LoRA의 수학적 배경 및 실제 활용 사례를 명확히 이해하면 시험 대비에 도움이 될 것입니다.