RAG는 LLM 성능을 높이는 강력한 방법이지만, 자주 함께 언급되는 다른 기법이 파인튜닝(fine-tuning)이다. 프롬프트를 보강하는 RAG와 달리, 파인튜닝은 기성 LLM을 특정 맥락에 맞게 재학습한다. 이번 편은 파인튜닝이 무엇이고 RAG와 어떻게 나뉘며 어떻게 함께 쓰는지를 정리한다 — Module 4의 마지막이다.

 

 

1. 파인튜닝이란

핵심은 내 데이터로 언어 모델을 재학습해 내부 파라미터를 갱신하는 것이다. 보통 지도 파인튜닝(SFT, Supervised Fine-Tuning)으로 한다 — 적응시키려는 도메인의 라벨된 데이터셋으로 재학습하므로 "지도"다. 특히 instruction fine-tuning은 데이터셋에 지시(프롬프트·질문) 기대 정답(ground truth)을 함께 담는다. 입력 지시를 모델에 주고 출력이 정답에 얼마나 가까운지 보며 파라미터를 조정한다. 최초 학습과 매우 비슷하되, 특정 도메인 데이터를 쓴다는 점이 다르다.

그림 1. 파인튜닝 — 라벨 데이터로 재학습(SFT). instruction tuning은 지시+정답으로 파라미터를 조정한다.

 

 

2. 예시 — 의료 도메인 특화

의료 도메인용으로 파인튜닝한다고 하자. 범용 모델에 "관절통·피부 발진·햇빛 민감" 증상을 물으면 일반적인 톤의 두루뭉술한 답이 나온다 — 의료 데이터로 특화되지 않았기 때문이다. 같은 모델을 다량의 의료 지시·응답으로 instruction tuning하면, 그 질문에 훨씬 전문가답게 답하게 된다 — 더 정확하고 상세하며 의료 도메인에 맞는 스타일로.

그림 2. Before/After — 파인튜닝 전엔 일반적 답, 후엔 도메인에 맞는 정확·상세한 답을 낸다.

 

 

 

 

3. 언제 잘 통하나 (그리고 한계)

초기 의료 진단 제공이나 법률 브리프 요약처럼 특정 도메인에 특화시키고 싶을 때 잘 통한다. 다만 대상 도메인 성능은 오르지만 다른 도메인 성능은 떨어질 수 있다 — 파인튜닝이 타깃 도메인만 최적화하기 때문이다. 모델을 그 도메인 안에서만 쓴다면 이 trade-off는 대개 값어치가 있다. 특히 agentic 시스템 속 작은 모델이 그렇다 — 예컨대 "이 프롬프트가 검색이 필요한지"만 판단하는 모델이라면, 작고 가벼운 모델을 그 단일 작업에 강하게 파인튜닝하는 게 이상적이다.

주의할 점 하나 — 파인튜닝은 보통 새 정보를 가르치는 좋은 방법이 아니다. 파인튜닝은 모델이 어떻게 답하는지(단어·스타일·구조)에 더 큰 영향을 주고, 무엇을 아는지에는 영향이 덜하다.

그림 3. 파인튜닝은 도메인 특화·단일 작업에 강하다. 단, 다른 도메인 성능은 낮아질 수 있고  새 지식 주입에는 부적합 하다.

 

 

4. RAG vs Fine-tuning — 무엇을 언제

현재 통념은 RAG는 지식 주입(knowledge injection), 파인튜닝은 도메인 적응(domain adaptation)에 최적이라는 것이다.

그림 4. RAG = 지식 주입에 최적, 파인튜닝 = 도메인 적응에 최적.

 

 

5. 함께 쓰기 — 정답은 "둘 다"

둘은 경쟁 대안이 아니라 상호 보완 도구다. 특히 검색된 정보를 최종 응답에 잘 녹이도록 모델을 파인튜닝할 수 있다 — RAG 시스템 안에서 자기 역할에 특화시키는 것이다. 파인튜닝을 쓸지 RAG를 쓸지 정할 때, 최선의 선택은 둘 다인 경우가 많다.

그림 5. RAG와 파인튜닝을 함께 — 검색 정보를 잘 반영하도록 모델을 특화시키면 시스템 성능이 오른다.

 

직접 파인튜닝하려면 별도 학습이 필요할 만큼 복잡한 주제다. 다행히 이미 특정 작업·도메인에 파인튜닝된 모델을 온라인 저장소에서 찾아 그대로 쓸 수도 있다.

그림 6. 시작하기 — 파인튜닝 전용 강의를 듣거나, 이미 튜닝된 사전 모델(pre-tuned)을 활용한다.

 

결론. RAG와 파인튜닝은 종종 경쟁 관계로 묘사되지만, 실은 보완적 도구다. 파인튜닝된 모델을 RAG 파이프라인에 넣거나 최종 응답을 만드는 핵심 LLM을 파인튜닝하면 시스템 성능을 더 끌어올릴 수 있다.

 

Module 4를 마치며. 트랜스포머 구조(#20)로 LLM이 텍스트를 생성하는 원리를 보고, 샘플링 전략(#21)으로 무작위성을 통제했다. 모델 선택(#22)과 프롬프트 엔지니어링(#23·#24)으로 LLM을 다루는 법을, 환각 대응(#25)·성능 평가(#26)로 신뢰성을 확보하는 법을 익혔다. 마지막으로 agentic RAG(#27)와 파인튜닝(#28)으로 시스템을 한 단계 더 확장하는 길을 살펴봤다. 이로써 RAG Module 1~4를 모두 마친다.

'AI > RAG' 카테고리의 다른 글

RAG 평가 전략  (0) 2026.07.03
프로덕션이 어려운 이유  (0) 2026.07.03
Agentic RAG  (0) 2026.07.03
LLM 성능 평가 (RAGAS)  (0) 2026.07.03
환각(Hallucination) 다루기  (0) 2026.07.03

+ Recent posts