파인튜닝은 도대체 무엇을 조정하는가
← 전체 목차 · 이전: 프롬프트가 너무 길면 무슨 함정이 있나 · 다음: SFT와 RLHF는 무엇이 다른가
| 내용 |
|---|
| ❌ 흔한 오해 | 새로운 지식을 허공에서 주입하는 것 |
| ✅ 파인튜닝의 실상 | 더 안정적인 출력 습관을 형성하는 것 |
"안정적인 출력 습관"은 구체적으로 세 가지를 뜻한다: 고정된 형식, 고정된 어조, 고정된 판단 기준. 이것이 파인튜닝의 가장 흔한 가치다.
한 줄 기억점: 파인튜닝은 모델에게 "어떻게 답할지"를 가르치고, RAG는 "답변의 근거"를 보충한다.
1단계: 문제 유형 판단 — 먼저 "해야 하는가"를 가린다
모든 문제가 파인튜닝에 적합한 것은 아니다.
| 증상 | 무엇이 없는가 | 예시 | 처방 |
|---|
| 외부 정보 부족 | 외부 지식 결손 | 최신 자료 / 회사 제도 / 제품 문서 | RAG를 우선 |
| 출력이 불안정 | 내재 패턴 결손 | 안정적 스타일 / 고정 형식 / 작업 패턴 | 파인튜닝 고려 |
판단 기준 한 줄: "나는 모델이 더 많이 알기를 원하는가, 아니면 내가 원하는 모습에 더 가깝게 행동하기를 원하는가?"
2단계: 데이터 — 수량보다 일관성이 우선
| ❌ 오해 | ✅ 정답 |
|---|
| 데이터는 많을수록 좋다 | 샘플은 일관될수록 좋다 |
통일해야 할 세 가지:
- 입력은 무엇인가?
- 이상적인 출력은 무엇인가?
- 경계는 어떻게 처리하는가?
경고: 잘못된 샘플이 섞이면 모델은 그 오류를 성실히 학습한다 — 더러운 샘플은 무시되는 것이 아니라 그대로 학습된다.
3단계: 평가 — 학습 loss만 보지 말 것
학습 loss는 검수 기준이 아니다. 실제 업무 문제가 기준이다.
| 차원 | 대응 질문 |
|---|
| 형식 안정성 | 형식이 안정적인가 |
| 스타일 유사도 | 스타일이 비슷한가 |
| 복잡한 경계 처리 | 복잡한 경계에서 엉뚱한 답을 하지 않는가 |
추가로 한 가지 횡적 대조: Prompt, RAG와 비교했을 때 수익이 뚜렷한가. 프롬프트 엔지니어링이나 RAG로 같은 효과를 낼 수 있다면 파인튜닝할 필요가 없다.
4단계: 출시 리스크 평가
핵심 취사선택:
- 수익: 파인튜닝은 목표 작업을 더 안정적으로 만들 수 있다.
- 대가: 모델의 일반화 능력이 떨어질 수도 있다.
대응 3종 세트: 버전 롤백 + 실시간 모니터링 + 지속적 샘플 이터레이션.
파인튜닝과 RAG의 분업
| 방안 | 무엇을 담당하나 |
|---|
| 파인튜닝(SFT) | 모델에게 **"어떻게 답할지"**를 가르친다 |
| RAG | **"답변의 근거"**를 보충한다 |
파인튜닝 성패의 핵심 요소: 목표 명확 + 데이터 청결 + 평가가 실제 사용에 근접.
4단계 의사결정 흐름
Step 1 문제 유형 판단
외부 지식 결손(최신 자료/회사 제도/제품 문서) → RAG 우선, 절차 종료
내재 패턴 결손(안정적 스타일/고정 형식/작업 패턴) → Step 2로
↓
Step 2 데이터 준비(일관성 > 수량)
세 가지 통일: 입력은 무엇인가? 이상적 출력은 무엇인가? 경계는 어떻게 처리하는가?
잘못된 샘플 세정(그렇지 않으면 모델이 그대로 학습한다)
↓
Step 3 평가(학습 loss가 아니라 실제 업무를 본다)
① 형식 안정성 ② 스타일 유사도 ③ 복잡한 경계 처리
④ 대조군: Prompt / RAG 대비 수익이 뚜렷한가 → 뚜렷하지 않으면 파인튜닝 포기
↓
Step 4 출시 리스크 평가
수익: 목표 작업이 더 안정적 / 대가: 일반화 능력 하락
가드레일: 버전 롤백 + 실시간 모니터링 + 지속적 샘플 이터레이션
핵심 통찰
- 파인튜닝이 바꾸는 것은 "행동 분포"이지 "지식베이스"가 아니다 — 모델이 무언가를 더 알기를 원한다면 파인튜닝은 가장 비싸고 가장 신뢰할 수 없는 경로다. 파인튜닝이 진짜 잘하는 것은 출력을 안정적인 틀 안에 밀어 넣는 것이다.
- "무엇이 없는가"를 먼저 판별하고 방안을 고를 것 — 외부 지식(시효, 제도, 문서)이 없으면 RAG, 내재 패턴(스타일, 형식, 작업 관용구)이 없으면 파인튜닝. 이 판별이 대다수의 무효한 파인튜닝 프로젝트를 막아준다.
- 데이터의 첫 번째 지표는 일관성이지 규모가 아니다 — 파인튜닝 집합의 샘플들이 서로 싸우는 것은 모델에게 자기모순적인 목표를 주는 것과 같다. 입이 통일된 500건이 스타일이 제각각인 5000건보다 낫다.
- 모델은 더러운 데이터에 면역이 없다 — "잘못된 샘플이 섞이면 모델은 그 오류를 성실히 학습한다". 데이터 세정은 선택 사항이 아니라 파인튜닝 비용에 반드시 계상해야 할 항목이다.
- 학습 loss 하락 ≠ 업무 사용 가능 — loss는 당신이 준 분포에 모델이 적합했다는 것만 말할 뿐, 그 분포가 업무에 맞는지는 말해주지 않는다. 검수는 반드시 실제 업무 문제의 형식·스타일·경계 세 차원으로 돌아와야 한다.
- "더 싼 대체재가 있는가"라는 대조 단계를 반드시 거칠 것 — Prompt, RAG와 비교해 수익이 뚜렷한지가 파인튜닝 여부를 결정하는 경제성 관문이며, 엔지니어링 판단력을 가장 잘 드러내는 한마디다.
- 파인튜닝은 대가가 있는 능력 교환이다 — 목표 작업이 더 안정적이 되는 대가로 일반화 능력이 떨어지는 경우가 많다. 그러므로 출시를 리스크가 있는 변경으로 관리해야 하며, 롤백·모니터링·지속적 샘플 이터레이션 3종 세트가 하나도 빠질 수 없다.
엔지니어링 실전 Tips
- 프로젝트를 시작할 때 한 문장을 먼저 쓸 것: "내가 모델에게 바꾸게 하려는 것은 지식인가 행동인가?" 답이 지식이면 파인튜닝 프로젝트를 열지 말 것.
- 파인튜닝 집합을 만들기 전에 "라벨링 규범"을 먼저 정할 것: 입력 필드, 이상적 출력 템플릿, 경계 상황의 통일된 처리 방식 세 가지를 확정한 뒤에 손을 댈 것.
- 평가셋은 실제 업무 로그에서 뽑을 것, 특히 복잡한 경계 샘플을 뽑을 것: 학습셋과 평가셋이 같은 사람이 같은 날 만들어낸 것이면 안 된다.
- Prompt-only와 RAG-only 대조 결과를 항상 보존할 것: 파인튜닝 버전이 대조군보다 뚜렷이 우수해야 출시 가치가 있다.
- 롤백 가능한 방식으로 배포할 것(베이스 버전 유지 + 카나리), 그리고 형식 안정성·거부 응답률·경계 오답률을 온라인 모니터링할 것.
- 샘플 이터레이션을 상시 절차로 만들 것: 프로덕션에서 발견된 나쁜 케이스를 새 샘플로 환류시켜야지, 한 번 파인튜닝하고 끝내지 말 것.
- 더 파고들 방향: LoRA / QLoRA 등 파라미터 효율 파인튜닝의 비용 비교, 파인튜닝으로 인한 파국적 망각의 정량 평가, SFT와 선호 정렬(DPO/RLHF)의 분업, 파인튜닝 데이터셋의 자동 일관성 검사, RAG + 파인튜닝 혼합 방안의 적용 경계.