본문 바로가기
Data Science/LLM & GenAI

LLM Fine-Tuning 기법 정리(feat. PEFT LoRA중심)

by En.Lee 2025. 2. 25.
반응형

LoRA 기법 중심으로 정리한 LLM 미세 조정(Fine-tuning) 기법

 

대형 언어 모델(LLM)의 성능을 특정 작업에 맞게 최적화하려면 미세 조정(Fine-tuning)이 필요합니다. 그러나 기존의 전체 가중치를 조정하는 방식은 연산 비용이 크고, 메모리 사용량이 높아 현실적으로 적용이 어렵습니다. 이에 따라, 최근에는 더 효율적인 PEFT(Parameterized Efficient Fine-Tuning) 기법들이 등장했습니다.

 

이 블로그에서는 전통적인 미세 조정 방식의 한계를 짚어보고, LoRA, LoRA-FA, VeRA, Delta-LoRA, LoRA+ 등 최신 미세 조정 기법 5가지를 비교 분석합니다. 각각의 방법이 어떻게 작동하는지, 어떤 장점이 있는지, 그리고 실제 사용 사례를 통해 최적의 미세 조정 방법을 선택하는 데 도움을 드립니다.

 

💡 이 글을 통해 얻을 수 있는 것:

✅ 대형 언어 모델(LLM) 미세 조정의 최신 트렌드 이해

✅ LoRA 기반의 효율적인 미세 조정 기법 비교 분석

✅ GPU 자원이 부족한 환경에서도 효과적인 모델 최적화 방법 찾기

 

이제, 각 미세 조정 기법을 하나씩 살펴보겠습니다! 🚀

 

1. 전통적인 미세 조정(Fine-tuning)의 한계

전통적인 미세 조정은 모델 전체의 가중치(Weight)를 조정하는 방식입니다. 하지만 **대형 언어 모델(LLM)**은 수십억 개의 매개변수를 포함하고 있으며, 크기가 수백 GB에 달하기 때문에 현실적으로 컴퓨팅 자원이 부족한 환경에서는 적용이 어렵습니다.

📌 주요 문제점

  • 막대한 연산 비용: 전체 모델을 학습하려면 GPU/TPU와 같은 고성능 연산 자원이 필요함
  • 메모리 요구량 증가: 수백 GB에 달하는 모델을 미세 조정하려면 방대한 메모리가 필요함
  • 훈련 속도 저하: 학습 시간이 길어져 현실적인 적용이 어려움

💡 따라서 최근에는 더 효율적인 미세 조정 기법들이 등장하고 있습니다. 대표적인 방법 5가지를 소개합니다.


2. 효율적인 LLM 미세 조정 기법

1️⃣ LoRA (Low-Rank Adaptation)

📌 개념

LoRA는 기존의 가중치 행렬(W)을 직접 업데이트하는 대신, 저차원 행렬 A와 B를 추가하여 학습하는 방식입니다. 즉, W를 그대로 두고, A와 B 행렬을 학습하여 모델을 미세 조정합니다.

 

📌 장점

✅ 학습해야 하는 매개변수 수 감소 → 연산량 절감

✅ 기존 모델의 주요 가중치를 변경하지 않고 적응 계층(Adaptation Layers) 활용

✅ 기존 사전 학습된 모델을 유지하면서 새로운 작업에 맞게 조정 가능

 

📌 적용 사례

  • 제한된 GPU 환경에서 대형 모델을 미세 조정할 때
  • 챗봇 및 대형 언어 모델(예: GPT, BERT)의 특정 도메인 적응

2️⃣ LoRA-FA (Frozen-A LoRA)

📌 개념

LoRA는 연산량을 줄이지만, 여전히 활성화 메모리(Activation Memory)를 많이 필요로 합니다. LoRA-FA는 행렬 A를 **고정(Frozen)**하고, 행렬 B만 업데이트하는 방식으로 메모리 사용량을 더욱 줄입니다.

 

📌 장점

✅ LoRA보다 메모리 사용량이 더 적음

✅ 학습해야 할 매개변수가 더 적어져 훈련 속도 향상

 

📌 적용 사례

  • 제한된 VRAM(그래픽 메모리) 환경에서 대형 모델을 미세 조정할 때
  • 모바일 디바이스 및 임베디드 환경에서 LLM 미세 조정

3️⃣ VeRA (Very Random Adaptation)

📌 개념

LoRA에서는 각 층마다 A와 B 행렬을 개별적으로 생성하여 학습하지만, VeRA에서는 A와 B를 모든 층에서 동일하게 공유합니다. 대신, 층마다 학습할 수 있는 작은 스케일링 벡터 b와 d만 조정합니다.

 

📌 장점

✅ LoRA보다 학습해야 할 매개변수가 더 적음

✅ 모든 층이 동일한 A, B 행렬을 공유하므로 메모리 사용량 감소

 

📌 적용 사례

  • 대형 모델을 빠르게 적응시키는 경량화 기법
  • 다중 작업 학습(Multitask Learning)에서 여러 도메인 간 전이 학습 수행

4️⃣ Delta-LoRA

📌 개념

Delta-LoRA는 기존 LoRA와 달리, 단순히 A와 B 행렬을 학습하는 것이 아니라 두 개의 연속된 학습 단계에서 A와 B 행렬의 곱의 차이(Delta)를 기존 가중치 W에 추가하는 방식입니다.

 

📌 장점

✅ LoRA보다 빠르게 수렴 가능

✅ 기존 모델 가중치에 미치는 영향을 최소화하면서도 성능 향상

 

📌 적용 사례

  • 기존 모델의 가중치를 최대한 보존하면서 새로운 도메인에 적용할 때
  • 훈련 시간이 제한적인 환경에서 LLM을 빠르게 적응시키는 경우

5️⃣ LoRA+

📌 개념

기존 LoRA에서는 A와 B 행렬을 **같은 학습률(Learning Rate)**로 업데이트합니다. 하지만 LoRA+에서는 행렬 B의 학습률을 더 높게 설정하여 더 빠른 수렴을 유도합니다.

 

📌 장점

✅ LoRA보다 더 빠르게 수렴하여 훈련 시간 단축

✅ 성능 최적화가 더 뛰어나며, 더 적은 단계에서 높은 성능 달성

 

📌 적용 사례

  • 제한된 시간 내에 LLM을 신속하게 미세 조정해야 하는 경우
  • 자율 주행, 헬스케어, 금융 등 특정 도메인에서의 최적화된 모델 훈련

3. LLM 미세 조정 기법 비교

기법 핵심 개념 주요 장점 사용 사례

LoRA A와 B 저차원 행렬 추가 학습 파라미터 수 감소, 메모리 절약 제한된 컴퓨팅 환경에서 대형 모델 학습
LoRA-FA A 행렬 고정, B만 업데이트 메모리 절약, 연산량 감소 저사양 GPU 환경에서의 미세 조정
VeRA A, B 행렬을 모든 층에서 공유, b와 d 벡터만 학습 더욱 적은 학습 파라미터, 빠른 훈련 다중 작업 학습(MTL), 경량화된 모델 학습
Delta-LoRA 학습 단계 간 A, B 행렬 차이를 W에 추가 빠른 수렴, 기존 모델 영향 최소화 기존 모델 성능 유지하면서 빠른 적응
LoRA+ B 행렬의 학습률 증가 더 빠른 수렴, 최적화 성능 향상 제한된 시간 내 최적화 모델 훈련

4. 결론

대형 언어 모델(LLM)을 미세 조정하는 방법은 기존의 전통적인 방식에서 벗어나 더 최적화된, 메모리 효율적인 방식으로 발전하고 있습니다.

LoRA와 LoRA-FA: 학습해야 할 매개변수를 줄여 효율적인 학습 가능

VeRA: A와 B 행렬을 공유하여 연산량을 더욱 줄이고, 메모리를 절약

Delta-LoRA: 모델의 원본 가중치에 미치는 영향을 최소화하면서 빠르게 학습

LoRA+: LoRA보다 더욱 빠르게 수렴하는 최적화된 방식

 

💡 이러한 기법을 적절히 활용하면, 기존의 대형 모델을 훨씬 효율적으로 미세 조정할 수 있습니다.

반응형