생성 전에 외부 지식 베이스에서 관련 정보를 검색하여 LLM 답변을 향상시키고 출력을 사실에 기반하도록 하는 기술
작성자: Databricks 직원
검색 증강 생성(RAG)은 대규모 언어 모델(LLM)을 외부의 최신 데이터 소스와 결합하여 성능을 향상시키는 하이브리드 AI 프레임워크입니다. 정적 학습 데이터에만 의존하는 대신, RAG는 쿼리 시점에 관련 문서를 검색하여 이를 컨텍스트로 모델에 제공합니다. 새로운 컨텍스트 인식 데이터를 통합함으로써 AI는 더 정확하고 최신의 도메인 특화된 답변을 생성할 수 있습니다.
RAG는 엔터프라이즈급 AI 애플리케이션을 구축하기 위한 표준 아키텍처로 빠르게 자리 잡고 있습니다. 최근 설문 조사에 따르면, 60% 이상의 조직이 내부 데이터를 사용하여 안정성을 높이고 환각 현상(hallucination)을 줄이며 결과를 개인화하기 위해 AI 기반 검색 도구를 개발하고 있습니다.
생성형 AI가 고객 서비스, 내부 지식 관리, 컴플라이언스와 같은 비즈니스 기능으로 확장됨에 따라, 일반적인 AI와 특정 조직의 지식 간의 격차를 메워주는 RAG의 기능은 신뢰할 수 있는 실제 배포를 위한 필수적인 기반이 되고 있습니다.
RAG는 외부 데이터 소스에서 검색한 컨텍스트 인식 및 실시간 정보를 주입하여 언어 모델의 출력을 향상시킵니다. 사용자가 쿼리를 제출하면 시스템은 먼저 검색 모델을 작동시키며, 이 모델은 벡터 데이터베이스를 사용하여 의미상 유사한 문서, 데이터베이스 또는 기타 소스를 식별하고 관련 정보를 '검색'합니다. 정보가 식별되면 해당 결과를 원래의 입력 프롬프트와 결합하여 생성형 AI 모델로 전송하고, 모델은 이 새로운 정보를 자체 모델에 합성합니다.
이를 통해 LLM은 단순히 학습된 모델에만 의존하는 대신, 기업 고유의 데이터나 최신 데이터에 기반하여 더 정확하고 컨텍스트를 반영한 답변을 생성할 수 있습니다.
RAG 파이프라인은 일반적으로 문서 준비 및 청킹(chunking), 벡터 인덱싱, 검색, 프롬프트 증강의 네 가지 단계로 구성됩니다. 이러한 프로세스 흐름 덕분에 개발자는 모델을 재학습시키지 않고도 데이터 소스를 업데이트할 수 있으며, RAG는 고객 지원, 지식 베이스, 내부 검색과 같은 도메인에서 LLM 애플리케이션을 구축하기 위한 확장 가능하고 비용 효율적인 솔루션이 됩니다.
LLM은 딥러닝 모델을 사용하며 방대한 데이터셋을 학습하여 새로운 콘텐츠를 이해, 요약 및 생성합니다. 대부분의 LLM은 광범위한 공개 데이터를 학습하므로 하나의 모델이 다양한 유형의 작업이나 질문에 대응할 수 있습니다. 하지만 한 번 학습된 많은 LLM은 학습 데이터의 컷오프 시점 이후의 데이터에 액세스할 수 있는 능력이 없습니다. 이로 인해 LLM은 정적인 상태로 유지되며, 학습되지 않은 데이터에 대한 질문을 받았을 때 잘못된 답변을 하거나 오래된 정보를 제공하거나 환각 현상을 일으킬 수 있습니다.
LLM이 관련성 있고 구체적인 답변을 제공하려면, 조직은 모델이 광범위하고 일반적인 답변을 제공하는 대신 자사의 도메인을 이해하고 자사 데이터에서 답변을 제공하도록 해야 합니다. 예를 들어, 많은 조직이 LLM으로 고객 지원 봇을 구축하고 있으며, 이러한 솔루션은 고객의 질문에 회사 고유의 답변을 제공해야 합니다. 다른 조직들은 내부 HR 데이터에 대한 직원의 질문에 답변할 수 있는 내부 Q&A 봇을 구축하고 있습니다. 기업들은 이러한 모델을 재학습시키지 않고 어떻게 이러한 솔루션을 구축할 수 있을까요?
자체 데이터를 사용하는 쉽고 대중적인 방법은 LLM 모델에 쿼리할 때 프롬프트의 일부로 데이터를 제공하는 것입니다. 관련 데이터를 검색하여 LLM을 위한 증강된 컨텍스트로 사용하기 때문에 이를 검색 증강 생성(RAG)이라고 합니다. RAG 워크플로는 학습 데이터에서 파생된 지식에만 의존하는 대신, 관련 정보를 가져와 정적 LLM을 실시간 데이터 검색과 연결합니다.
RAG 아키텍처를 사용하면 조직은 모델을 미세 조정(fine-tuning)하거나 사전 학습(pretraining)하는 데 드는 비용과 시간 없이 소량의 데이터만 제공함으로써 모든 LLM 모델을 배포하고 조직에 관련성 높은 결과를 반환하도록 증강할 수 있습니다.
RAG에는 다양한 사용 사례가 있습니다. 가장 일반적인 사례는 다음과 같습니다.
질의응답 챗봇: LLM을 챗봇과 결합하면 회사 문서와 지식 베이스에서 더 정확한 답변을 자동으로 도출할 수 있습니다. 챗봇은 고객 지원 및 웹사이트 리드 후속 조치를 자동화하여 질문에 답변하고 문제를 신속하게 해결하는 데 사용됩니다.
예를 들어, 다국적 데이터 브로커이자 소비자 신용 평가 회사인 Experian은 내부 및 고객 대면 요구 사항을 충족하는 챗봇을 구축하고자 했습니다. 이들은 기존의 챗봇 기술로는 증가하는 수요에 맞춰 확장하기 어렵다는 것을 금방 깨달았습니다. Databricks Data Intelligence Platform에서 GenAI 챗봇인 Latte를 구축함으로써, Experian은 프롬프트 처리 능력과 모델 정확도를 향상시킬 수 있었으며, 이를 통해 팀은 다양한 프롬프트를 실험하고 출력을 미세 조정하며 GenAI 기술의 발전에 빠르게 적응할 수 있는 유연성을 확보하게 되었습니다.
지식 엔진: 데이터(예: HR, 컴플라이언스 문서)에 대해 질문하기: 회사 데이터를 LLM의 컨텍스트로 사용하여 직원들이 복리후생 및 정책 관련 HR 질문, 보안 및 컴플라이언스 질문을 포함한 다양한 질문에 대한 답변을 쉽게 얻을 수 있도록 합니다.
이 기술이 배포된 한 가지 사례로 동남아시아의 선도적인 자동차 그룹인 Cycle & Carriage를 들 수 있습니다. 이들은 기술 매뉴얼, 고객 지원 기록, 비즈니스 프로세스 문서와 같은 독점 지식 베이스를 활용하여 생산성과 고객 참여를 향상시키는 RAG 챗봇을 개발하기 위해 Databricks를 선택했습니다. 이를 통해 직원들은 자연어 쿼리를 통해 정보를 더 쉽게 검색하고 컨텍스트를 반영한 실시간 답변을 얻을 수 있게 되었습니다.
RAG 방식은 다음과 같은 몇 가지 주요 이점을 제공합니다.
RAG는 시작하기에 가장 적합한 단계로, 구현이 쉽고 일부 사용 사례에는 완전히 충분할 수 있습니다. 미세 조정은 LLM의 동작을 변경하거나 다른 '언어'를 학습시키고자 하는 다른 상황에 가장 적합합니다. 이 두 가지는 상호 배타적이지 않습니다. 향후 단계로, 도메인 언어와 원하는 출력 형태를 더 잘 이해하도록 모델을 미세 조정하는 동시에 RAG를 사용하여 답변의 품질과 관련성을 향상시키는 방안을 고려할 수 있습니다.
조직의 데이터로 LLM 애플리케이션을 맞춤화할 때 고려해야 할 네 가지 아키텍처 패턴이 있습니다. 이러한 기술은 아래에 설명되어 있으며 상호 배타적이지 않습니다. 오히려 각 기술의 장점을 활용하기 위해 결합하여 사용할 수 있으며, 그렇게 하는 것이 좋습니다.
| 방법 | 정의 | 주요 사용 사례 | 데이터 요구사항 | 장점 | 고려 사항 |
|---|---|---|---|---|---|
프롬프트 엔지니어링 | LLM의 동작을 안내하기 위한 특화된 프롬프트 작성 | 즉각적이고 신속한 모델 가이드 | 없음 | 빠르고 비용 효율적이며 훈련이 필요 없음 | 파인튜닝에 비해 제어력이 낮음 |
검색 증강 생성(RAG) | LLM과 외부 지식 검색의 결합 | 동적 데이터 세트 및 외부 지식 | 외부 지식 베이스 또는 데이터베이스(예: 벡터 데이터베이스) | 동적으로 업데이트되는 컨텍스트, 향상된 정확도 | 프롬프트 길이 및 추론 연산 증가 |
파인튜닝 | 사전 학습된 LLM을 특정 데이터 세트 또는 도메인에 맞게 조정 | 도메인 또는 작업 특화 | 수천 개의 도메인 특정 또는 지시어(instruction) 예시 | 세밀한 제어, 높은 전문성 | 레이블링된 데이터 필요, 컴퓨팅 비용 발생 |
사전 학습 | 처음부터 LLM 학습 | 고유한 작업 또는 도메인 특화 기업 | 대규모 데이터 세트(수십억~수조 개의 토큰) | 특정 요구사항에 맞춤화된 최대 수준의 제어 | 극도로 많은 리소스 소모 |
선택한 기술에 관계없이, 잘 구조화되고 모듈화된 방식으로 솔루션을 구축하면 조직이 신속하게 반복하고 적응할 준비를 갖출 수 있습니다. 이 접근 방식 등에 대한 자세한 내용은 The Big Book of MLOps에서 확인해 보세요.

대규모로 RAG를 구현하려면 몇 가지 기술적 및 운영적 과제가 수반됩니다.
특정 요구사항과 데이터의 미묘한 차이에 따라 검색 증강 생성 시스템을 구현하는 방법은 다양합니다. 다음은 프로세스에 대한 기본적인 이해를 돕기 위해 흔히 채택되는 워크플로우 중 하나입니다.

Databricks는 또한 RAG 아키텍처의 몇 가지 핵심 아키텍처 요소를 권장합니다.
JetBlue는 Databricks를 기반으로 하며, 기업 데이터로 보완된 오픈 소스 생성형 AI 모델을 사용하는 챗봇인 "BlueBot"을 배포했습니다. 이 챗봇은 JetBlue의 모든 팀이 역할별로 권한이 제어되는 데이터에 액세스하는 데 사용할 수 있습니다. 예를 들어, 재무 팀은 SAP 데이터와 공시 자료를 볼 수 있지만, 운영 팀은 정비 정보만 볼 수 있습니다.
이 기사도 읽어보세요.
Chevron Phillips Chemical은 문서 프로세스 자동화를 포함한 생성형 AI 이니셔티브를 지원하기 위해 Databricks를 사용합니다.
Thrivent Financial은 검색 기능을 개선하고, 더 잘 요약되고 접근하기 쉬운 인사이트를 생성하며, 엔지니어링 생산성을 향상하기 위해 생성형 AI를 도입하고자 합니다.
RAG에 대한 자세한 정보를 찾을 수 있는 다양한 리소스는 다음과 같습니다.
Databricks에 문의하여 데모 일정을 예약하고 귀사의 LLM 및 검색 증강 생성(RAG) 프로젝트에 대해 상담해 보세요.
RAG는 임시방편적인 해결책에서 엔터프라이즈 AI 아키텍처의 핵심 구성 요소로 빠르게 진화하고 있습니다. LLM의 기능이 더욱 강력해짐에 따라 RAG의 역할도 변화하고 있습니다. 단순히 지식의 공백을 메우는 것에서 구조화되고 모듈화되었으며 더 지능적인 시스템으로 이동하고 있습니다.
RAG가 발전하는 한 가지 방향은 RAG를 도구, 정형 데이터베이스, 함수 호출 에이전트와 결합하는 하이브리드 아키텍처를 통해서입니다. 이러한 시스템에서 RAG는 비정형 그라운딩을 제공하는 반면, 정형 데이터나 API는 더 정밀한 작업을 처리합니다. 이러한 멀티모달 아키텍처는 기업에 더 신뢰할 수 있는 엔드투엔드 자동화를 제공합니다.
또 다른 주요 발전은 검색기-생성기 공동 학습(retriever-generator co-training)입니다. 이는 RAG 검색기와 생성기가 서로의 답변 품질을 최적화하기 위해 공동으로 학습하는 모델입니다. 이를 통해 수동 프롬프트 엔지니어링이나 미세 조정의 필요성이 줄어들 수 있으며, 적응형 학습, 환각 현상 감소, 검색기 및 생성기의 전반적인 성능 향상으로 이어집니다.
LLM 아키텍처가 성숙해짐에 따라 RAG는 더욱 원활하고 맥락에 맞게 작동할 것입니다. 유한한 메모리와 정보 저장소를 넘어, 이러한 새로운 시스템은 실시간 데이터 흐름, 다중 문서 추론, 영구 메모리를 처리할 수 있게 되어 지식과 신뢰성을 갖춘 어시스턴트가 될 것 입니다.
검색 증강 생성(RAG)이란 무엇인가요?
RAG는 관련 문서를 검색하여 프롬프트에 주입함으로써 LLM을 강화하는 AI 아키텍처입니다. 이를 통해 모델을 재학습시키는 데 시간을 들이지 않고도 더 정확하고 최신의 도메인 특정적인 응답을 제공할 수 있습니다.
미세 조정 대신 RAG를 사용해야 하는 경우는 언제인가요?
미세 조정의 비용이나 복잡성 없이 동적 데이터를 통합하고자 할 때 RAG를 사용하세요. 정확하고 시의적절한 정보가 필요한 사용 사례에 이상적입니다.
RAG는 LLM의 환각 현상을 줄여주나요?
예. 검색된 최신 콘텐츠에 모델의 응답을 그라운딩함으로써 RAG는 환각 현상의 가능성을 줄입니다. 이는 헬스케어, 법률 업무, 엔터프라이즈 지원과 같이 높은 정확도를 요구하는 도메인에서 특히 유용합니다.
RAG에는 어떤 종류의 데이터가 필요한가요?
RAG는 검색 가능한 형식으로 저장된 비정형 텍스트 데이터(PDF, 이메일, 내부 문서 등)를 사용합니다. 이러한 데이터는 일반적으로 벡터 데이터베이스에 저장되며, 관련성을 유지하기 위해 인덱싱되고 정기적으로 업데이트되어야 합니다.
RAG 시스템은 어떻게 평가하나요?
RAG 시스템은 관련성 점수 측정, 그라운디드니스(근거성) 확인, 인간 평가, 작업별 성능 지표의 조합을 사용하여 평가합니다. 하지만 앞서 살펴보았듯이, 검색기-생성기 공동 학습의 가능성 덕분에 모델이 서로에게서 배우고 서로를 학습시키면서 정기적인 평가가 더 쉬워질 수 있습니다.
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)
블로그를 구독하고 최신 게시물을 이메일로 받아보세요.