검색-증강 생성이란 무엇인가요?
RAG(Retrieval-Augmented Generation)는 대규모 언어 모델의 출력을 최적화하여 응답을 생성하기 전에 학습 데이터 소스 외부의 신뢰할 수 있는 지식 베이스를 참조하도록 하는 프로세스입니다. 대규모 언어 모델(LLM)은 방대한 양의 데이터를 기반으로 학습되며 수십억 개의 매개 변수를 사용하여 질문에 대한 답변, 언어 번역, 문장 완성과 같은 작업에 대한 독창적인 결과를 생성합니다. RAG는 이미 강력한 LLM의 기능을 특정 도메인이나 조직의 내부 지식 기반으로 확장하므로 모델을 다시 교육할 필요가 없습니다. 이는 LLM 결과를 개선하여 다양한 상황에서 관련성, 정확성 및 유용성을 유지하기 위한 비용 효율적인 접근 방식입니다.
검색-증강 생성이 중요한 이유는 무엇인가요?
LLM은 지능형 챗봇 및 기타 자연어 처리(NLP) 애플리케이션을 지원하는 핵심 인공 지능(AI) 기술입니다. 목표는 신뢰할 수 있는 지식 소스를 상호 참조하여 다양한 상황에서 사용자 질문에 답변할 수 있는 봇을 만드는 것입니다. 안타깝게도 LLM 기술의 특성상 LLM 응답에 대한 예측이 불가능합니다. 또한 LLM 훈련 데이터는 정적이며 보유한 지식에 대한 마감일을 도입합니다.
LLM의 알려진 문제점은 다음과 같습니다.
- 답변이 없을 때 허위 정보를 제공합니다.
- 사용자가 구체적이고 최신의 응답을 기대할 때 오래되었거나 일반적인 정보를 제공합니다.
- 신뢰할 수 없는 출처로부터 응답을 생성합니다.
- 용어 혼동으로 인해 응답이 정확하지 않습니다. 다양한 훈련 소스가 동일한 용어를 사용하여 서로 다른 내용을 설명합니다.
대형 언어 모델은 현재 상황에 대한 최신 정보를 얻기를 거부하지만 항상 절대적인 자신감을 가지고 모든 질문에 답변하는 지나치게 열정적인 신입 사원으로 생각할 수 있습니다. 안타깝게도 이러한 태도는 사용자 신뢰에 부정적인 영향을 미칠 수 있으며 챗봇이 모방하기를 원하지 않습니다!
RAG는 이러한 문제 중 일부를 해결하기 위한 한 가지 접근 방식입니다. LLM을 리디렉션하여 신뢰할 수 있는 사전 결정된 지식 출처에서 관련 정보를 검색합니다. 조직은 생성된 텍스트 출력을 더 잘 제어할 수 있으며 사용자는 LLM이 응답을 생성하는 방식에 대한 통찰력을 얻을 수 있습니다.
검색-증강 생성의 이점은 무엇인가요?
RAG 기술은 조직의 생성형 AI 노력에 여러 가지 이점을 제공합니다.
비용 효율적인 구현
챗봇 개발은 일반적으로 파운데이션 모델을 사용하여 시작됩니다. 파운데이션 모델(FM)은 광범위한 일반화 데이터와 레이블이 지정되지 않은 데이터에 대해 훈련된 API 액세스 가능 LLM입니다. 조직 또는 도메인별 정보를 위해 FM을 재교육하는 데 드는 계산 및 재정적 비용이 많이 듭니다. RAG는 LLM에 새 데이터를 도입하기 위한 보다 비용 효율적인 접근 방식입니다. 이를 통해 생성형 인공 지능(생성형 AI) 기술을 보다 폭넓게 접근하고 사용할 수 있습니다.
최신 정보
LLM의 원본 훈련 데이터 소스가 요구 사항에 적합하더라도 관련성을 유지하기는 어렵습니다. 개발자는 RAG를 사용하여 생성 모델에 최신 연구, 통계 또는 뉴스를 제공할 수 있습니다. RAG를 사용하여 LLM을 라이브 소셜 미디어 피드, 뉴스 사이트 또는 기타 자주 업데이트되는 정보 소스에 직접 연결할 수 있습니다. 그러면 LLM은 사용자에게 최신 정보를 제공할 수 있습니다.
사용자 신뢰 강화
RAG은 LLM은 소스의 저작자 표시를 통해 정확한 정보를 제공할 수 있습니다. 출력에는 소스에 대한 인용 또는 참조가 포함될 수 있습니다. 사용자는 추가 설명이나 세부 정보가 필요한 경우 소스 문서를 직접 찾아볼 수도 있습니다. 이를 통해 생성형 AI 솔루션에 대한 신뢰와 확신을 높일 수 있습니다.
개발자 제어 강화
개발자는 RAG를 사용하여 채팅 애플리케이션을 보다 효율적으로 테스트하고 개선할 수 있습니다. LLM의 정보 소스를 제어하고 변경하여 변화하는 요구 사항 또는 부서 간 사용에 적응할 수 있습니다. 또한 개발자는 민감한 정보 검색을 다양한 인증 수준으로 제한하고 LLM이 적절한 응답을 생성하도록 할 수 있습니다. 또한 LLM이 특정 질문에 대해 잘못된 정보 소스를 참조하는 경우 문제를 해결하고 수정할 수도 있습니다. 조직은 더 광범위한 애플리케이션을 위해 생성형 AI 기술을 보다 자신 있게 구현할 수 있습니다.
검색-증강 생성은 어떻게 작동하나요?
RAG가 없는 경우 LLM은 사용자 입력을 받아 훈련한 정보 또는 이미 알고 있는 정보를 기반으로 응답을 생성합니다. RAG에는 사용자 입력을 활용하여 먼저 새 데이터 소스에서 정보를 가져오는 정보 검색 구성 요소가 도입되었습니다. 사용자 쿼리와 관련 정보가 모두 LLM에 제공됩니다. LLM은 새로운 지식과 학습 데이터를 사용하여 더 나은 응답을 생성합니다. 다음 섹션은 프로세스의 개요를 제공합니다.
외부 데이터 생성
LLM의 원래 학습 데이터 세트 외부에 있는 새 데이터를 외부 데이터라고 합니다. API, 데이터베이스 또는 문서 리포지토리와 같은 여러 데이터 소스에서 가져올 수 있습니다. 데이터는 파일, 데이터베이스 레코드 또는 긴 형식의 텍스트와 같은 다양한 형식으로 존재할 수 있습니다. 임베딩 언어 모델이라고 하는 또 다른 AI 기법은 데이터를 수치로 변환하고 벡터 데이터베이스에 저장합니다. 이 프로세스는 생성형 AI 모델이 이해할 수 있는 지식 라이브러리를 생성합니다.
관련 정보 검색
관련성 검색을 수행하는 단계는 다음과 같습니다. 사용자 쿼리는 벡터 표현으로 변환되고 벡터 데이터베이스와 매칭됩니다. 예를 들어 조직의 인사 관련 질문에 답변할 수 있는 스마트 챗봇을 생각할 수 있습니다. 직원이 “연차휴가는 얼마나 남았나요?“라고 검색하면 시스템은 개별 직원의 과거 휴가 기록과 함께 연차 휴가 정책 문서를 검색합니다. 이러한 특정 문서는 직원이 입력한 내용과 매우 관련이 있기 때문에 반환됩니다. 관련성은 수학적 벡터 계산 및 표현을 사용하여 계산되고 설정됩니다.
LLM 프롬프트 확장
다음으로 RAG 모델은 검색된 관련 데이터를 컨텍스트에 추가하여 사용자 입력(또는 프롬프트)을 보강합니다. 이 단계에서는 신속한 엔지니어링 기술을 사용하여 LLM과 효과적으로 통신합니다. 확장된 프롬프트를 사용하면 대규모 언어 모델이 사용자 쿼리에 대한 정확한 답변을 생성할 수 있습니다.
외부 데이터 업데이트
외부 데이터가 오래될 발생하는 상황이 다음 질문이 될 수 있습니다. 검색을 위해 최신 정보를 유지하기 위해 문서를 비동기적으로 업데이트하고 문서의 임베딩 표현을 업데이트합니다. 자동화된 실시간 프로세스 또는 주기적 배치 처리를 통해 이 작업을 수행할 수 있습니다. 이는 데이터 분석에서 흔히 발생하는 과제입니다. 변경 관리에 다양한 데이터 과학 접근 방식을 사용할 수 있기 때문입니다.
다음 다이어그램은 LLM과 함께 RAG를 사용하는 개념적 흐름을 보여줍니다.
검색-증강 생성과 시맨틱 검색의 차이점은 무엇인가요?
시맨틱 검색은 방대한 외부 지식 소스를 LLM 애플리케이션에 추가하려는 조직의 RAG 결과를 향상시킵니다. 오늘날의 기업은 매뉴얼, FAQ, 연구 보고서, 고객 서비스 가이드, 인사 관리 문서 리포지토리 등 방대한 양의 정보를 다양한 시스템에 저장합니다. 컨텍스트 검색은 대규모로 실행하기 어려우며 결과적으로 생성 출력 품질이 떨어집니다.
시맨틱 검색 기술은 서로 다른 정보의 대규모 데이터베이스를 스캔하고 데이터를 더 정확하게 검색할 수 있습니다. 예를 들어, 질문을 관련 문서에 매핑하고 검색 결과 대신 특정 텍스트를 반환하여 “작년에 기계 수리에 지출한 금액은 얼마입니까?”와 같은 질문에 답할 수 있습니다. 그러면 개발자는 이 답변을 사용하여 LLM에 더 많은 컨텍스트를 제공할 수 있습니다.
RAG의 기존 또는 키워드 검색 솔루션은 지식 집약적 작업에 대해 제한된 결과를 제공합니다. 또한 개발자는 수동으로 데이터를 준비할 때 워드 임베딩, 문서 청킹 및 기타 복잡한 문제를 해결해야 합니다. 반대로 시맨틱 검색 기술은 지식 기반 준비의 모든 작업을 수행하므로 개발자는 그럴 필요가 없습니다. 또한 의미론적으로 관련된 구절과 토큰 단어를 관련성에 따라 정렬하여 RAG 페이로드의 품질을 극대화합니다.
AWS는 검색-증강 세대 요구 사항을 어떻게 지원할 수 있나요?
Amazon Bedrock은 개발을 간소화하고 개인정보 보호 및 보안을 유지 관리하는 동시에 생산형 AI 애플리케이션을 구축할 수 있는 다양한 기능과 함께 고성능 기반 모델을 제공하는 완전 관리형 서비스입니다. Amazon Bedrock의 지식 기반을 사용하면 클릭 몇 번으로 FM을 RAG용 데이터 소스에 연결할 수 있습니다. 벡터 변환, 검색 및 개선된 출력 생성이 모두 자동으로 처리됩니다.
자체 RAG를 관리하는 조직을 위한 Amazon Kendra는 기계 학습 기반의 매우 정확한 엔터프라이즈 검색 서비스입니다. Amazon Kendra의 정확도가 높은 의미 체계 랭커와 함께 RAG 워크플로의 엔터프라이즈 검색기로 사용할 수 있는 최적화된 Kendra Retrive API를 제공합니다. 예를 들어 검색 API를 사용하여 다음을 수행할 수 있습니다.
- 각각 최대 200개의 토큰 단어로 구성된 의미 관련 구절을 관련성에 따라 정렬하여 최대 100개까지 검색합니다.
- Amazon Simple Storage Service, SharePoint, Confluence 및 기타 웹 사이트와 같은 널리 사용되는 데이터 기술에 사전 구축된 커넥터를 사용합니다.
- HTML, 워드, 파워포인트, PDF, 엑셀, 텍스트 파일 등 다양한 문서 형식을 지원합니다.
- 최종 사용자 권한이 허용하는 문서를 기반으로 응답을 필터링합니다.
Amazon은 또한 더 많은 사용자 지정 생성 AI 솔루션을 구축하려는 조직을 위한 옵션을 제공합니다. Amazon SageMaker JumpStart는 단 몇 번의 클릭만으로 배포할 수 있는 FM, 내장 알고리즘, 사전 구축된 ML 솔루션을 갖춘 ML 허브입니다. 기존 SageMaker 노트북 및 코드 예제를 참조하여 RAG 구현 속도를 높일 수 있습니다.
지금 무료 계정을 생성하여 AWS에서 검색-증강 생성을 시작하세요