파라미터 효율적 미세조정
IT 위키
파라미터 효율적 미세조정(Parameter-Efficient Fine-Tuning, PEFT)은 대형 언어모델(LLM) 등 초거대 신경망의 모든 파라미터를 다시 학습시키는 대신, 일부 파라미터만 선택적으로 학습하여 특정 다운스트림(downstream) 태스크에 효율적으로 적응시키는 기법이다.[1]
개요[편집 | 원본 편집]
대형 언어모델은 수십억~수천억 개의 파라미터를 포함하며, 모두를 재학습(finetune)하려면 막대한 연산 자원과 메모리가 필요하다. PEFT는 사전학습된 기반 파라미터(\(\theta_{\text{base}}\))는 고정(freeze)하고, 소량의 추가/보정 파라미터(\(\Delta \theta\))만 학습하여 비용을 크게 줄인다. \(\theta' = \theta_{\text{base}} + \Delta \theta\)
주요 기법[편집 | 원본 편집]
Adapter (2019, Houlsby et al.)[편집 | 원본 편집]
- 각 Transformer 레이어에 작은 병목(bottleneck) 모듈을 삽입하여 그 모듈만 학습한다.
- 구조: feed-forward up-project → 비선형 활성화 → feed-forward down-project + skip-connection.
- 삽입 위치: Self-Attention/Feed-Forward 사이에 두 번 삽입하는 구성이 일반적이다.
- 학습 파라미터 비율은 원 모델 대비 약 0.5%~8% 수준이며, 태스크별 adapter만 교체하여 멀티태스크 운용이 가능하다.
LoRA (Low-Rank Adaptation, ICLR 2022)[편집 | 원본 편집]
- 선형 변환 \(W \in \mathbb{R}^{E \times E}\)를 고정하고, 저랭크 보정 \(\Delta W = B A\)를 학습한다.
- 수식: \(h = W_0 x + \Delta W x = W_0 x + B A x\)
- 차원: \(A \in \mathbb{R}^{E \times r}, B \in \mathbb{R}^{r \times E}, r \ll E\) (예: r=4).
- 적용 위치: Self-Attention의 Q/K/V 및 MLP의 선형층.
- 연산/저장 측면: 학습 시 전체 가중치 미세조정보다 큰 절감을 달성하며, \(B A\)를 \(W_0\)에 병합(merge)하여 추가 저장 공간 없이 추론 가능.
- 추가 파라미터 비율은 약 0.1% 내외이다.
BitFit (ACL 2022)[편집 | 원본 편집]
- 가장 단순한 PEFT 기법으로, 모든 weight를 고정하고 각 층의 bias 항만 학습한다.
- BERT 기준 bias 파라미터는 전체의 약 0.09%를 차지한다.
- 단순 텍스트 분류 등에서 full fine-tuning에 근접하거나 때로는 초과하는 성능을 보인다.
비교[편집 | 원본 편집]
| 기법 | 학습되는 파라미터 비율(예시) | 구조 수정/삽입 | 주요 적용 위치 | 장점 | 단점 |
|---|---|---|---|---|---|
| LoRA | 약 0.1% | 선형층 내부 저랭크 보정(BA) | Q/K/V, MLP | 고성능·저비용, 추론 시 merge 가능 | rank·적용 위치 튜닝 필요 |
| Adapter | 0.5%~8% | bottleneck 모듈 + skip 삽입(레이어당 1~2개) | 블록 사이(ATTN/FFN) | 모듈 교체로 멀티태스크 용이 | 약간의 추론 지연·파라미터 증가 |
| BitFit | 약 0.09% (BERT 기준) | 구조 변경 없음(bias만 학습) | 전 층 bias | 극단적 효율성과 간편함 | 복잡 태스크에서 성능 한계 |
장점[편집 | 원본 편집]
- 전체 미세조정 대비 GPU 메모리 및 학습 비용을 대폭 절감한다(최대 90% 이상).
- 베이스 모델을 공유하면서 태스크별 모듈(어댑터·LoRA 등)만 추가·교체할 수 있어 유지보수가 용이하다.
- 온디바이스·멀티태스크·개인화(personalization) 학습 환경에서 적합하다.
한계 및 고려사항[편집 | 원본 편집]
- 베이스 파라미터가 고정되어 있어 표현력 확장이 제한될 수 있다.
- rank(LoRA), 모듈 크기(Adapter), 적용 위치 등의 선택은 경험적으로 조정해야 한다.
- 일부 고난도 태스크에서는 full fine-tuning 대비 1~3% 성능 손실이 발생할 수 있다.
응용[편집 | 원본 편집]
- 대형 언어모델 (LLM)의 효율적 파인튜닝(요약, QA, 번역 등)
- 멀티태스크 환경에서 태스크별 모듈 교체
- 온디바이스 개인화(personalization)
- 멀티모달 모델(CLIP 등)과의 결합
관련 개념[편집 | 원본 편집]
참고 문헌[편집 | 원본 편집]
- Hu, Edward J., et al. "LoRA: Low-Rank Adaptation of Large Language Models." ICLR (2022). [1]
- Houlsby, Neil, et al. "Parameter-efficient transfer learning for NLP." PMLR (2019).
- Zaken, Elad Ben, et al. "BitFit: Simple Parameter-efficient Fine-tuning for Transformers." ACL (2022).
- Dettmers, Tim, et al. "QLoRA: Efficient Finetuning of Quantized LLMs." NeurIPS (2023).