검색 증강 생성(RAG)
검색 증강 생성(RAG)은 외부 지식 소스를 기반으로 모델을 구축하여 내부 정보 표현을 보완함으로써 LLM이 생성하는 응답의 품질을 개선하는 데 사용되는 AI 프레임워크입니다. RAG는 외부 소스에서 얻은 사실을 활용하여 생성 AI 모델의 정확도와 신뢰성을 개선하는 기술입니다. 응답을 생성하기 전에 학습 데이터 소스 외부의 권위 있는 지식 기반을 참조하도록 대규모 언어 모델의 출력을 최적화합니다.LLM 기반 질문 답변 시스템에 RAG를 구현하면 두 가지 주요 이점이 있습니다. 1. 모델이 최신의 신뢰할 수 있는 사실에 접근할 수 있습니다. 2. 사용자는 모델의 출처에 접근하여 해당 주장의 정확성과 진실성을 확인하고 궁극적으로 신뢰할 수 있는지 확인할 수 있습니다.
RAG는 정보 검색 구성 요소와 텍스트 생성 모델을 결합합니다. RAG는 미세하게 조정할 수 있으며, 전체 모델을 다시 학습시키지 않고도 내부 지식을 효율적으로 수정할 수 있습니다.
검색 향상 생성의 이점
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 모델이 이해할 수 있는 지식 기반이 생성됩니다.
- 관련 정보 검색: 다음 단계는 관련성 검색을 수행하는 것입니다. 사용자 쿼리는 벡터 표현으로 변환되어 벡터 데이터베이스와 일치됩니다. 예를 들어, 조직의 HR 질문에 답할 수 있는 지능형 챗봇을 생각해 보세요. 직원이 "연차휴가는 얼마나 있나요?"를 검색하면 시스템은 연차휴가 정책 문서와 직원의 과거 휴가 기록을 검색합니다. 이러한 특정 문서는 직원이 입력한 내용과 매우 관련이 있기 때문에 반환됩니다. 상관관계는 수학적 벡터 계산과 표현을 사용하여 계산되고 확립됩니다.
- 향상된 LLM 팁: 다음으로, RAG 모델은 검색된 관련 데이터를 맥락에 추가하여 사용자 입력(또는 프롬프트)을 향상시킵니다. 이 단계에서는 신속한 엔지니어링 기술을 사용하여 LLM과 효과적으로 소통합니다. 향상된 힌트를 통해 대규모 언어 모델이 사용자 쿼리에 대한 정확한 답변을 생성할 수 있습니다.
- 외부 데이터 업데이트: 다음 질문은 외부 데이터가 오래된 경우는 어떻게 되는가입니다. 검색을 위해 최신 정보를 유지하려면 문서를 비동기적으로 업데이트하고 문서에 포함된 표현을 업데이트합니다. 실시간 프로세스를 자동화하거나 주기적 일괄 처리 프로세스를 통해 이 작업을 수행할 수 있습니다. 이는 데이터 분석에서 흔히 겪는 문제입니다. 변경 관리에는 다양한 데이터 과학 방법을 사용하여 접근할 수 있습니다.
다음 다이어그램은 LLM과 함께 RAG를 사용하는 개념적 흐름을 보여줍니다.

이미지 출처: aws.amazon
참고문헌
【1】https://aws.amazon.com/cn/what-is/retrieval-augmented-generation/?nc1=h_ls