본문으로 건너뛰기
Kreath Archive
TechProjectsBooksAbout
TechProjectsBooksAbout

내비게이션

  • Tech
  • Projects
  • Books
  • About
  • Tags

카테고리

  • AI / ML
  • 웹 개발
  • 프로그래밍
  • 개발 도구

연결

  • GitHub
  • Email
  • RSS
© 2026 Kreath Archive. All rights reserved.Built with Next.js + MDX
홈TechProjectsBooksAbout
//
  1. 홈
  2. 테크
  3. 1장: 파인튜닝의 개념과 사전 학습 모델의 이해
2026년 1월 14일·AI / ML·

1장: 파인튜닝의 개념과 사전 학습 모델의 이해

LLM 파인튜닝이 무엇인지, 사전 학습 모델과 어떤 관계가 있는지, 언제 파인튜닝이 필요한지를 체계적으로 정리합니다.

21분244자7개 섹션
llmtrainingmlopsdata-engineering
공유
fine-tuning1 / 10
12345678910
다음2장: 학습 데이터 설계와 구축

파인튜닝이란 무엇인가

파인튜닝(Fine-Tuning)은 대규모 데이터로 사전 학습(Pre-training)된 모델을 특정 도메인이나 작업에 맞게 추가 학습시키는 과정입니다. 사전 학습 단계에서 모델은 수조 개의 토큰으로 구성된 범용 코퍼스를 학습하며 언어의 일반적인 패턴, 문법, 세계 지식을 습득합니다. 파인튜닝은 이 범용 지식 위에 특정 목적에 맞는 행동 양식을 덧입히는 작업입니다.

비유하자면, 사전 학습은 의과대학에서 기초 의학을 배우는 과정이고, 파인튜닝은 특정 전문과에서 레지던트 수련을 받는 과정에 해당합니다. 기초 지식은 동일하지만, 레지던트 수련을 통해 특정 분야의 전문성을 갖추게 됩니다.

사전 학습과 파인튜닝의 관계

사전 학습 모델의 학습 과정을 단계별로 살펴보면, 파인튜닝이 왜 효과적인지 이해할 수 있습니다.

text
사전 학습 (Pre-training)
  입력: 수조 개 토큰의 범용 코퍼스 (웹, 책, 코드 등)
  목표: 다음 토큰 예측 (Next Token Prediction)
  결과: 범용 언어 모델 (Base Model)
  비용: 수백만 달러, 수천 GPU-시간
 
파인튜닝 (Fine-Tuning)
  입력: 수천~수만 개의 도메인 특화 예제
  목표: 특정 작업/스타일/도메인에 맞는 응답 생성
  결과: 특화 모델 (Fine-Tuned Model)
  비용: 수백~수천 달러, 수 GPU-시간

사전 학습 단계에서 모델은 언어의 구조와 세계 지식을 학습합니다. 이 과정에서 모델의 파라미터에는 방대한 양의 정보가 인코딩됩니다. 파인튜닝은 이 파라미터를 소량의 타겟 데이터로 미세하게 조정하여 모델의 행동을 원하는 방향으로 유도합니다. 전체 지식을 처음부터 학습할 필요가 없기 때문에 적은 데이터와 비용으로도 높은 성능을 달성할 수 있습니다.

파인튜닝의 유형

파인튜닝은 목적에 따라 크게 세 가지 유형으로 나뉩니다. 각 유형은 서로 다른 학습 데이터 형식과 목표를 가지며, 실무에서는 이를 순차적으로 적용하는 경우가 많습니다.

Supervised Fine-Tuning (SFT)

지도 학습 기반 파인튜닝은 가장 기본적인 형태입니다. 입력-출력 쌍으로 구성된 데이터셋을 사용하여 모델이 특정 형태의 응답을 생성하도록 학습시킵니다. 주로 지시 따르기(Instruction Following) 능력을 향상시키는 데 사용합니다.

python
# SFT 학습 데이터 형식 예시
training_data = [
    {
        "instruction": "다음 코드의 시간 복잡도를 분석해 주세요.",
        "input": "def find_max(arr):\n    max_val = arr[0]\n    for x in arr:\n        if x > max_val:\n            max_val = x\n    return max_val",
        "output": "이 함수의 시간 복잡도는 O(n)입니다. "
                  "배열의 모든 요소를 한 번씩 순회하므로 "
                  "입력 크기 n에 비례하는 시간이 소요됩니다. "
                  "공간 복잡도는 O(1)로, 추가 메모리 사용이 상수입니다."
    }
]

RLHF (Reinforcement Learning from Human Feedback)

인간 피드백 기반 강화 학습은 모델의 응답 품질을 인간의 선호도에 맞추는 방법입니다. 먼저 보상 모델(Reward Model)을 학습시키고, 이를 사용하여 정책 모델을 최적화합니다. ChatGPT, Claude 등 대부분의 상용 LLM이 이 과정을 거칩니다.

text
RLHF 파이프라인:
  1. SFT 모델로 여러 응답 생성
  2. 인간 평가자가 응답 쌍의 선호도를 라벨링
  3. 선호도 데이터로 보상 모델 학습
  4. PPO 등 강화학습 알고리즘으로 정책 모델 최적화

DPO (Direct Preference Optimization)

DPO는 RLHF의 복잡한 파이프라인을 단순화한 방법입니다. 별도의 보상 모델 없이, 선호/비선호 응답 쌍을 직접 사용하여 모델을 최적화합니다. 구현이 간단하고 학습이 안정적이어서 최근 널리 채택되고 있습니다.

python
# DPO 학습 데이터 형식 예시
preference_data = [
    {
        "prompt": "Python에서 리스트를 정렬하는 방법을 알려주세요.",
        "chosen": "Python 리스트 정렬에는 두 가지 주요 방법이 있습니다. "
                  "sorted() 함수는 새로운 정렬된 리스트를 반환하고, "
                  ".sort() 메서드는 원본 리스트를 직접 변경합니다.",
        "rejected": "sort 쓰면 됩니다."
    }
]

파인튜닝이 필요한 경우와 불필요한 경우

모든 문제에 파인튜닝이 해답은 아닙니다. 파인튜닝은 상당한 비용과 노력이 드는 작업이므로, 먼저 다른 접근법을 검토해야 합니다.

파인튜닝 전에 시도할 것

Tip

파인튜닝을 결정하기 전에 프롬프트 엔지니어링과 RAG를 먼저 검토하는 것이 좋습니다. 이 두 가지 방법만으로도 대부분의 요구사항을 충족할 수 있습니다.

프롬프트 엔지니어링은 모델의 가중치를 변경하지 않고도 출력을 제어하는 가장 빠르고 저렴한 방법입니다. Few-shot 예제, Chain-of-Thought, 시스템 프롬프트 설계 등을 통해 원하는 출력을 유도할 수 있습니다. 대부분의 경우 프롬프트 엔지니어링만으로 충분한 성능을 달성할 수 있습니다.

RAG(Retrieval-Augmented Generation)는 외부 지식 소스를 검색하여 모델에 제공하는 방법입니다. 모델이 학습하지 않은 최신 정보나 도메인 특화 지식이 필요한 경우 효과적입니다. 파인튜닝과 달리 지식 업데이트가 즉시 가능하다는 장점이 있습니다.

파인튜닝이 효과적인 경우

파인튜닝은 다음과 같은 상황에서 명확한 가치를 제공합니다.

첫째, 특정 출력 형식이나 스타일이 필요한 경우입니다. 의료 보고서, 법률 문서, 기술 사양서 등 엄격한 형식을 따라야 하는 출력을 일관되게 생성해야 할 때 파인튜닝이 효과적입니다. 프롬프트만으로는 형식 일관성을 보장하기 어렵습니다.

둘째, 도메인 특화 용어나 지식이 깊이 필요한 경우입니다. 금융, 의료, 법률 등 전문 분야에서 해당 도메인의 관례와 용어를 정확하게 사용해야 할 때 파인튜닝이 유용합니다.

셋째, 추론 비용을 줄여야 하는 경우입니다. 큰 모델에서 복잡한 프롬프트로 달성하던 성능을 작은 모델의 파인튜닝으로 대체할 수 있습니다. 이는 추론 지연 시간과 API 비용을 모두 절감합니다.

text
의사결정 흐름:
 
  요구사항 분석
       |
  프롬프트 엔지니어링으로 해결 가능한가? --> 예 --> 프롬프트 최적화
       |
      아니오
       |
  RAG로 해결 가능한가? --> 예 --> RAG 파이프라인 구축
       |
      아니오
       |
  충분한 학습 데이터가 있는가? --> 아니오 --> 데이터 수집/생성
       |
       예
       |
  파인튜닝 진행

파인튜닝이 부적합한 경우

반면 다음 상황에서는 파인튜닝을 피해야 합니다.

최신 정보가 지속적으로 필요한 경우 RAG가 더 적합합니다. 파인튜닝된 모델은 학습 시점의 지식만 가지고 있으며, 지식 업데이트를 위해서는 재학습이 필요합니다.

학습 데이터가 부족한 경우에도 파인튜닝은 효과적이지 않습니다. SFT의 경우 최소 수백 개, 이상적으로는 수천 개 이상의 고품질 예제가 필요합니다. 적은 데이터로 학습하면 과적합(Overfitting)이 발생하여 오히려 성능이 저하될 수 있습니다.

파인튜닝 방법론의 발전

파인튜닝 기법은 모델의 규모가 커짐에 따라 빠르게 진화해 왔습니다. 초기에는 모든 파라미터를 업데이트하는 Full Fine-Tuning이 표준이었으나, 이는 모델의 전체 크기에 해당하는 메모리와 연산이 필요하다는 한계가 있었습니다.

Full Fine-Tuning

전체 파인튜닝은 모델의 모든 파라미터를 학습 대상으로 삼는 방법입니다. 가장 높은 성능을 달성할 수 있지만, 70억 파라미터 모델 기준으로 학습에 약 56GB 이상의 GPU 메모리가 필요합니다. 이는 학습 가능한 파라미터의 그래디언트, 옵티마이저 상태, 활성화 값 등이 추가로 필요하기 때문입니다.

text
Full Fine-Tuning 메모리 요구량 (FP16 기준, 7B 모델):
  모델 가중치:        14 GB
  그래디언트:          14 GB
  옵티마이저 상태:     28 GB (Adam 기준)
  활성화 값:           가변 (배치 크기에 비례)
  ----------------------------------
  최소 총합:           약 56 GB+

Parameter-Efficient Fine-Tuning (PEFT)

PEFT는 전체 파라미터 중 극히 일부만 학습시키는 접근법을 통칭합니다. 대표적인 방법으로 LoRA(Low-Rank Adaptation), Prefix Tuning, Adapter 등이 있으며, 이 중 LoRA가 현재 가장 널리 사용됩니다.

LoRA는 모델의 가중치 행렬에 저랭크(Low-Rank) 분해를 적용하여 학습 파라미터 수를 원본의 0.1 ~ 1% 수준으로 줄입니다. 이를 통해 소비자용 GPU에서도 대규모 모델을 파인튜닝할 수 있게 되었습니다.

text
PEFT 방법 비교:
 
  방법              학습 파라미터 비율    메모리 효율    성능
  Full Fine-Tuning  100%               낮음          높음
  LoRA              0.1~1%             높음          높음 (Full에 근접)
  QLoRA             0.1~1%             매우 높음     높음 (LoRA에 근접)
  Prefix Tuning     0.1%               높음          중간
  Adapter           1~5%               중간          중간~높음

QLoRA는 LoRA에 양자화를 결합한 방법으로, 모델 가중치를 4비트로 양자화하여 메모리 사용량을 더욱 줄입니다. 이를 통해 단일 24GB GPU에서도 70억 파라미터 모델의 파인튜닝이 가능해졌습니다.

파인튜닝 실전 가이드 시리즈 로드맵

이 시리즈에서는 LLM 파인튜닝의 전체 과정을 실습 중심으로 다룹니다. 데이터 준비부터 모델 배포까지, 프로덕션에서 실제로 파인튜닝을 수행하기 위해 필요한 모든 단계를 체계적으로 안내합니다.

text
시리즈 로드맵:
 
  1장: 파인튜닝 개념과 사전 학습 모델의 이해 (현재)
  2장: 학습 데이터 설계와 구축
  3장: 데이터 품질 관리와 전처리 파이프라인
  4장: LoRA의 원리와 실전 적용
  5장: QLoRA로 소비자 GPU에서 파인튜닝하기
  6장: 학습 파이프라인 구축과 하이퍼파라미터 최적화
  7장: 파인튜닝 모델 평가와 벤치마킹
  8장: 모델 레지스트리와 버전 관리
  9장: 학습-평가-배포 자동화 사이클
  10장: 실전 프로젝트 - 도메인 특화 모델 파인튜닝

각 장은 이론적 배경과 함께 실행 가능한 코드를 포함하며, 실제 프로덕션 환경에서 마주치는 문제와 해결책을 중심으로 구성됩니다.

환경 준비

이 시리즈의 실습을 따라 하기 위해 필요한 기본 환경을 정리합니다.

하드웨어 요구사항

파인튜닝에 필요한 최소 하드웨어 사양은 방법론에 따라 크게 달라집니다.

text
방법별 최소 GPU 메모리 (7B 모델 기준):
 
  Full Fine-Tuning:  80GB (A100 1대)
  LoRA:              24GB (RTX 4090 1대)
  QLoRA:             16GB (RTX 4080 1대)
  QLoRA + Gradient   12GB (RTX 4070 Ti 1대)
  Checkpointing:

클라우드 GPU를 사용하는 것도 좋은 선택입니다. AWS, GCP, Lambda Labs, RunPod 등에서 시간 단위로 GPU 인스턴스를 대여할 수 있으며, 이 시리즈에서는 단일 GPU 환경을 기준으로 설명합니다.

소프트웨어 환경

bash
# Python 가상 환경 생성
python -m venv fine-tuning-env
source fine-tuning-env/bin/activate
 
# 핵심 라이브러리 설치
pip install torch torchvision torchaudio
pip install transformers datasets accelerate peft
pip install trl bitsandbytes wandb
pip install evaluate scikit-learn

위 라이브러리의 역할을 정리하면 다음과 같습니다.

  • transformers: Hugging Face의 모델 라이브러리로, 사전 학습 모델 로드 및 학습에 사용합니다.
  • datasets: 학습 데이터 로드 및 전처리를 위한 라이브러리입니다.
  • accelerate: 분산 학습과 혼합 정밀도 학습을 간편하게 설정합니다.
  • peft: LoRA, QLoRA 등 PEFT 방법론을 구현한 라이브러리입니다.
  • trl: SFT, DPO, RLHF 등 학습 루프를 제공하는 라이브러리입니다.
  • bitsandbytes: 4비트/8비트 양자화를 지원하는 라이브러리입니다.
  • wandb: 학습 과정을 시각화하고 추적하는 실험 관리 도구입니다.

정리

이번 장에서는 파인튜닝의 기본 개념, 유형, 적용 시점에 대해 살펴보았습니다. 핵심 내용을 정리하면 다음과 같습니다.

  • 파인튜닝은 사전 학습된 모델을 특정 작업에 맞게 추가 학습시키는 과정입니다.
  • SFT, RLHF, DPO 등 목적에 따라 다양한 파인튜닝 유형이 존재합니다.
  • 파인튜닝 전에 프롬프트 엔지니어링과 RAG를 먼저 검토해야 합니다.
  • PEFT 기법의 발전으로 소비자용 GPU에서도 대규모 모델의 파인튜닝이 가능해졌습니다.

다음 장에서는 파인튜닝의 성패를 좌우하는 학습 데이터의 설계와 구축 방법을 다룹니다. 고품질 데이터를 어떻게 수집하고, 어떤 형식으로 구성해야 하는지를 실전 관점에서 안내합니다.

이 글이 도움이 되셨나요?

관련 주제 더 보기

#llm#training#mlops#data-engineering

관련 글

AI / ML

2장: 학습 데이터 설계와 구축

파인튜닝 성패를 좌우하는 학습 데이터의 설계 원칙, 수집 전략, 데이터 형식을 실전 관점에서 체계적으로 안내합니다.

2026년 1월 16일·20분
AI / ML

3장: 데이터 품질 관리와 전처리 파이프라인

파인튜닝 학습 데이터의 정제, 중복 제거, 토큰화, 패딩 전략 등 실전 전처리 파이프라인을 구축하는 방법을 다룹니다.

2026년 1월 18일·18분
AI / ML

4장: LoRA의 원리와 실전 적용

LoRA(Low-Rank Adaptation)의 수학적 원리를 이해하고, 타겟 레이어 선택부터 하이퍼파라미터 튜닝까지 실전 적용법을 다룹니다.

2026년 1월 20일·15분
다음 글2장: 학습 데이터 설계와 구축

댓글

목차

약 21분 남음
  • 파인튜닝이란 무엇인가
    • 사전 학습과 파인튜닝의 관계
  • 파인튜닝의 유형
    • Supervised Fine-Tuning (SFT)
    • RLHF (Reinforcement Learning from Human Feedback)
    • DPO (Direct Preference Optimization)
  • 파인튜닝이 필요한 경우와 불필요한 경우
    • 파인튜닝 전에 시도할 것
    • 파인튜닝이 효과적인 경우
    • 파인튜닝이 부적합한 경우
  • 파인튜닝 방법론의 발전
    • Full Fine-Tuning
    • Parameter-Efficient Fine-Tuning (PEFT)
  • 파인튜닝 실전 가이드 시리즈 로드맵
  • 환경 준비
    • 하드웨어 요구사항
    • 소프트웨어 환경
  • 정리