검색 증강 생성(RAG)은 더 실용적이고 정확한 응답을 위해 관련 데이터로 거대 언어 모델(LLM) 프롬프트를 향상합니다.
검색 증강 생성은 전 세계에 대한 일반적인 지식으로 유명한 거대 언어 모델의 기능을 문서, SQL 데이터베이스, 내부 비즈니스 애플리케이션과 같은 비즈니스 고유의 정보 소스와 결합하는 소프트웨어 아키텍처입니다. RAG는 LLM이 제공하는 응답의 정확도와 관련성을 향상합니다. RAG는 LLM이 가능한 최상의 최신 응답을 생성할 수 있도록 시맨틱 검색으로 반환되어 프롬프트의 컨텍스트 창에 추가된 최신 정보를 다른 유용한 정보와 함께 저장하는 데 벡터 데이터베이스(Vector Database) 기술을 사용합니다. 이 아키텍처는 많은 사용 사례로 유명해졌는데, 그중 하나가 LLM의 지식과 사유 비즈니스 데이터를 통합하여 상세하고 관련성 높은 답변을 제공하는 기능입니다.
AI 챗봇과 웹 앱은 광범위한 정보 컬렉션으로 세심하게 훈련된 Llama2, GPT와 같은 LLM을 사용하여 사용자 프롬프트를 만족시키는 응답을 생성합니다. 언어 뉘앙스에 대한 깊은 이해와 생성 기능을 갖춘 이러한 LLM은 RAG 아키텍처의 토대가 됩니다.
추론 시 검색을 위해 정보 청킹, 벡터화 및 저장
1단계: RAG 시스템을 구현하는 첫 번째 단계는 프로젝트가 사용할 비즈니스 내 지식 소스의 위치를 찾는 것입니다. 이 데이터에는 메타데이터, 텍스트, 이미지, 비디오, 표, 그래프 등이 포함될 수 있습니다. 기업 고유 데이터는 데이터 처리 서비스를 통해 전처리되고 데이터 청크로 분할됩니다. 다음으로, 청크가 임베딩 모델에 전달되면 각 데이터 청크의 의미와 뉘앙스를 숫자로 표현한 벡터가 생성됩니다. 이러한 벡터와 해당 데이터 청크는 나중에 검색할 수 있도록 벡터 데이터베이스에 저장됩니다.
2단계: 챗봇 또는 AI 애플리케이션의 쿼리를 수신하면 시스템이 프롬프트를 구문 분석합니다. 시스템은 데이터 수집에 사용되는 것과 동일한 임베딩 모델을 사용하여 사용자 프롬프트의 부분들을 나타내는 벡터들을 생성합니다. 벡터 데이터베이스에서 시맨틱 검색이 수행되어 가장 관련성이 높은 기업 고유 데이터 청크가 반환되고 프롬프트의 컨텍스트 창에 배치됩니다. LLM에 증강 프롬프트를 전송하기 전에 SQL 데이터베이스, 기타 비즈니스 크리티컬 애플리케이션, AI 모델과 같은 정보 검색 시스템의 다른 데이터 청크와 추가 LLM 명령도 검색됩니다. LangChain과 LlamaIndex는 AI 챗봇과 RAG 솔루션 생성을 위한 자동화를 제공하는 인기 있는 오픈 소스 프로그래밍 프레임워크입니다.
AI 챗봇의 등장은 자연어를 사용하여 질의응답 대화 스타일로 비즈니스 고유 데이터에 액세스할 수 있는 기회를 사용자에게 제공하는 데 있어 중요한 이정표가 되었습니다. AI 챗봇에 대한 관심은 ChatGPT가 놀라운 GPT-3 LLM과 함께 떠들썩하게 등장하며 널리 확산되었습니다. 당시 GPT-3는 훈련 데이터를 사용하는 데 국한되었습니다. 최신 AI 챗봇은 RAG와 함께 GPT-3, Llama, Mistral과 같은 사유 또는 오픈 소스 LLM을 사용하므로 최신 비즈니스 고유 데이터 소스를 사용하여 LLM에 공급되는 프롬프트를 강화함으로써 관련성과 유용성을 높일 수 있습니다.
AI 챗봇은 RAG를 사용하여 실시간으로 데이터베이스를 쿼리하므로, 기저 LLM을 재훈련하지 않고도 사용자 쿼리의 컨텍스트와 관련이 있으면서 최신 정보를 담고 있는 응답을 제공할 수 있습니다. 이러한 향상은 사용자 참여에 깊은 영향을 미칩니다. 특히 즉각적이고 정확한 정보 기반 응답에 대한 수요가 큰 고객 서비스, 교육, 엔터테인먼트와 같은 산업에서 그렇습니다.
엔터프라이즈 AI 솔루션의 패브릭 내에 LLM을 배포할 때 중요한 문제는 환각 현상입니다. LLM이 생성한 응답이 논리적으로 일관되고 그럴듯하게 보이지만 정확한 사실이 아닌 경우가 이에 해당합니다. 이 문제는 기업 의사결정 프로세스의 무결성을 위협하며 AI 기반 인사이트의 신뢰성을 훼손합니다.
RAG를 사용하면 프롬프트의 컨텍스트 창에 추가 지침과 관련 데이터 청크를 포함시켜 LLM에 더 나은 정보를 제공함으로써 환각을 줄일 수 있지만, 환각이 완전히 사라지지는 않습니다. 전통적인 환각 완화 기법이 여전히 필요합니다. 대부분의 엔터프라이즈 배포는 또한 가드레일을 사용하여 유해한 사용자 상호 작용을 완화합니다.
기법들을 조합하여 사용하면 더 효율적인 맞춤형 응답을 통해 특정 기업의 필요를 충족하고 실제 비즈니스 시나리오에 필요한 능력을 LLM에 부여할 수 있습니다.
이 기법들은 LLM에 전송되는 프롬프트의 정확도와 관련성을 향상하므로 LLM이 사용자 쿼리에 최상의 응답을 제공하는 데 도움이 됩니다.
임베딩 모델(예: 단어의 경우 Word2Vec, 문장의 경우 Bert)은 단어, 문장, 그래픽, 표와 같은 데이터 청크를 다차원 숫자 벡터로 변환하여 벡터 공간에서 의미와 뉘앙스를 포착합니다. 잘 훈련된 임베딩 모델에서는 비슷한 의미를 가진 항목들이 벡터 공간에서 서로 밀접하게 배치되어 상호 교환성 또는 관계를 나타냅니다.
벡터에는 정보의 의미와 뉘앙스가 담깁니다.
임베딩 벡터는 텍스트 분류, 감성 분석(Sentiment Analysis), 기계 번역과 같은 다양한 자연어 처리(NLP) 작업에서 언어를 더 효과적으로 처리하고 이해할 수 있도록 머신을 지원하는 데 사용됩니다. 임베딩 모델은 의미 및 문맥적 관계를 관리 가능한 숫자 형식으로 인코딩하여 기술과 인간 언어 간의 보다 섬세한 상호 작용을 가능하게 하는 가교 역할을 합니다. 정보 검색의 효율성과 정확성은 임베딩 모델의 품질과 정교함에 달려 있으므로 임베딩 모델은 RAG 에코시스템에서 매우 중요한 요소입니다.
벡터 데이터베이스는 RAG 시스템의 핵심입니다. 벡터 데이터베이스는 비즈니스 고유 정보를 데이터 청크로 효율적으로 저장하는 데 필요합니다. 각 청크는 임베딩 모델이 생성한 해당 다차원 벡터로 표현됩니다. 벡터 데이터베이스에 저장된 데이터 청크는 텍스트, 그래픽, 차트, 표, 비디오 또는 기타 데이터 양식일 수 있습니다. 이러한 데이터베이스는 코사인 유사도와 같은 벡터 공간 연산의 복잡성과 특수성을 처리할 수 있어 다음과 같은 몇 가지 주요 이점을 제공합니다.
복잡한 데이터에 대한 효율적인 연산을 지원하는 이러한 기능들로 인해 벡터 데이터베이스는 RAG에서 빠져서는 안 될 요소입니다.
벡터 검색 메커니즘은 RAG 시스템의 작동을 뒷받침하는 토대로, 기업 고유 정보의 빠르고 효율적인 검색을 지원합니다. 이 프로세스는 임베딩 모델을 사용하여 데이터를 초기 청킹하고 벡터로 변환하는 단계부터 근사 최근접 이웃(ANN) 검색과 같은 알고리즘에 이르기까지 복잡한 일련의 단계로 구성됩니다. ANN은 벡터 데이터베이스에서 상위 K개 일치 벡터를 검색하는 데 사용됩니다. GPU 가속화를 필요로 하는 경우가 많은 이러한 알고리즘은 엔터프라이즈 환경에서 흔히 볼 수 있는 방대한 데이터 세트를 탐색하는 데 필수적인 부분으로, 가장 관련성이 높은 정보를 빠르고 정확하게 반환하기 위해 사용됩니다.
지속적인 정교화, 피드백, 업데이트는 RAG 시스템의 필수 기능으로, 개선과 발전의 밑바탕이 됩니다. 시스템에 사용자 피드백을 활용하면 RAG 시스템에서 더 정확하고 관련성 높은 응답을 생성할 수 있습니다. 또한 시스템과 사용자에 가장 적절한 자료를 제공할 수 있도록 새로운 데이터를 벡터 데이터베이스에 영구적으로 통합합니다. 기저 비즈니스 정보를 지속적으로 업데이트하는 이러한 동적 프로세스를 통해 RAG 시스템은 비용이 많이 드는 LLM 재훈련 없이도 맥락에 맞는 고품질 응답을 제공할 수 있습니다.
RAG 파이프라인의 많은 요소는 GPU로 가속화됩니다. 여기에는 소스 데이터 정제, 임베딩 및 인덱스 생성, 벡터 데이터베이스에서의 유사도 기반 검색 수행, 프롬프트에 응답하기 위해 LLM이 수행하는 작업 등이 포함됩니다. NVIDIA RAPIDS™ RAFT 라이브러리, TensorRT™, TensorRT-LLM, Triton™ 추론 서버, 트랜스포머 엔진, Tensor 코어 및 기타 GPU 가속화 기술을 사용하여 RAG 애플리케이션은 기저 하드웨어를 효율적으로 사용할 수 있습니다. 이러한 가속화는 RAG 시스템이 요구하는 고성능을 유지하고, 새로운 데이터 트렌드의 빠른 반영을 촉진하고, 지속적으로 정확하고 관련성이 높고 최신 정보에 근거한 응답을 제공하도록 시스템을 유지하는 데 매우 중요합니다.
데이터 거버넌스에서 RAG 시스템은 도메인 특화 LLM 훈련 데이터와 지식 베이스 데이터의 관리를 최우선시합니다. 특히 사유 또는 민감한 데이터 소스를 처리할 때 그렇습니다. 개인정보 보호 규정 및 윤리적 기준의 준수 그리고 강력한 보안 조치의 구현은 RAG 애플리케이션의 무결성과 신뢰성을 유지하는 데 없어서는 안 될 요소입니다. 개인정보 보호, 보안, 데이터 품질, 윤리적 데이터 사용, 수명주기 관리를 아우르는 포괄적인 프레임워크를 통해 RAG 시스템은 윤리적 AI 개발 및 배포를 약속하고, 데이터의 효과적이고 투명하고 책임감 있는 사용을 보장할 수 있습니다. NVIDIA NeMo™ Guardrails는 적극 권장되는 기능으로, LLM의 잘못된 콘텐츠 생성을 방지합니다.
샘플 RAG 애플리케이션을 구축하려면 NVIDIA AI 워크플로 예제를 사용하여 마이크로서비스에 액세스해 보세요. 엔터프라이즈급 RAG 애플리케이션을 구축하고 프로덕션에 적용할 수 있습니다.
또는 NVIDIA AI Enterprise의 90일 무료 체험판과 함께 제공되는 NVIDIA RAG LLM Operator를 사용하여 RAG 애플리케이션을 파일럿에서 프로덕션 단계로 전환해 보세요.