✅ PEFT = Parameter-Efficient Fine-Tuning
즉, 전체 모델을 학습하지 않고도 효과적으로 파인튜닝하는 기법입니다.
기존의 Fine-Tuning은 모델 전체(수십~수백 억 개의 파라미터)를 업데이트해야 해서,
💸 학습 비용이 크고 느리며, 🧠 오버피팅 위험도 있었습니다.
→ 그래서 등장한 것이 PEFT입니다.
🧠 왜 PEFT가 필요할까?
| 문제점 | 설명 |
| ✅ LLM은 너무 큼 | GPT-3.5는 175B 파라미터. 모두 학습시키기엔 비용이 💸 |
| ✅ 대부분 쓸데없이 바뀜 | Fine-Tuning에 필요한 변화는 일부 구조에만 집중됨 |
| ✅ 빠르게 반복하기 어려움 | GPU 메모리 부족, 훈련 시간 증가 |
💡 PEFT는 전체 모델을 건드리지 않고, 소수의 파라미터만 추가·조정하여도 효과적인 결과를 얻을 수 있도록 합니다.
🔧 PEFT의 주요 기법
1. LoRA (Low-Rank Adaptation) 🥇 가장 널리 쓰임
- 원래 모델은 그대로 고정 (freeze)
- 일부 작은 행렬만 추가해서 학습
- 기존 가중치에 저차원(작은 크기) 행렬을 곱해서 보정
📦 장점:
- GPU 메모리 사용 절감
- 학습 속도 증가
- 훈련 파라미터 수 감소 (~0.1% 수준)
2. Prefix Tuning
- 각 입력에 **“프리픽스 벡터”**를 앞에 붙여서 모델 행동을 조절
- 모델 파라미터는 고정
예: 질문 앞에 "법률 전문가로 답해주세요"처럼 특별한 입력 토큰을 추가하는 것과 유사
3. Adapter Tuning
- 각 Transformer 블록 사이에 **작은 추가 네트워크(layer)**를 삽입
- 이 adapter만 학습
기존 모델은 그대로 유지하되, adapter가 역할을 학습함
4. Prompt Tuning / Prompt Injection
- 학습 가능한 임베딩 벡터를 입력에 붙이는 방식
- 가장 가볍지만, 다소 성능은 제한적
📊 비교표
| 방식 | 학습 파라미터 | 성능 | 속도 | 구현 난이도 |
| Full Fine-Tuning | 전체 | ⭐⭐⭐⭐ | ❌ 느림 | 🧠 복잡 |
| LoRA | 0.1~2% | ⭐⭐⭐⭐ | ✅ 빠름 | ⚙️ 쉬움 |
| Prefix Tuning | ~0.01% | ⭐⭐⭐ | ✅ 매우 빠름 | ⚙️ 쉬움 |
| Prompt Tuning | ~0.001% | ⭐⭐ | ✅ 매우 빠름 | ⚙️ 매우 쉬움 |
🧩 실제 적용 예시
| 분야 | 활용 |
| 고객지원 | 사내 스타일에 맞춘 응답 fine-tuning (LoRA) |
| 의료/법률 | 특정 문장/형식에 맞춘 LLM 파인튜닝 |
| 소형 디바이스 | 메모리 적은 환경에서도 튜닝 적용 가능 |
| 다국어 챗봇 | 언어별 adapter만 분리해 유지 가능 |
✅ PEFT의 장점 정리
항목설명
| 항목 | 설명 |
| 💾 메모리 절약 | 수백 배 적은 학습 파라미터 |
| 🧠 성능 유지 | 전체 학습과 비슷한 품질 |
| 🚀 빠른 반복 실험 | 모델 수정 없이 빠른 실험 가능 |
| 🔄 모델 공유 용이 | LoRA 가중치만 별도로 저장/배포 가능 |
🧠 결론 요약
- PEFT는 LLM을 빠르고 저렴하게 Fine-Tuning할 수 있는 방법입니다.
- 특히 LoRA는 가장 널리 쓰이며, GPU 리소스가 부족한 환경에서도 매우 효과적입니다.
- PEFT는 RAG, LangChain, Hugging Face Transformers와도 잘 연동되어 실무에서 매우 유용합니다.
'인공지능' 카테고리의 다른 글
| MCP(Model Context Protocol)란? (0) | 2025.05.26 |
|---|---|
| 🔍 어댑터(Adapter)란? (0) | 2025.05.26 |
| LLM Fine-Tuning이란? (0) | 2025.05.26 |
| 🔍 RAG란? (0) | 2025.05.26 |
| 🧠 LangChain이란? (0) | 2025.05.26 |