콘텐츠로 바로가기

LLM Fine-Tuning & Alignment

사전 학습된 LLM의 행동을 특정 도메인이나 인간 선호도에 맞게 추가 조정하는 기법. 1. SFT (지도 학습 미세 조정) 2. 보상 모델 학습 (인간 선호도 쌍 비교) 3. PPO로 보상 최대화

9분 읽기

지식 성숙도: evergreen

목차 보기22

1. Overview

LLM 미세 조정과 정렬(LLM Fine-Tuning & Alignment)은 사전 학습(pre-training)을 마친 언어 모델의 가중치나 입력 표현을 추가로 조정하여, 특정 도메인의 문체·형식·용어를 따르거나 사람이 선호하는 방식으로 응답하도록 만드는 기법을 다룹니다.

사전 학습된 모델은 다음 토큰을 잘 맞히도록 학습되었을 뿐, 사용자의 지시를 따르거나 안전하고 유용한 답을 내도록 직접 최적화된 것은 아닙니다. 이 간극을 메우는 방법은 크게 세 갈래입니다. 모델 전체를 다시 학습하는 Full Fine-Tuning, 일부 파라미터만 학습하는 파라미터 효율적 미세 조정(PEFT), 그리고 사람의 선호를 보상 신호로 바꿔 최적화하는 **인간 피드백 기반 강화 학습(RLHF)**입니다. 이 글은 세 방식이 각각 무엇을 바꾸는지, 비용과 효과가 어떻게 다른지, 그리고 RAG나 프롬프트 최적화 대신 미세 조정을 선택해야 하는 경우가 언제인지를 정리합니다.

2. Scope & Boundaries

In-Scope

  • 미세 조정 방식의 분류 (Fine-Tuning Taxonomy): Full Fine-Tuning, PEFT(LoRA, Prefix Tuning)의 학습 대상과 비용 차이.
  • 선호 기반 정렬 (Preference-based Alignment): SFT → 보상 모델(Reward Model) → PPO로 이어지는 RLHF 3단계 파이프라인.
  • 방식 선택 기준 (Selection Criteria): RAG, 프롬프트 최적화, 미세 조정 사이의 선택.

Out-of-Scope

  • 사전 학습과 스케일링 법칙: 모델·데이터 규모와 손실의 관계 → LLM Scaling Laws 영역.
  • RAG 파이프라인 구축 세부: 청킹, 검색기, 재순위화 → RAG Architecture 영역.
  • 분산 학습 인프라와 서빙: GPU 클러스터 구성, 추론 서버 운영은 MLOps 영역입니다.

Boundaries

  • Fine-Tuning vs. RAG: 미세 조정은 모델의 **행동(문체, 형식, 용어 사용 습관)**을 바꾸는 데 적합하고, RAG는 바뀌는 사실 정보를 추론 시점에 주입하는 데 적합합니다. 둘은 배타적이지 않아 함께 쓰기도 하지만, 어느 쪽이 문제의 원인에 맞는지 먼저 판단해야 합니다.
  • SFT vs. RLHF: SFT는 "정답 예시를 모방"하도록, RLHF는 "사람이 더 좋다고 고른 응답"을 향하도록 모델을 조정합니다. InstructGPT에서 RLHF는 SFT 위에 쌓이는 후속 단계로 구성되었습니다.

3. Counterexample

  • 지식 주입 목적의 무조건적 파인튜닝: 최신 사내 문서나 자주 바뀌는 사실을 모델에 "넣겠다"며 매번 가중치를 다시 학습하는 접근. 사실이 바뀔 때마다 재학습이 필요하고 어떤 문서에서 나온 답인지 추적하기 어렵습니다. 갱신이 잦은 정보는 검색으로 주입하는 RAG가 보통 운영 비용과 추적성 면에서 유리합니다.
  • 프롬프트를 확인하지 않은 파인튜닝: 출력 형식이 안 맞는다는 이유로 곧바로 학습 데이터를 모으는 접근. 지시문과 예시(few-shot)를 다듬는 것만으로 해결되는 경우가 많으므로, 미세 조정은 프롬프트 최적화로 부족함이 확인된 뒤에 시작하는 편이 비용 면에서 안전합니다. 아래 연결 노트의 Prompt Engineering을 먼저 확인합니다.
  • LoRA는 "무손실 압축"이라는 오해: LoRA는 원본 가중치를 동결하고 저순위(low-rank) 업데이트만 학습하므로, 업데이트가 표현할 수 있는 범위가 순위 r로 제한됩니다. 학습 비용이 크게 줄어드는 대신 Full Fine-Tuning과 항상 같은 품질이 보장되는 것은 아닙니다.

4. Prerequisites

  • 사전 학습의 목적 함수 (Basic): 다음 토큰 예측과 cross-entropy loss를 이해해야 미세 조정이 무엇을 "추가로" 바꾸는지 구분할 수 있습니다. → Next-Token Prediction
  • Transformer의 가중치 구조 (Basic): LoRA가 어느 행렬에 어댑터를 붙이는지 알려면 어텐션 투영과 FFN의 가중치 행렬을 알아야 합니다. → Transformer Architecture
  • 강화 학습의 기초 (Recommended): 정책, 보상, KL 제약의 의미를 알아야 RLHF의 PPO 단계를 읽을 수 있습니다.

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 Full Fine-Tuning 모델 전체 파라미터를 추가 학습하는 기준선을 이해하고, 성능과 연산·저장 비용의 관계를 파악합니다. Primary:Ouyang2022
2 PEFT (LoRA, Prefix Tuning) 원본을 동결하고 작은 어댑터나 접두 벡터만 학습하는 방식의 원리와 한계를 비교합니다. Primary:Hu2021
3 RLHF Pipeline SFT, 보상 모델, PPO의 세 단계가 서로 어떤 데이터를 쓰고 무엇을 최적화하는지 구분합니다. Primary:Ouyang2022
4 Method Selection RAG, 프롬프트 최적화, 미세 조정 중 문제 유형에 맞는 접근을 고르는 판단 기준을 세웁니다. Primary:Lewis2020

연결 노트

  • LLM Scaling Laws — Fine-Tuning은 스케일링 대비 데이터 효율이 높을 때 선택
  • RAG Architecture — Fine-Tuning 대안으로 지식 주입
  • Prompt Engineering — Fine-Tuning 전 프롬프트 최적화로 충분한지 먼저 확인
  • ReAct Pattern in LLMs — RLHF로 에이전트의 tool 선택 행동을 인간 피드백으로 정렬 가능

6. Learning Topics

Basic

Core Topic 01: Full Fine-Tuning과 PEFT (Parameter Efficiency)

  • Why to Learn: 수십억 개 이상의 파라미터를 가진 모델을 도메인마다 통째로 복제해 학습하면 연산과 저장 비용이 빠르게 불어나기 때문에, "무엇을 학습하고 무엇을 고정할 것인가"가 첫 번째 설계 결정이 됩니다.
  • What to Learn:
    • Concepts: Full Fine-Tuning은 모든 파라미터를 다시 학습하므로 성능 상한이 높은 대신 연산 비용이 가장 큽니다. PEFT는 이 중 일부만 학습해 비용을 낮춥니다.
    • Skills: LoRA는 사전 학습 가중치 WW 는 그대로 얼려 두고, 학습으로 생기는 변화량 ΔW\Delta W 를 두 작은 행렬의 곱 BABA (순위 rr 은 원래 차원보다 훨씬 작음)로 근사해 그 어댑터만 갱신합니다. Prefix Tuning은 입력 앞쪽에 학습 가능한 연속 벡터(가상 토큰)를 붙이는 방식입니다.
    • Tools: Hugging Face PEFT 라이브러리.
    • Trade-offs: LoRA 논문은 GPT-3 175B 기준으로 학습 가능한 파라미터를 약 10,000분의 1, GPU 메모리를 약 3분의 1로 줄였다고 보고했습니다. 대신 업데이트의 표현력이 순위 rr 에 묶이며, 어떤 행렬에 어댑터를 붙일지와 rr 값을 직접 정해야 합니다.
  • How to Learn:
    • 1단계: 한 층의 가중치가 d×kd \times k 일 때 Full Fine-Tuning이 학습하는 원소 수 dkdk 와 LoRA가 학습하는 원소 수 r(d+k)r(d+k) 를 비교해 봅니다.
    • 2단계: Prefix Tuning은 모델 각 층의 활성(attention의 key/value 쪽)에 학습 가능한 접두 벡터를 붙이고, 입력 임베딩에만 붙이는 Prompt Tuning과 어떻게 다른지 논문으로 확인합니다.
  • Implement: 선택한 모델의 어텐션 투영 행렬 크기를 읽어 rr 값별 학습 파라미터 비율을 계산하는 작은 스크립트(LoRA Parameter Ratio Calculator).

Core Topic 02: RLHF 3단계 파이프라인 (SFT, Reward Model, PPO)

  • Why to Learn: 사전 학습만 마친 모델은 지시를 따르도록 최적화되지 않았기 때문에, 사람이 선호하는 응답 방향으로 모델을 맞추는 표준적인 절차를 알아야 합니다. InstructGPT 논문은 이 절차로 1.3B 파라미터 모델의 출력이 175B GPT-3의 출력보다 사람 평가에서 선호되었다고 보고했습니다.
  • What to Learn:
    • Concepts: RLHF(Reinforcement Learning from Human Feedback), 보상 모델(Reward Model), KL 페널티.
    • Skills: 먼저 SFT로 시연 데이터를 모방하게 만들고, 다음으로 응답 두 개 중 더 나은 쪽을 고른 선호 비교 데이터로 보상 모델을 학습한 뒤, 마지막에 PPO로 그 보상 점수를 높이는 방향으로 모델을 갱신합니다. 이때 SFT 모델에서 너무 멀어지지 않도록 KL 페널티를 함께 둡니다.
    • Tools: 선호 데이터 수집 도구, PPO 구현체.
    • Trade-offs: 보상 모델이 불완전한 대리 지표이므로 보상을 과하게 최적화하면 사람이 실제로 원하는 방향에서 벗어날 수 있습니다. 후속 연구인 DPO는 별도 보상 모델과 강화 학습 루프 없이 선호 쌍으로 직접 최적화하는 대안을 제시합니다.
  • How to Learn:
    • 1단계: 선호 쌍 (yw,yl)(y_w, y_l) 에서 보상 모델이 ywy_w 에 더 높은 점수를 주도록 학습하는 손실의 형태를 InstructGPT 논문에서 확인합니다.
    • 2단계: PPO 목적 함수에서 KL 항이 어떤 역할을 하는지, 이 항을 없애면 어떤 현상이 예상되는지 설명해 봅니다.
  • Implement: 소규모 선호 데이터셋으로 보상 모델을 학습하고, 학습된 점수로 응답 후보를 정렬해 보는 실습.

Practical

Core Topic 03: RAG와 Fine-Tuning의 선택 (Method Selection)

  • Why to Learn: 같은 "모델이 원하는 답을 못 한다"는 증상이라도 원인이 정보 부족인지 행동 양식인지에 따라 해법이 다르므로, 비용이 큰 학습을 시작하기 전에 접근을 가려야 합니다.
  • What to Learn:
    • Concepts: RAG(검색 증강 생성)는 학습된 파라미터 바깥의 문서를 추론 시점에 주입하는 방식입니다.
    • Skills: 아래 표로 시나리오별 선택을 판단합니다.
    • Tools: 프롬프트 평가셋, 검색 품질 평가 지표.
    • Trade-offs: 미세 조정은 추론 시 컨텍스트를 줄이고 형식을 안정시킬 수 있지만 재학습 비용이 들고, RAG는 갱신이 쉽지만 검색 품질과 컨텍스트 길이에 의존합니다.
상황 권장 이유
바뀌는 최신 정보를 계속 반영해야 함 RAG 문서만 교체하면 되고 재학습이 필요 없음
말투나 출력 형식을 일정하게 고정하고 싶음 Fine-Tuning 행동 양식은 가중치에 반영하는 편이 안정적
도메인 전문 용어를 모델이 자연스럽게 쓰게 하고 싶음 Fine-Tuning 용어 사용 습관을 학습시킴
데이터가 적고 빠르게 실험해야 함 RAG 학습 없이 바로 시도 가능
  • How to Learn:
    • 1단계: 실패한 응답 사례를 모아 "정보가 없어서 틀림", "형식이 틀림", "용어를 잘못 씀"으로 분류합니다.
    • 2단계: 분류별로 프롬프트 수정, RAG, 미세 조정 중 가장 싼 해법부터 시도하고 효과를 비교합니다.
  • Implement: 사내 질의응답 사례 20~30건을 위 세 범주로 분류하고 범주별 권장 접근을 적은 의사결정 표 작성.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry:ID) Flags(core)
Fine-Tuning 사전 학습된 모델을 추가 데이터로 더 학습시켜 특정 작업이나 도메인에 맞추는 과정입니다. 기본 모델 적응 SFT / PEFT vs. Prompting 새로운 지식을 안정적으로 주입하는 수단으로 오해함 Primary:Ouyang2022 core
PEFT 모델의 일부 파라미터나 추가 모듈만 학습하여 비용을 줄이는 미세 조정 계열입니다. 기본 비용 절감 LoRA / Prefix Tuning vs. Full Fine-Tuning 항상 Full Fine-Tuning과 동일한 품질이라고 믿음 Primary:Hu2021 core
LoRA 가중치 업데이트를 두 개의 저순위 행렬의 곱으로 제한해 어댑터만 학습하는 방법입니다. 권장 어댑터 Low-Rank Decomposition vs. Prefix Tuning 원본 가중치가 바뀐다고 오해함(원본은 동결) Primary:Hu2021 core
RLHF 인간 선호 비교로 보상 모델을 만들고 이를 강화 학습으로 최적화해 응답을 정렬하는 절차입니다. 권장 정렬 SFT / PPO vs. DPO 보상 모델이 인간 선호를 완전히 대변한다고 가정함 Primary:Ouyang2022 core
Alignment 모델의 행동이 사용자의 의도와 가치에 부합하도록 맞추는 목표입니다. 권장 목표 개념 Instruction-following vs. Capability 성능 향상과 같은 개념으로 혼동함 Primary:Ouyang2022 core

8. References

Primary References

  • [Ouyang et al., 2022. "Training language models to follow instructions with human feedback." arXiv:2203.02155] — SFT, 보상 모델, PPO로 구성된 RLHF 파이프라인과 InstructGPT 결과.
  • [Hu et al., 2021. "LoRA: Low-Rank Adaptation of Large Language Models." arXiv:2106.09685] — 저순위 어댑터와 파라미터·메모리 절감 결과.
  • [Li & Liang, 2021. "Prefix-Tuning: Optimizing Continuous Prompts for Generation." arXiv:2101.00190] — 접두 벡터 기반 미세 조정.

Secondary References

  • [Lester et al., 2021. "The Power of Scale for Parameter-Efficient Prompt Tuning." arXiv:2104.08691] — 입력 임베딩에만 학습 가능한 프롬프트를 두는 방식과 Prefix Tuning의 대비.
  • [Schulman et al., 2017. "Proximal Policy Optimization Algorithms." arXiv:1707.06347] — RLHF 3단계에서 쓰이는 PPO.
  • [Rafailov et al., 2023. "Direct Preference Optimization: Your Language Model is Secretly a Reward Model." arXiv:2305.18290] — 별도 보상 모델 없이 선호 쌍으로 직접 최적화하는 대안.

Industry References

  • [Lewis et al., 2020. "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks." arXiv:2005.11401] — RAG의 원 논문으로, 미세 조정 대안으로서의 검색 기반 지식 주입.
  • [Hugging Face PEFT Documentation] — LoRA, Prefix Tuning 등 PEFT 기법의 구현 가이드.

9. Final Checklist

Primary Checklist

  • Full Fine-Tuning, LoRA, Prefix Tuning이 각각 무엇을 학습하고 무엇을 동결하는지 설명할 수 있는가?
  • RLHF의 세 단계(SFT, 보상 모델, PPO)에서 각 단계의 입력 데이터와 최적화 대상을 구분할 수 있는가?

Secondary Checklist

  • 문제를 "정보 부족"과 "행동 양식 문제"로 먼저 구분한 뒤 RAG와 Fine-Tuning 중 하나를 선택했는가?
  • 미세 조정에 들어가기 전에 프롬프트 최적화만으로 충분한지 확인했는가?

Industry Checklist

  • 갱신이 잦은 정보를 모델 가중치에 넣는 대신 검색으로 주입하는 구조를 고려했는가?
  • LoRA의 순위 rr 과 대상 행렬을 바꿔 가며 품질과 비용을 측정해 두었는가?

LLM Fine-Tuning & Model Alignment

2 / 2