Development/Artificial Intelligence

RAG란 무엇인가? — 검색 증강 생성(RAG)의 자세한 설명

Danny Seo 2024. 7. 4. 12:27
반응형

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

검색 증강 생성(RAG) 이란 ?

Retrieval-Augmented Generation (RAG)는 외부 권위 있는 지식 소스를 생성 과정에 통합하여 대형 언어 모델(LLM)의 잠재력을 혁신적으로 증대시킵니다. LLM은 질문에 답하거나 언어를 번역하는 등의 작업에서 뛰어나지만, RAG는 이 능력을 더욱 향상시켜 도메인별 또는 내부 조직 지식을 매끄럽게 통합합니다. 이를 통해 생성된 콘텐츠가 다양한 맥락에서 적절하고 정확하며 가치 있게 유지될 수 있으며, 비용이 많이 들고 시간이 많이 소요되는 대규모 재교육 없이도 가능합니다.

검색 증강 생성(RAG) 이 중요한 이유는 무엇인가요?

대형 언어 모델(LLM)은 인공지능(AI) 기술, 예를 들어 챗봇 및 자연어 처리(NLP) 응용 프로그램을 구동하는 핵심 역할을 합니다. 이러한 시스템은 다양한 맥락에서 권위 있는 지식 기반에서 정확한 응답을 제공하는 것을 목표로 합니다. 그러나 LLM에는 고유의 문제점이 있습니다. 훈련 범위를 벗어난 질문에 직면했을 때 부정확하거나 오래된 정보를 출력할 수 있으며, 이는 사용자 신뢰를 잃게 할 수 있습니다.

LLM의 주요 문제점은 다음과 같습니다:

  • 정확한 응답을 제공할 수 없을 때 부정확한 정보를 제시
  • 특정하고 최신 정보 대신 일반적이고 오래된 응답 제공
  • 권위 없는 소스에서 정보를 추출하여 응답 생성
  • 트레이닝 소스 간의 용어 불일치로 인해 부정확한 응답 생성

예를 들어, 잘못된 정보를 가진 신입 직원이 모든 질문에 자신 있게 대답하지만, 정확성보다는 호감을 얻기 위해 답변하는 모습을 상상해 보세요. 이러한 행동은 사용자 신뢰를 떨어뜨리고 챗봇 상호작용의 효과를 저해합니다.

 

RAG는 이러한 문제를 해결하기 위한 솔루션으로 등장합니다. 미리 정의된 권위 있는 지식 소스를 활용하여 LLM 응답을 향상시키고, 조직이 생성된 콘텐츠를 더 잘 통제할 수 있도록 하며, 사용자는 응답 생성 과정에 대한 통찰을 얻을 수 있습니다.

검색 증강 생성(RAG) 의 장점은 무엇인가요?

Generative AI(GenAI) 솔루션에 투자하는 조직은 RAG 기술을 구현함으로써 여러 가지 이점을 얻을 수 있습니다.

  • 비용 효율성: 전통적인 챗봇 개발은 다양한 비표지 데이터로 훈련된 API 접근 가능한 LLM인 기초 모델(FM)에서 시작합니다. 조직별 또는 도메인별 정보로 FM을 재교육하는 것은 상당한 계산 및 재정 비용이 소요됩니다. RAG는 새로운 데이터를 LLM에 매끄럽게 통합하여 더 비용 효율적인 대안을 제공합니다.
  • 최신 정보 제공: LLM의 초기 훈련 데이터가 조직의 필요와 일치하더라도 시간이 지남에 따라 관련성을 유지하는 것은 어려운 과제입니다. RAG는 개발자가 최신 연구 결과, 통계 업데이트 또는 실시간 뉴스를 생성 모델에 통합할 수 있도록 합니다. 이를 통해 LLM을 소셜 미디어 피드나 라이브 뉴스 사이트와 같은 동적 소스에 직접 연결하여 사용자가 최신 정보를 받을 수 있도록 합니다.
  • 사용자 신뢰 향상: RAG는 LLM이 명확한 출처 표기와 함께 정확한 정보를 제공할 수 있도록 합니다. 생성된 콘텐츠는 인용이나 참조를 포함할 수 있어 사용자가 필요할 경우 독립적으로 정보를 검증할 수 있습니다. 이러한 투명성은 생성 AI 솔루션에 대한 신뢰와 자신감을 높여 사용자 경험을 향상시킵니다.
  • 개발자의 통제력 증대: RAG는 개발자가 챗 애플리케이션을 더 효율적으로 반복하고 개선할 수 있도록 합니다. LLM의 정보 소스를 다양한 요구 사항이나 사용 사례에 맞추어 조정할 수 있으며, 권한 수준에 따라 민감한 정보 검색을 제한하여 적절한 응답을 생성하도록 할 수 있습니다. 또한, 특정 질문에 대해 LLM이 부정확한 정보 소스를 참조하는 경우 이를 문제 해결하고 수정할 수 있습니다. 이러한 향상된 통제력은 조직이 다양한 응용 프로그램에서 생성 AI 기술을 더 자신 있게 배포할 수 있게 합니다.

검색 증강 생성(RAG) 은 어떻게 작동하나요?

RAG가 없을 경우, LLM은 훈련 데이터나 기존 지식을 기반으로 응답을 생성합니다. 그러나 RAG가 있는 경우 추가적인 정보 검색 구성 요소가 개입합니다. 이 구성 요소는 사용자 입력을 활용하여 외부 데이터 소스에서 관련 정보를 검색한 후, 이를 LLM에 제공하여 응답을 생성합니다. 다음 섹션에서는 이 과정을 자세히 설명합니다.

  • 외부 데이터 생성: 외부 데이터는 LLM의 원래 훈련 데이터셋 범위를 벗어난 정보를 말합니다. API, 데이터베이스 또는 문서 저장소와 같은 다양한 출처에서 가져올 수 있으며, 파일, 데이터베이스 레코드, 길이 텍스트 문서 등 다양한 형식으로 존재할 수 있습니다. 이러한 데이터를 임베딩 언어 모델과 같은 기술을 통해 수치 표현으로 변환하고 벡터 데이터베이스에 저장하여 생성 AI 모델이 접근할 수 있는 지식 라이브러리를 형성합니다.
  • 관련 정보 검색: 다음 단계는 적합성 검색을 수행하는 것입니다. 사용자의 쿼리를 벡터 표현으로 변환한 후 벡터 데이터베이스의 항목과 비교합니다. 예를 들어, 인사 관련 질문을 처리하는 스마트 챗봇의 경우 “내 연차가 얼마나 남았나요?”라는 쿼리는 연차 휴가 정책 및 직원의 과거 휴가 기록과 같은 관련 문서 검색을 촉발합니다. 적합성 평가는 수학적 벡터 계산과 표현을 통해 높은 관련성을 가진 문서를 식별합니다.
  • LLM 프롬프트 증강: 이후 RAG 모델은 검색된 데이터를 문맥 내에서 통합하여 사용자 입력(또는 프롬프트)을 풍부하게 합니다. 이 단계에서는 프롬프트 엔지니어링 기술을 사용하여 LLM과 효과적으로 소통합니다. 프롬프트를 증강함으로써 대형 언어 모델이 사용자 쿼리에 정확한 응답을 제공할 수 있습니다.
  • 외부 데이터 업데이트: 외부 데이터의 잠재적 오래됨 문제를 해결하기 위해 정보의 최신 상태를 유지하는 적극적인 조치를 취합니다. 여기에는 문서의 비동기식 업데이트 및 해당 임베딩 표현의 업데이트가 포함됩니다. 이러한 업데이트는 실시간 자동 프로세스 또는 주기적 배치 처리를 통해 수행되어 분석에서 설정된 데이터 관리 관행과 일치합니다.

다음 다이어그램은 LLM과 함께 RAG를 사용할 때의 데이터 흐름을 보여줍니다.

LLM과 함께 RAG를 사용할 때의 플로우

시맨틱 검색 vs RAG 의 차이점은 무엇인가요?

시맨틱 검색은 LLM 애플리케이션에 광범위한 외부 지식 소스를 통합하려는 조직을 위해 RAG를 보완하여 결과를 향상시킵니다. 현대 비즈니스에서는 매뉴얼, FAQ, 연구 보고서, 고객 서비스 가이드 및 인사 문서와 같은 방대한 정보 저장소가 여러 시스템에 분산되어 있습니다. 대규모로 맥락을 검색하는 것은 상당한 도전 과제로, 이는 생성 출력의 품질을 떨어뜨릴 수 있습니다.

 

시맨틱 검색 기술은 대규모의 다양한 정보 데이터베이스를 스캔하고 높은 정확도로 데이터를 검색하는 데 뛰어납니다. 예를 들어 “작년에 기계 수리에 얼마나 사용했나요?”와 같은 질문에 정확하게 응답할 수 있으며, 관련 문서에 질문을 효율적으로 매핑하여 단순한 검색 결과 대신 특정 텍스트를 반환합니다. 개발자는 이러한 정확한 답변을 활용하여 LLM에 더 풍부한 맥락을 제공할 수 있습니다.

 

반면, RAG 내의 기존 키워드 기반 검색 솔루션은 지식 집약적 작업에 대해 제한된 결과를 산출하는 경우가 많습니다. 개발자는 데이터 준비 시 단어 임베딩 및 문서 청크와 같은 복잡성에 직면합니다. 시맨틱 검색 기술은 지식 기반 준비를 자동화하여 개발자가 수작업에서 벗어날 수 있도록 합니다.

반응형