LLM: Fine-tuning 개념

Ohback·2025년 3월 18일

1. Fine-tuning

파인 튜닝(Fine-tuning)은 이미 학습된 대규모 언어 모델(LLM)을 특정 작업이나 데이터셋에 맞춰 재학습시키는 과정이다. 이는 모델이 특정 도메인 또는 작업에서 최적의 성능을 발휘하도록 조정하는 기술이다.

1-1. Fine-tuning의 필요성

파인튜닝은 LLM이 특정한 도메인, 태스크, 스타일에 맞춰 더 나은 응답을 생성할 수 있도록 해주는 강력한 방법으로 다음과 같은 상황에 필요성을 가진다.

  • 도메인 특화 (의료, 법률, 박물관, 기업 면접 챗봇 등) 필요할 때
  • 기본 LLM이 원하는 응답 스타일을 제공하지 못할 때
  • 일관된 패턴의 응답이 필요할 때 (기업 응대, 전문 용어 사용 등)
  • 기존 RAG로 해결이 어렵거나, 검색보다 내장 지식이 필요할 때

1-2. Prompt Engineering vs Fine-tuning

프롬프트 엔지니어링(Prompt Engineering)과 파인튜닝(Fine-Tuning)은 LLM(대형 언어 모델)을 최적화하는 방법으로 둘 다 모델의 성능을 향상시키는 역할을 하지만, 적용 방식과 목적이 다른데, 프롬프트 엔지니어링은 "빠르고 간단한 최적화" 방법이고 파인튜닝은 "근본적으로 모델을 변화시키는" 방법이다.

구분프롬프트 엔지니어링파인튜닝
정의모델을 추가 훈련하지 않고, 입력 프롬프트를 최적화하여 원하는 응답을 유도하는 기법기존 LLM을 특정 데이터셋으로 추가 학습하여 맞춤형 모델을 만드는 과정
모델 변경 여부❌ 변경 없음 (사전 학습된 모델 그대로 사용)✅ 변경됨 (새로운 데이터로 추가 학습)
비용✅ 저렴 (API 비용만 부담)❌ 비쌈 (GPU, 대량 데이터 필요)
데이터 업데이트✅ 쉽고 빠름 (프롬프트 수정만 하면 됨)❌ 어렵고 다시 학습해야 함
응답 스타일제한적
(프롬프트로 조정 가능하지만 완벽하진 않음)
원하는 스타일로 학습 가능
적용 사례특정 패턴의 답변 유도
(Zero-shot CoT, Few-shot CoT)
특정 도메인(의료, 법률, 기업 면접 등)
맞춤형 모델 생성

2. Fine-tuning 주요 기법

2-1. PEFT (Parameter-Efficient Fine-Tuning)

특정 파라미터만 조정하여 메모리 사용량과 연산 비용을 줄이는 기법

  • LoRA(Low-Rank Adaptation)
    기존 모델의 가중치를 변경하지 않고, 추가적인 "적응 행렬(Adaptation Matrix)"만 학습하는 방식

  • LoRA의 장점
    ✔ GPU 메모리 사용량 절감 → 전체 모델을 학습하는 것보다 적은 메모리로 가능
    ✔ 연산량 감소 → 모든 가중치를 업데이트하는 것이 아니라 특정 부분만 학습
    ✔ 기존 모델 보존 → 원래 모델의 가중치는 변하지 않으므로 다양한 LoRA 모듈을 적용 가능
    ✔ 파인튜닝 속도 향상 → 전체 모델을 재학습하는 것보다 훨씬 빠름

  • QLoRA(Quantized LoRA)
    LoRA보다 더 적은 메모리를 사용하도록 "양자화(Quantization)" 기술을 추가한 버전으로 QLoRA는 LoRA의 장점 + 양자화를 적용하여 더 적은 메모리로 훈련 가능하게 만든 방법

  • QLoRA의 장점
    ✔ 메모리 절감 효과 극대화 → LoRA보다 2~3배 더 적은 메모리 사용
    ✔ 대형 모델도 로컬에서 훈련 가능 → 65B(650억 개 파라미터) 모델도 48GB GPU에서 훈련 가능
    ✔ 일반 LoRA 대비 성능 저하 없이 빠르게 학습 가능
    ✔ LoRA처럼 원래 모델을 수정하지 않음

2-2. RLHF (Reinforcement Learning with Human Feedback)

강화 학습(Reinforcement Learning)과 인간의 피드백(Human Feedback)을 결합하여 LLM(대형 언어 모델)의 응답 품질을 향상시키는 방법 (예: 사용자의 ChatGPT 응답 선택)

  • RLHF는 단순한 지도 학습(Supervised Learning)이 아니라, "인간의 선호도"를 반영한 강화 학습 방식
  • AI 모델이 단순히 문장을 예측하는 것이 아니라, "어떤 응답이 더 좋은지"를 학습하도록 하는 과정이 포함
  • 모델이 다양한 답변을 생성 > 사람이 가장 적절한 답변을 선택 > 보상 신호를 이용해 모델을 최적화

3. sLLM

LLM의 축소판으로, 학습과 배포 비용을 줄이기 위해 설계되었다. sLLM은 파인튜닝이 비교적 간단하고 리소스가 적게 든다. 소규모 언어모델(sLLM)은 주로 제한된 연산 리소스를 가진 환경에서 활용된다.

3-1. sLLM vs LLM

비교 항목SLLM (Small Language Model)LLM (Large Language Model)
모델 크기100M~7B 파라미터 수준7B~175B+ 파라미터 수준
연산 요구량✅ 낮음 (CPU/GPU에서도 실행 가능)❌ 높음 (고성능 GPU 필수)
메모리 사용량✅ 적음 (로컬 PC에서도 실행 가능)❌ 많음 (VRAM 80GB 이상 필요)
성능❌ 제한적 (일반적인 질문은 가능하지만 복잡한 추론은 어려움)✅ 강력함 (복잡한 문제 해결 가능)
추론 능력❌ 비교적 낮음 (복잡한 논리적 사고 어려움)✅ 높음 (복잡한 추론 및 생성 가능)
사용 사례모바일 앱, 로컬 챗봇, 임베디드 AIChatGPT, Claude, Gemini, AI 연구

3-2. sLLM의 필요성

  • 저사양 장치에서 실행 가능: LLM은 VRAM이 80GB 이상 필요하지만, SLLM은 CPU, 노트북, 모바일에서도 실행 가능
  • 빠른 응답 속도: 클라우드 API 호출 없이 즉각적인 응답 가능
  • 프라이버시 보호: 데이터를 외부 서버로 보내지 않고, 로컬에서 직접 처리 가능
  • 비용 절감: LLM을 API로 호출하는 비용보다 훨씬 저렴
  • 특정 태스크에 최적화 가능: 의료, 법률, 산업별 AI 챗봇에 맞춰 튜닝 가능

3-3. 주요 sLLM

  • LLaMA1, 2, 3: Meta에서 개발한 경량 언어 모델 7B 이하에서 뛰어난 성능을 제공하며 로컬에서 실행할 수 있고, LoRA/QLoRA를 적용하여 효율적인 파인튜닝 가능
  • Mistral 7B: Mistral AI에서 개발한 모델로, LLaMA 2보다 더 효율적인 구조
  • Gemma 2B, 7B: Google DeepMind에서 만든 가벼운 언어 모델로 특히 2B 버전은 저사양 장치에서도 실행 가능
profile
기록은 기억을 지배한다.

0개의 댓글