RAG vs 파인튜닝: 언제 무엇을 선택해야 하나

RAG와 파인튜닝의 근본적인 차이를 이해하고, 각각이 적합한 상황과 두 기법을 결합하는 방법을 실전 판단 기준과 함께 한국어로 완전 해설한다.

· 7 min read · PALDYN Team

지난 글에서 RAG 파이프라인을 RAGAS로 체계적으로 평가하는 방법을 배웠다. RAG를 깊이 공부하다 보면 자연스럽게 “그냥 모델을 파인튜닝하면 안 되나?”라는 의문이 생긴다. 실제로 RAG와 파인튜닝은 자주 혼동되는 개념이고, 둘 중 무엇을 선택해야 할지 명확한 기준 없이 결정하면 상당한 시간과 비용을 낭비할 수 있다. 이번 글에서는 두 기법의 근본적인 차이를 이해하고, 상황에 맞는 선택 기준을 제시한다.

핵심 차이: 지식의 위치

RAG와 파인튜닝의 가장 근본적인 차이는 지식이 어디에 저장되는가다.

  • RAG: 지식이 외부 데이터베이스에 있다. 모델은 검색 도구를 사용해 필요할 때 꺼내 쓴다.
  • 파인튜닝: 지식이 모델 가중치에 있다. 학습을 통해 파라미터에 정보가 내재된다.

이 차이에서 모든 장단점이 파생된다.

RAG vs 파인튜닝 핵심 비교

RAG의 강점: 동적 지식과 감사성

RAG는 다음 상황에서 파인튜닝보다 우월하다.

실시간으로 변하는 정보: 주가, 날씨, 최신 규정, 뉴스처럼 매일 바뀌는 정보는 모델에 학습시키는 것이 불가능하다. RAG는 벡터 데이터베이스의 문서만 교체하면 즉시 최신 정보를 반영한다.

출처 인용 필요: 법률, 의료, 금융 도메인에서는 “어디에 근거한 답변인가”가 매우 중요하다. RAG는 어떤 문서를 참조했는지 추적하고 인용할 수 있다.

지식 업데이트 빈도: 파인튜닝은 새 정보가 생길 때마다 GPU를 구동해 재학습해야 한다. RAG는 문서를 추가하고 임베딩하면 끝이다.

# RAG: 문서 추가로 즉시 지식 업데이트
new_document = "2026년 5월 최신 AI 규제 가이드라인 내용..."
vectorstore.add_documents([Document(page_content=new_document)])
# 즉시 다음 쿼리부터 반영됨 — 재학습 불필요

파인튜닝의 강점: 행동과 스타일

파인튜닝은 지식이 아닌 행동을 바꾸는 것에 탁월하다.

응답 스타일 최적화: “항상 JSON으로 응답하라”, “2문장 이내로 답하라”, “존댓말 없이 친구처럼 말하라” 같은 행동 패턴은 RAG로 구현하기 어렵고 파인튜닝으로 학습시키는 것이 효과적이다.

도메인 전문 용어: 의료 차트, 법률 문서, 특정 회사의 내부 용어를 자연스럽게 사용하도록 학습시킬 수 있다.

추론 비용 최소화: 파인튜닝된 소형 모델은 RAG 없이도 특정 작업을 잘 수행한다. 규모가 큰 서비스에서는 벡터 검색 + LLM 호출 비용보다 작은 파인튜닝 모델이 더 경제적일 수 있다.

# 파인튜닝 예: 특정 JSON 형식으로 응답하도록 학습
training_data = [
    {
        "prompt": "사용자가 '날씨 어때?'라고 물었을 때",
        "completion": '{"intent": "weather_query", "location": null, "time": "current"}'
    },
    # ... 수천 개의 예시
]
# 모델이 항상 이 형식으로 응답하도록 파인튜닝

RAG vs 파인튜닝 선택 기준

두 기법의 결합: 최선의 선택

실제 프로덕션에서 가장 강력한 접근은 RAG + 파인튜닝 결합이다.

# 접근 1: 파인튜닝으로 형식 학습 + RAG로 지식 주입
# Step 1: 원하는 응답 형식으로 파인튜닝
fine_tuned_model = finetune(
    base_model="claude-haiku-4-5-20251001",
    data=style_training_data  # 스타일/형식 학습
)

# Step 2: 파인튜닝 모델에 RAG 적용
rag_chain = (
    {"context": retriever, "question": RunnablePassthrough()}
    | prompt_template
    | fine_tuned_model
    | output_parser
)

# 결과: 스타일은 파인튜닝으로 최적화 + 지식은 RAG로 최신 유지

고객 지원 봇을 예로 들면, 파인튜닝으로 “항상 공손하고 해결책을 먼저 제안하는” 스타일을 학습시키고, RAG로 “최신 제품 매뉴얼과 FAQ”를 검색해 정확한 정보를 제공하는 구조가 이상적이다.

실전 의사결정 가이드

질문 1: 정보가 자주 변하는가?
  → Yes: RAG 우선 고려
  → No: 다음으로

질문 2: 모델의 행동 방식(형식, 스타일)을 바꾸고 싶은가?
  → Yes: 파인튜닝 고려
  → No: 프롬프트 엔지니어링으로 먼저 시도

질문 3: 출처 인용이 중요한가?
  → Yes: RAG 필수
  → No: 둘 다 가능

질문 4: GPU 예산이 제한적인가?
  → Yes: RAG (LoRA 파인튜닝은 가능)
  → No: 필요에 따라 선택

권고: 대부분의 경우 RAG로 시작해 필요 시 파인튜닝 추가

Microsoft Research의 연구(2023)에 따르면 GPT-4 기반 RAG는 GPT-3.5 파인튜닝보다 사실 정확도가 높다. 파인튜닝이 지식을 학습시키는 효과적인 방법처럼 보이지만, 모델은 특정 사실을 안정적으로 기억하는 데 한계가 있고 시간이 지나면 잊는(catastrophic forgetting) 경향이 있다. 지식은 RAG로, 행동은 파인튜닝으로 분리하는 것이 현업 모범 사례로 자리잡고 있다.


지난 글: RAG 평가: RAGAS로 검색 품질과 답변 품질 측정하기

다음 글: 파인튜닝 vs 프롬프트 엔지니어링 vs RAG: 세 전략의 완전 비교


읽어주셔서 감사합니다. 😊