PEFT는 모델 전체를 재학습하지 않고, 일부 파라미터만 조정하여 학습 비용을 줄이는 방법
기존 모델의 가중치를 직접 변경하지 않고, 추가적인 저차원 행렬(Adaptation Matrix)을 학습하여 모델을 업데이트하는 기법으로 원래 모델의 모든 가중치를 학습하지 않고, 특정 계층의 일부 가중치만 조정하여 효율적인 파인튜닝 가능
작동 원리
원래 모델의 가중치 행렬 W를 직접 업데이트하는 대신, 작은 크기의 두 개의 저차원 행렬 A, B를 학습
학습된 행렬을 기존 가중치에 추가하여 최종적으로 W' = W + ΔW 형태로 업데이트
장점
(1) 메모리 절약: 모든 가중치를 학습하지 않고 일부만 업데이트
(2) 기존 모델 유지: 원본 모델을 보존하면서 추가적인 LoRA 가중치를 적용 가능
(3) 빠른 훈련 속도: 기존 모델보다 연산량이 적어 학습 속도가 빠름
한계점
여전히 GPU 메모리 사용량이 많음 → LoRA 자체가 가벼운 기법이지만, 대형 모델을 로컬에서 학습하려면 여전히 VRAM이 많이 필요함
적용 사례
LLaMA, GPT-3, Gemma, Mistral 같은 대형 모델을 특정 도메인에 맞게 미세 조정할 때 사용
QLoRA는 LoRA에 "4-bit 양자화(Quantization)"를 추가하여 메모리 사용량을 더욱 줄인 기법으로 LoRA의 기본 개념을 유지하면서, 모델을 저비트(4-bit)로 변환하여 더 적은 메모리로 실행할 수 있도록 만든 방식
작동 원리
원래 모델의 가중치를 4-bit 양자화하여 저장 → 메모리 사용량 대폭 감소
LoRA 방식을 적용하여 일부 계층만 업데이트
학습 과정에서는 저비트(4-bit) 연산을 유지하면서도 높은 성능을 낼 수 있도록 튜닝
장점
(1) 메모리 절약 극대화: LoRA보다 2~3배 적은 메모리로도 대형 모델 파인튜닝 가능
(2) 로컬에서도 실행 가능: VRAM 24GB 이하에서도 대형 모델 튜닝 가능
(3) 성능 유지: 4-bit 양자화를 적용했지만 대부분의 경우 성능 저하가 거의 없음
한계점
양자화로 인해 추론 속도가 약간 느려질 수 있음
LoRA보다 계산이 복잡해질 수 있음 (양자화 연산 포함됨)
적용 사례
VRAM이 부족한 환경에서도 LLaMA-65B, Mistral-7B 같은 초대형 모델을 파인튜닝하고 싶을 때 사용
DoRA(Decomposed LoRA)는 LoRA보다 더 효율적으로 파라미터를 업데이트할 수 있도록 개선된 방식으로 원래 모델의 가중치가 변화하는 방식까지 최적화하여 학습 효율을 더욱 높인 기법
작동 원리
LoRA가 가중치 업데이트를 위해 ΔW = A × B 형태의 추가적인 저차원 행렬을 학습하는 반면, DoRA는 가중치 자체를 분해하여 업데이트를 최적화함
즉, 가중치 업데이트를 더 정교하게 분해하여, 기존 모델의 표현력을 최대한 유지하면서도 적은 데이터로 빠르게 학습 가능
장점
(1) LoRA보다 더 적은 데이터로도 높은 성능 유지 가능
(2) 학습 효율이 더 높고, 기존 모델의 표현력을 더 잘 유지할 수 있음
(3) 도메인 특화 모델 학습에 적합
한계점
LoRA 대비 아직 연구 단계가 많고, 적용 사례가 적음
LoRA보다 복잡한 구조로 인해 구현이 어려울 수 있음
적용 사례
기존 LoRA보다 더 빠르고 효율적인 파인튜닝이 필요한 경우
Soft Prompts는 기존 모델을 수정하지 않고, 입력 프롬프트에 학습 가능한 벡터를 추가하여 모델 출력을 조정하는 방식으로 모델 가중치를 전혀 변경하지 않고, 프롬프트를 통해 파인튜닝하는 기법
작동 원리
프롬프트 엔지니어링과 유사하지만, 단순한 텍스트 프롬프트가 아니라 학습 가능한 "임베딩 벡터"를 추가하는 방식
모델이 특정한 방식으로 응답하도록 입력에 영향을 주는 방식으로 작동
LoRA처럼 모델의 내부 구조를 바꾸는 것이 아니라, 입력 데이터만 변경하여 모델을 조정
장점
(1) 모델을 전혀 수정하지 않고 튜닝 가능 (API 기반 모델에서도 적용 가능)
(2) 빠르고 간단한 적용 가능 (일반 Fine-Tuning보다 훨씬 가벼움)
(3) 소량의 데이터만으로도 특정 도메인에 최적화 가능
한계점
LoRA처럼 모델의 성능을 근본적으로 바꾸진 않음
Fine-Tuning이나 LoRA보다 강력한 조정은 어려울 수 있음
복잡한 태스크에서는 LoRA보다 효과가 낮음
적용 사례
OpenAI API 같은 사전 학습된 모델에서 도메인 특화 튜닝을 적용할 때
모델을 수정할 수 없는 환경에서 특정 스타일의 응답을 유도할 때