사상 리더

RAG와 미세 조정, 무엇을 선택해야 할까? 실제 고객 프로젝트에서 얻은 교훈

mm
Unite.AI를 Google의 선호 소스에 추가

기업 AI에 관한 대화는 거의 대부분 시작한 지 한 시간도 안 돼 같은 갈림길에 이릅니다. 고객사에는 시연에서는 인상적이지만 자사 제품이나 정책, 글쓰기 방식은 모르는 대규모 언어 모델이 있습니다. 그러면 누군가 이렇게 묻습니다. 우리 데이터로 모델을 미세 조정해야 할까요, 아니면 모델에 검색 증강 생성(RAG)을 구축해야 할까요?

솔직히 말하면, 대개 질문 자체가 잘못 설정되어 있습니다. RAG와 미세 조정은 서로 다른 문제를 해결합니다. 두 방법을 경쟁 관계로 보는 팀은 잘못된 문제를 해결하느라 몇 달과 막대한 GPU 예산을 쓰기 쉽습니다. 실제로는 어떻게 결정하는지, 무엇이 잘되고 잘못되는지 살펴보겠습니다.

모델에 무엇이 부족한지부터 살펴보기

모델이 비즈니스 업무에 엉뚱한 답을 내놓는다면, 두 가지 중 하나가 부족한 것입니다.

지식이 부족한 경우입니다. 최신 가격표나 2025년 공급업체 계약서의 조항, 지난달 출시된 제품의 문제 해결 절차를 모르는 것입니다. 이는 사실 정보의 문제입니다.

행동 방식이 부족한 경우입니다. 필요한 정보를 어느 정도 알고 있지만, 원하는 방식으로 응답하지 않습니다. 지정된 출력 형식을 무시하거나, 어조를 잘못 사용하거나, 내부 코드를 잘못 해석하거나, 티켓을 40개 범주로 분류하는 것처럼 범위가 좁고 반복적인 작업을 수행하지 못합니다. 이는 기술의 문제입니다.

첫 번째 문제를 해결하는 도구는 RAG이고, 두 번째 문제를 해결하는 도구는 미세 조정입니다. 제가 보는 혼란은 대부분 사실 정보를 가르치는 데 미세 조정을 쓰려는 데서 비롯됩니다.

지식 추가에 미세 조정이 적합하지 않은 이유

문서로 모델을 학습시키면 그 내용을 ‘알게’ 될 것이라고 생각하기 쉽습니다. 하지만 실제로 모델은 문서 속 사실보다 문서의 문체를 훨씬 더 안정적으로 학습합니다. Microsoft 연구진은 지식이 중요한 질문을 대상으로 두 접근법을 직접 비교했고, 학습 중 모델이 접한 사실뿐 아니라 완전히 새로운 사실에 대해서도 RAG가 비지도 미세 조정보다 일관되게 우수한 성능을 보였다고 밝혔습니다.

실무적인 문제도 있습니다. 사실은 바뀝니다. 정책이나 카탈로그가 바뀔 때마다 모델을 다시 학습시키기 전까지 미세 조정된 모델은 최신 정보와 맞지 않게 됩니다. 추적 가능성도 사라집니다. 미세 조정된 모델이 수치를 제시해도 그 출처가 된 문서를 가리킬 수 없습니다. 보험이나 의료 분야의 규제를 받는 고객사라면 보통 이 점만으로도 논의가 끝납니다.

RAG는 Lewis 외 연구진이 2020년에 발표한 논문에서 처음 소개되었으며, 지식을 모델 외부에 둡니다. 질문이 들어오면 관련 문단을 검색해 문맥으로 모델에 전달합니다. 지식을 업데이트하려면 모델을 다시 학습시키는 대신 인덱스를 갱신하면 됩니다. 또한 모든 답변에 출처를 표시할 수 있습니다.

물류 분야 고객사 사례가 좋은 예입니다. 고객사 이용자들은 배송물이 어디에 있는지, 어떤 서류가 누락됐는지 즉시 알고 싶어 했습니다. 이 정보는 몇 분마다 바뀝니다. 아무리 학습시켜도 모델을 최신 상태로 유지할 수 없었기 때문에, 저희가 구축한 어시스턴트는 기억에 의존하는 대신 질문이 들어올 때 실시간 추적 정보와 IoT 데이터를 바탕으로 답변합니다. 작동 가능한 설계는 검색을 활용하는 방식뿐이었습니다.

미세 조정이 효과를 발휘하는 경우

미세 조정은 쓸모가 없어진 것이 아닙니다. 다만 사람들이 생각하는 것보다 적용 범위가 좁습니다. 다음 세 가지 상황에서 미세 조정을 고려합니다.

  • 엄격하고 반복적인 출력 형식. 모델이 하루에도 수천 번 같은 구조의 결과를 내야 하는 경우가 있습니다. 예를 들어 송장에서 필드를 추출해 정해진 JSON 스키마에 넣는 작업이라면, 미세 조정한 소형 모델이 대형 모델에 프롬프트를 입력하는 방식보다 더 안정적이고 비용도 훨씬 적게 드는 경우가 많습니다.
  • 분야별 용어. 일부 분야에는 기본 모델이 잘못 해석하는 약어가 있습니다. 물류 상태 코드, 임상 약어, 내부 제품 코드 등이 대표적입니다. 적은 규모의 미세 조정으로도 이를 바로잡을 수 있습니다.
  • 대규모 처리에서의 비용과 지연 시간. 작업이 명확하게 정의되면 미세 조정한 소형 모델로 범용 대형 모델을 대체할 수 있습니다. LoRA 같은 방법을 쓰면 모델 전체가 아니라 소량의 추가 가중치만 학습하므로 비용을 감당할 수 있는 수준으로 낮출 수 있습니다.

이 가운데 사실 정보에 관한 항목은 하나도 없다는 점에 주목하세요. 모두 이미 잘 이해하고 있는 작업에서 모델이 어떻게 행동해야 하는지 가르치는 일입니다.

대부분의 RAG 실패는 검색 단계에서 발생한다

팀에서 “RAG를 시도했는데 효과가 없었다”고 말할 때, 문제는 모델이 아니라 검색 단계인 경우가 대부분입니다. 모델의 성능은 전달받은 문단의 품질을 넘을 수 없습니다.

화려하진 않지만 효과적인 해결책은 다음과 같습니다.

  • 글자 수가 아니라 의미를 기준으로 나누세요. 계약서를 500자마다 자르면 조항이 중간에 끊깁니다. 섹션과 제목을 기준으로 나누면 문맥을 온전히 유지할 수 있습니다.
  • 각 청크에 문맥을 추가하세요. “한도는 30일입니다”라는 청크는 어떤 정책에 해당하는지 알 수 없다면 쓸모가 없습니다. Anthropic은 색인에 추가하기 전에 각 청크에 짧은 문서 문맥을 덧붙이는 방식을 발표했습니다. Anthropic이 문맥 기반 검색이라고 부르는 이 방법은 검색 실패를 49% 줄였으며, 재순위화와 함께 사용했을 때는 67% 줄였습니다.
  • 키워드 검색과 벡터 검색을 결합하세요. 벡터 검색은 의미를 파악하는 데 강하지만 부품 번호처럼 정확한 용어를 찾는 데는 약합니다. 하이브리드 검색은 두 가지를 모두 지원합니다.
  • 검색을 별도로 테스트하세요. 정답이 되는 원문 구절을 알고 있는 실제 질문 목록을 만들고, 최종 답변을 평가하기 전에 관련 구절이 검색 결과 상위에 표시되는지 측정하세요.

두 가지를 함께 사용해야 할 때

실제 운영 환경에서는 성능이 뛰어난 시스템이 두 방식을 결합하는 경우가 많습니다. RAG는 사실 정보를 제공합니다. 가볍게 미세 조정한 모델은 형식과 어조, 해당 분야의 언어를 처리합니다. 연구도 같은 방향으로 나아가고 있습니다. UC Berkeley의 RAFT 접근법은 검색된 문서를 더 잘 활용하고 관련 없는 문서는 무시하도록 모델을 특별히 미세 조정합니다.

하지만 순서가 중요합니다. 저희는 거의 항상 먼저 RAG를 구축하고, 부족한 부분을 측정한 다음에야 미세 조정이 가치가 있는지 판단합니다. 먼저 미세 조정부터 시작하면 실제 격차가 무엇인지 알기도 전에 학습 비용을 지불하게 됩니다.

간단한 의사 결정 체크리스트

  1. 작업에 필요한 사실이 분기마다 한 번보다 자주 바뀌나요? RAG를 사용하세요.
  2. 사용자나 감사 담당자가 답변의 출처를 확인해야 하나요? RAG를 사용하세요.
  3. 문제가 사실이 아니라 답변의 형식, 어조 또는 어휘에 있나요? 미세 조정을 고려하세요.
  4. 비용이나 속도가 중요한 대량 처리 환경에서 실행되는 제한적인 작업인가요? 더 작은 모델의 미세 조정을 고려하세요.
  5. 검색 품질을 별도로 측정해 보셨나요? 아직이라면 다른 무엇보다 먼저 측정하세요.

핵심 요점

RAG와 미세 조정은 서로 경쟁하는 방식이 아닙니다. 한쪽은 모델에 올바른 정보를 제공하고, 다른 쪽은 모델의 작동 방식을 다듬습니다. 실제로 어떤 문제가 있는지 분명히 파악하고, 모델을 탓하기 전에 검색부터 개선하세요. 또한 시스템이 작동하기 시작한 뒤에야 그에 따른 보상으로 미세 조정을 고려해야 합니다. 미세 조정은 시스템을 작동하게 만드는 지름길이 아닙니다.

Yaman Kavishwar는 VectovateAI의 창립자 겸 CEO입니다. 이 회사는 AI 네이티브 소프트웨어 엔지니어링 기업입니다. 그는 엔터프라이즈 IT 분야에서 17년 이상 경력을 쌓았으며, 기업들이 RAG 시스템, AI 에이전트, 데이터 플랫폼을 파일럿 단계에서 프로덕션 환경으로 전환하도록 돕습니다.