검색 증강 생성(RAG)은 대규모 언어 모델(LLM)이 생성하는 응답의 품질과 신뢰성을 향상시키기 위해 고안된 인공 지능(AI) 의 고급 기술입니다. 이는 LLM의 생성 기능과 정보 검색 시스템을 결합하여 작동합니다. RAG 시스템은 응답을 생성하기 전에 먼저 사전 정의된 지식 소스(예: 회사의 내부 문서, 특정 데이터베이스 또는 웹)에서 관련 정보 스니펫을 검색합니다. 이렇게 검색된 컨텍스트는 원래 사용자 쿼리와 함께 LLM에 제공되어 모델이 보다 정확하고 최신이며 사실 데이터에 기반한 답변을 생성할 수 있도록 함으로써 환각과 같은 문제를 완화할 수 있습니다. 이 접근 방식은 초기 학습 데이터를 넘어 외부의 최신 정보에 액세스하고 활용할 수 있도록 함으로써 표준 LLM을 개선합니다.
검색 증강 생성의 작동 방식
RAG 프로세스에는 일반적으로 두 가지 주요 단계가 포함됩니다:
- 검색: 사용자가 프롬프트나 쿼리를 제공하면 시스템은 먼저 지정된 지식창고에서 관련 정보를 검색합니다. 이 지식창고는 문서, 웹 페이지 또는 벡터 데이터베이스의 항목 모음일 수 있습니다. 검색 메커니즘은 종종 시맨틱 검색과 같은 기술을 사용하여 키워드 일치뿐만 아니라 쿼리와 문맥적으로 관련된 텍스트 청크를 찾습니다. 이렇게 검색된 스니펫은 다음 단계의 문맥적 토대가 됩니다. 이 프로세스는 종종 임베딩을 활용하여 쿼리와 문서 모두의 의미를 표현합니다.
- 생성: 생성: 원래 쿼리와 검색된 문맥 스니펫이 증강 프롬프트로 결합됩니다. 그런 다음 이 증강 프롬프트가 LLM에 공급됩니다. LLM은 쿼리와 제공된 컨텍스트를 모두 사용하여 응답을 생성합니다. 이렇게 하면 답변이 쿼리와 관련이 있을 뿐만 아니라 검색된 최신 정보 또는 구체적인 정보를 바탕으로 작성됩니다. RAG에 대한 기초 작업은"지식 집약적 NLP 작업을 위한 검색 증강 생성" 문서에 자세히 설명되어 있습니다.
혜택 및 애플리케이션
RAG는 표준 LLM만 사용하는 것보다 몇 가지 장점이 있습니다:
- 정확성 및 신뢰성 향상: RAG는 검색된 사실 데이터에 근거한 답변을 제공함으로써 LLM이 부정확하거나 조작된 정보(환각)를 생성할 가능성을 크게 줄입니다. 이는 사용자의 신뢰와 전반적인 시스템의 정확성을 높여줍니다.
- 최신 정보에 대한 액세스: LLM은 일반적으로 정적 데이터 세트에 대해 학습하므로 지식 단절로 인해 학습 이후에 발생하는 이벤트나 데이터에 대해 알 수 없습니다. RAG를 사용하면 모델이 지속적인 재교육 없이도 외부 소스의 최신 정보에 액세스하고 이를 통합할 수 있습니다.
- 도메인 특이성: 회사 내부 위키, 기술 문서, 특정 데이터 세트 등 특정 큐레이션된 지식 기반에서 정보를 검색하도록 RAG를 구성할 수 있습니다. 이를 통해 LLM은 전문화된 도메인 내에서 전문가 수준의 답변을 제공할 수 있습니다.
- 향상된 투명성: 생성된 답변은 검색된 문서를 기반으로 하기 때문에 종종 출처를 인용할 수 있어 사용자에게 투명성과 정보를 확인할 수 있는 기능을 제공합니다. 이는 설명 가능한 AI(XAI) 및 AI 윤리의 원칙에 부합합니다.
- 비용 효율성: RAG에 대한 지식창고를 업데이트하는 것은 일반적으로 대규모 언어 모델을 재교육하거나 미세 조정하는 것보다 훨씬 저렴하고 빠릅니다.
실제 사례:
- 고객 지원 챗봇: 기업은 RAG를 사용하여 지원 챗봇을 강화할 수 있습니다. 고객이 질문을 하면 시스템은 회사의 제품 설명서, FAQ 및 지식창고 문서에서 관련 정보를 검색합니다. 그런 다음 LLM은 이 컨텍스트를 사용하여 정확하고 유용한 답변을 생성하며, 잠재적으로 Zendesk와 같은 플랫폼과 통합할 수 있습니다.
- 엔터프라이즈 검색 및 지식 관리: 직원들은 SharePoint나 기타 데이터베이스와 같은 시스템에 저장된 회사 내부 문서를 쿼리할 수 있습니다. RAG는 잠재적으로 방대한 문서 저장소에서 관련 섹션을 검색하고 답변을 종합하여 직원들이 수동으로 문서를 선별하지 않고도 신속하게 정보를 찾을 수 있도록 도와줍니다.
RAG와 관련 개념
LLM 성능을 향상시키는 데 사용되는 다른 방법과 RAG를 구분하는 것이 도움이 됩니다:
- 미세 조정: 미세 조정: 미세 조정은 더 작고 전문화된 데이터 세트에서 학습 프로세스를 계속 진행하여 사전 학습된 LLM을 특정 작업이나 도메인에 맞게 조정합니다. RAG와 달리 미세 조정은 모델의 내부 가중치를 수정합니다. 미세 조정은 스타일을 조정하거나 특정 작업을 학습하는 데 적합하지만, RAG는 사실에 입각한 최신 지식을 통합하는 데 더 적합합니다. 매개변수 효율적 미세 조정(PEFT) 과 같은 기법은 이 접근 방식에 대한 변형을 제공합니다.
- 프롬프트 엔지니어링: 여기에는 원하는 응답을 유도하기 위해 LLM에 제공되는 입력 프롬프트를 신중하게 제작하는 작업이 포함됩니다. RAG는 검색된 컨텍스트를 프롬프트에 통합하는 반면, 프롬프트 엔지니어링은 사용자의 쿼리와 지침을 수동으로 구조화하는 데 중점을 둡니다.
- 프롬프트 강화: 프롬프트 보강은 프롬프트를 보강한다는 점에서 RAG와 유사하지만, 사용자 기록이나 대화 흐름에서 컨텍스트를 추가할 수 있지만 RAG는 특히 지식창고에서 외부 사실 데이터를 검색하여 생성 프로세스의 근거를 마련하는 데 중점을 둡니다.
LangChain 및 LlamaIndex와 같은 프레임워크는 RAG 파이프라인과 기타 복잡한 LLM 애플리케이션을 구축할 수 있는 도구를 제공합니다.
RAG는 LLM의 방대한 생성 능력과 사실 정확도 및 동적 정보에 대한 액세스 필요성 사이의 간극을 해소하여 보다 지식이 풍부하고 신뢰할 수 있는 AI 시스템을 만들기 위한 중요한 발걸음을 내디뎠습니다. 주로 텍스트에 사용되지만, 검색된 정보로 생성력을 증강하는 핵심 아이디어는 개념적으로 다른 영역에도 적용할 수 있습니다. 예를 들어, 컴퓨터 비전(CV)에서는 이미지 생성이나 분석을 안내하기 위해 관련 시각적 예시나 메타데이터를 검색하는 것을 상상할 수 있지만, 이는 아직 떠오르는 연구 분야입니다. Ultralytics HUB와 같은 플랫폼은 다음과 같은 모델을 포함하는 미래의 멀티모달 RAG 애플리케이션에서 지식 소스 역할을 할 수 있는 중요한 구성 요소인 모델과 데이터 세트를 관리하는 데 도움이 됩니다. Ultralytics YOLO. 사용 가능한 컴퓨터 비전 데이터 세트를 탐색하면 이러한 시스템에 유용할 수 있는 구조화된 정보의 종류에 대한 인사이트를 얻을 수 있습니다.