RAG vs. LLM: 기술적 분석(정의, 차이점, 활용 사례)

RAG와 LLM은 경쟁 관계의 선택지가 아닙니다. 이 설명에서는 각 방식이 어떻게 작동하는지, 무엇이 다른지, 그리고 언제 LLM만으로 충분하고 언제 검색이 필요한지를 살펴봅니다.

Diagram comparing an LLM-only flow (input, LLM, output) with a RAG flow, where the input is exchanged with an external data source before reaching the LLM.

LLM은 학습 데이터의 패턴에서 학습한 매개변수를 사용해 응답을 생성합니다. 이러한 매개변수는 최신 또는 완전한 정보를 반영하지 않을 수 있으므로, 검색 증강 생성(retrieval-augmented generation)이라고 하는 RAG는 외부 소스의 데이터를 LLM의 입력 컨텍스트에 추가하여 이 과정을 보완합니다. AI 도구는 외부 정보를 검색하고 이를 추가해 LLM의 생성 과정을 보완합니다.

실제로는 RAG와 LLM 중 하나를 고르는 것이 아닙니다. 하이브리드 접근 방식과 LLM만 사용하는 접근 방식 중 하나를 고르는 것입니다.

LLM이 회사 문서, 데이터베이스 또는 빠르게 변하는 정보에 접근해야 할 때 RAG가 필요합니다. LLM만 사용하는 접근 방식은 모든 입력을 사용자가 제공할 수 있는 일부 관리, 데이터 처리 및 콘텐츠 생성 작업에 적합합니다.

RAG vs. LLM: 핵심 차이점은 무엇인가요?

  • RAG와 LLM은 상호 보완적인 시스템입니다. RAG 없이 AI 모델을 사용할 수는 있지만(이 경우 기존 파라미터에만 의존함), 모델 없이 RAG 시스템을 사용할 수는 없습니다.
  • RAG는 LLM의 세 가지 핵심 문제, 즉 오래된 정보, 환각 응답, 그리고 제3자 소스에 대한 검증 부족을 해결하기 위해 도입되었습니다.
  • RAG는 LLM을 검증된 내부 문서, 데이터베이스, API 엔드포인트와 연결해 실제 비즈니스 상황에서 AI의 효율성을 크게 높여줍니다.
  • 가장 대표적인 RAG 활용 사례에는 고객 지원 챗봇, 빠르게 변하는 데이터(예: 업계 뉴스)를 기반으로 한 쿼리, 그리고 정확성과 출처 사실 확인이 중요한 의학·법률 같은 전문 분야가 포함됩니다.
  • RAG에는 세 가지 주요 유형이 있습니다. 즉, 단순 RAG, 모듈형 RAG, 고급 RAG입니다. 단순 RAG는 기본적인 정보 검색으로 가장 잘 이해할 수 있으며, 모듈형 RAG와 고급 RAG는 쿼리 재작성 및 청크 최적화와 같은 추가 기능을 더합니다.

대규모 언어 모델(LLM)이란 무엇인가요?

LLM, 즉 대규모 언어 모델은 미세 조정된 파라미터를 사용해 콘텐츠를 생성하는 시스템입니다. 이러한 파라미터는 LLM 어휘의 모든 토큰에 할당되는 확률을 결정하며, 주어진 시퀀스에서 어떤 토큰이 다음에 올 가능성이 가장 높은지를 나타냅니다.

RAG가 LLM과 어떻게 작동하는지(그리고 어떻게 다른지) 더 잘 이해하려면, 생성형 AI가 기본적으로 어떻게 작동하는지 살펴보는 것이 도움이 됩니다:

  1. 토큰화: 사용자의 프롬프트는 단어, 단어의 일부 또는 단일 문자일 수 있는 토큰으로 분리됩니다.
  2. 임베딩: 토큰은 숫자 표현(숫자 문자열)인 벡터라고 불리는 임베딩으로 변환되며, 디코더를 포함한 신경망이 이를 처리할 수 있습니다.
  3. 디코딩: 디코더의 층(LLM의 신경망에서 큰 부분을 차지함)은 어텐션 이라 불리는 과정을 사용해 이러한 벡터를 조작하여 의미를 포착합니다. 이 과정은 각 토큰이 시퀀스의 다른 토큰과 얼마나 강하게 관련되어야 하는지를 결정합니다.
  4. 점수화: 모델은 기존 어휘의 모든 토큰에 대해 호환성 확률을 할당하고, 시퀀스에서 다음에 올 가능성이 높은 토큰을 선택합니다.

중요한 점은 LLM이 기존 파라미터와 컨텍스트 윈도우 안의 토큰을 바탕으로만 출력을 생성할 수 있다는 것입니다. 학습 과정에서 LLM은 불완전한 텍스트의 일부를 완성하라는 요청을 수십억 번 받으며, 토큰에 확률을 안정적으로 할당할 수 있을 때까지 파라미터가 조정됩니다(따라서 텍스트를 신뢰성 있게 완성하게 됩니다).

예를 들어, AI 모델에 “우리 회사의 2026년 환불 정책은 무엇이라고 되어 있나요?”라고 묻는다고 상상해 보세요. LLM은 지원 문서를 사용해 미세 조정되지 않은 기존 파라미터를 바탕으로 다음 토큰만 예측할 수 있습니다. 추가 컨텍스트 없이 이 질문을 하면, 의미 있는 답변을 전혀 하지 못하거나 잘못된 답을 환각할 것입니다.

검색 증강 생성(RAG)이란 무엇인가요?

RAG(검색 증강 생성)는 외부 시스템의 정보가 LLM 프롬프트에 포함되는 과정입니다.

기본 LLM 과정은 임베딩과 확률적 토큰 매칭을 포함하며, 이는 그대로 유지됩니다. RAG는 사용자의 프롬프트에 추가 데이터를 덧붙이는 예비 단계를 도입합니다.

RAG의 작동 방식을 개괄하면 다음과 같습니다:

  1. 지식 준비: 지식 소스를 준비합니다. 이는 문서 집합, 벡터 데이터베이스, 지식 그래프 또는 실시간 인덱스(AI 검색용 등)일 수 있습니다.
  2. 프롬프팅: 사용자가 “오늘 런던에서 산책을 나가도 될까?”와 같은 프롬프트를 입력합니다.
  3. 검색: 외부 정보 소스는 AI 도구의 검색기가 조회합니다. 검색기는 프롬프트를 임베딩해 벡터로 만든 뒤 벡터 데이터베이스를 조회할 수 있습니다. 또는 API 호출, 키워드 일치, 지식 그래프 순회와 같은 다른 방법을 사용할 수도 있습니다.
  4. 삽입: 이 정보는 사용자의 원래 프롬프트에 추가됩니다. 런던에서 걷는 것에 대한 질문의 예에서는 런던의 날씨 정보와 인기 있는 산책 경로의 현재 이용 가능 여부가 포함될 수 있습니다.
  5. 응답 생성: LLM은 확장된 프롬프트를 사용해 일반적인 방식으로 응답을 생성합니다.

내부적으로 검색된 텍스트는 입력 컨텍스트에 추가된 뒤 토큰화되고 임베딩됩니다. 그런 다음 모델은 디코더를 통해 이 추가 컨텍스트를 처리하며, 이 과정에서 출력 토큰 확률이 달라집니다.

넓게 보면, RAG는 세 가지 하위 유형으로 나눌 수 있습니다. 단순 RAG는 정보를 검색해 프롬프트에 주입하는 기본 RAG 과정을 따릅니다. 고급 RAG는 쿼리 재작성과 다중 쿼리 패스 같은 추가 기능을 더합니다. 모듈형 RAG는 서로 다른 고급 기능을 구성 요소로 취급해 필요에 따라 결합할 수 있는 아키텍처 유형을 말합니다.

RAG vs. LLM: 활용 사례 개요

RAG는 사용자에게 최신 데이터에 대한 접근을 제공합니다. 그 결과 LLM 출력은 환각과 정보 공백이 발생할 가능성이 더 낮아집니다. 출력에 사용된 정보의 출처를 확인해야 한다면, 근거가 없는 LLM 응답에는 출처 표기가 없기 때문에 RAG가 필수적이기도 합니다.

RAG 활용 사례

  • 시의성이 중요한 정보 요청: 일기예보처럼 금세 구식이 되는 정보나, 떠오르는 뉴스 기사에 대한 자세한 분석처럼 복잡한 정보에 관한 모든 쿼리는 검증된 제3자 소스를 기반으로 해야 합니다.
  • 회사 문서: 사용자가 회사 또는 제품 문서와 관련된 질문을 하는 내부용 또는 고객용 AI 챗봇은, 특히 문서가 자주 업데이트된다면 RAG가 활성화되어 있어야 합니다.
  • 고객 지원: 고객 챗봇은 정확한 답변을 제공하기 위해 최신의 상세한 지원 문서에 접근할 수 있어야 합니다.
  • 전문 분야(의학, 법률, 금융 등): 도메인별 말뭉치로 학습되지 않은 LLM은(특히 주류 모델의 경우) 전문적인 프롬프트의 미묘한 뉘앙스를 다루는 데 일반적으로 어려움을 겪습니다.

LLM 활용 사례

  • 관리 업무: LLM은 최소한의 지연 시간으로 기본 업무를 완료할 수 있습니다. 외부 정보가 필요하지 않은 맞춤법 검사나 요약 같은 기본적인 문서 작성 및 관리 업무에는 RAG가 불필요합니다.
  • 창작 작업: 짧은 이야기나 이미지를 생성하는 것 같은 일부 창작 작업은 원래 프롬프트에 제공된 정보만 필요합니다.
  • 추론 및 데이터 기반 업무: 대규모 데이터셋을 다루고 있다면, LLM은 추론 및 분석 기능을 적용하는 데 외부 정보에 접근할 필요가 없습니다.
  • 일반 코딩: 코딩 워크플로우에는 비공개 코드베이스나 문서에 대한 접근이 필요할 수 있지만, LLM은 버그 수정과 함수 생성 같은 일반적인 코딩 작업을 외부 소스에 의존하지 않고도 매우 잘 수행할 수 있습니다.

RAG vs. 장문 컨텍스트 LLM, 에이전틱 AI, 그리고 근거화

RAG와 LLM의 구분과 관련해 중요한 세 가지 개념이 있습니다. 장문 컨텍스트 LLM, 에이전틱 AI, 그리고 근거화입니다.

장문 컨텍스트 LLM은 때때로 RAG가 활성화된 시스템을 대체할 수 있으며, 에이전틱 AI와 근거화는 그것과 동의어이거나 함께 작동합니다.

장문 컨텍스트 LLM

이들은 컨텍스트 윈도우가 큰 모델로, 일부 널리 사용 가능한 상용 모델은 최대 100만 토큰까지 처리합니다.

관련 자료가 모델의 컨텍스트 윈도우에 들어갈 수 있고 텍스트 형식으로 제공된다면, LLM만 사용하는 접근 방식에는 몇 가지 장점이 있습니다. 검색 오류 가능성을 줄이고, 더 포괄적인 컨텍스트를 제공하며, 광범위한 RAG 아키텍처 설정이 필요하지 않습니다.

에이전틱 AI

에이전트는 RAG 기능을 포함한 여러 도구를 활용해 복잡한 작업을 수행하는 시스템입니다. RAG는 에이전틱 AI의 한 구성 요소이며, 에이전트는 프롬프트의 내용에 따라 웹 검색 대 벡터 검색 등 서로 다른 유형의 검색 방식을 자주 사용합니다.

근거화

근거화는 증거나 데이터를 사용해 LLM의 응답 정확도를 높이거나 응답을 근거화하는 더 넓은 과정을 의미합니다. RAG는 근거화의 한 형태이지만, 기술 문서를 컨텍스트 윈도우에 추가하는 것 역시 근거화로 볼 수 있습니다.

RAG vs. LLM: 실제 사례

RAG가 RAG 없이 LLM을 사용하는 방식과 비교해 어떻게 작동하는지 더 잘 이해하려면, Perplexity를 사용한 간단한 실제 예시와 벡터 데이터베이스를 조회하는 가상의 엔터프라이즈 사례를 살펴볼 수 있습니다.

RAG vs. 간단한 프롬프트를 사용하는 LLM

Perplexity에 "오늘 런던에서 산책을 나가도 될까?"라고 물었을 때, AI 웹 검색(RAG의 한 형태)을 끈 상태에서 나오는 출력(두 문장으로 제한)은 다음과 같습니다:

네. 날씨가 비교적 건조하고 시간이 있다면, 오늘 런던 산책은 기분 전환이 될 수 있습니다. 사우스 뱅크, 리젠트 운하, 또는 하이드 파크를 따라 코스를 선택하고 혹시 모르니 가벼운 방수 재킷을 챙기세요.

LLM이 외부 소스를 확인할 수 있을 때의 프롬프트와 비교해 보세요:

네, 오늘 런던은 산책하기 좋은 날입니다. 일기예보에 따르면 기온은 약 19~21°C로 온화하고, 햇빛이 비치는 시간이 있으며, 비가 올 가능성은 매우 낮습니다. 구름이 조금 낀 하늘에 산들바람까지 불어 공원이나 사우스 뱅크 같은 강변 코스를 둘러보기에도 쾌적합니다.

두 예시는 LLM이 동일한 기본 토큰 점수화 과정을 사용한다는 점에서 유사합니다. 그러나 두 번째 예시는 자세한 날씨 정보를 포함하고 있어 훨씬 더 유용합니다.

엔터프라이즈 벡터 데이터베이스를 사용하는 RAG vs. LLM

은행 앱의 앱 내 챗봇에 사용자가 다음과 같은 질문을 한다고 가정해 보세요. “가장 최근 명세서는 어디에서 다운로드할 수 있나요?”

이 앱을 관리하는 은행은 최신 제품 문서의 임베딩을 담은 데이터베이스를 만들고 이를 챗봇의 RAG 파이프라인에 연결했습니다. 해당 문서는 약 1,000개의 원본 문서로 구성되어 있으며, 더 작은 청크로 분할된 뒤 검색을 위해 벡터로 변환되었습니다.

사용자의 쿼리는 임베딩 모델로 전송되고, 애플리케이션은 그 벡터를 데이터베이스로 보내며, 데이터베이스는 관련 청크를 반환합니다.

임베딩 모델은 다음과 같은 요청을 받게 됩니다:

json
{ "input": "Where can I download my most recent statement?" }

임베딩 모델은 다음 벡터 임베딩을 반환합니다:

json
{ "embedding": [0.12, -0.44, 0.87, 0.31] }

그런 다음 벡터 데이터베이스는 다음과 같은 요청을 받습니다:

json
{ "vector": [0.12, -0.44, 0.87, 0.31], "top_k": 5 }

이(훨씬 단순화된) 예시에서는 데이터베이스가 사용자 쿼리와 가장 관련성이 높은 다섯 개의 청크를 반환하고, 이 청크들은 애플리케이션으로 전송되어 LLM 프롬프트에 포함됩니다.

RAG와 LLM 중 무엇을 선택할지, 그리고 언제 결합할지

LLM과 RAG는 상호 보완적인 시스템입니다. 따라서 “언제 LLM을 선택하고 언제 RAG를 선택해야 하나요?”라는 질문은 적절하지 않습니다. 대신 “언제 LLM만으로 충분하고 언제 RAG가 최적인가요?”라고 물어야 합니다.

RAG를 활성화하지 않고 LLM을 사용할 때

  • 선택한 AI 모델의 컨텍스트 윈도우가 매우 큽니다: 문서를 업로드하는 방식처럼 정확한 답변에 필요한 모든 정보나 데이터를 프롬프트에 포함하는 것이 더 쉽다면, 이렇게 하면 지연 시간을 줄이고 검색 관련 문제를 방지할 수 있습니다.
  • 추론 및 데이터 분석 워크플로우: 프롬프트에 제공된 데이터만 참조하는 분석 및 추론 워크플로우에는 RAG 기능이 필요하지 않습니다.
  • 코드 생성: RAG는 일반적인 코딩 작업에는 보통 필요하지 않지만, 이전 수정 사항이나 벤더 API 및 문서를 검색하는 등 프로젝트별 작업에는 일반적으로 사용됩니다.

RAG가 활성화된 LLM을 사용할 때

  • 최신 정보에 대한 접근이 필요합니다: AI 애플리케이션이 정확한 답변을 생성하기 위해 최신 정보의 외부 소스에 접근해야 한다면, RAG 기능이 항상 활성화되어 있는지 확인하세요.
  • 전문 분야에서 일하고 있습니다: 의학, 법률, 교육 등 정확성, 세부 사항, 출처 검증이 중요한 분야에서는 LLM만으로는 충분하지 않은 경우가 많습니다.
  • 출력에 내부 회사 파일이 참조되어야 합니다: 내부용이든 고객용 앱이든 AI를 사용해 데이터, 브랜드 키트, 문서 또는 파일과 같은 내부 회사 문서를 기반으로 콘텐츠를 생성해야 한다면, RAG는 해당 정보에 접근할 수 있게 해줍니다.

RAG와 LLM은 상호 보완적이고 진화하는 기술입니다

RAG는 AI 진화의 중요한 혁신을 의미했습니다. 이는 오래된 정보, 제한된 모델 메모리, 관련 학습 데이터 부족으로 인한 정보 공백이라는 세 가지 주요 문제를 해결하며, 이 세 가지는 종종 환각을 초래했습니다. 물론 LLM이 이를 완전히 극복한 것은 아니지만, RAG의 등장으로 그 발생 빈도는 크게 줄었습니다.

RAG는 정적인 기술이 아닙니다. 재랭킹, 검색 및 토큰 사용 중 지연 시간, 위험한 데이터 소스에 대한 보안 방어, 여러 소스의 검색된 데이터 통합 등 다양한 영역에서 개선될 것으로 예상됩니다. LLM과 에이전틱 AI가 계속 발전함에 따라 이를 지원하는 RAG 시스템도 함께 발전할 것입니다.