벡터 데이터베이스는 RAG 검색의 기반입니다
LLM의 발전에도 불구하고 RAG는 왜 계속 남아 있을까요?
Retrieval Augmented Generation(RAG) 기술로 구동되는 챗봇을 구현하는 것은 고객 지원을 강화하려는 기업에 게임 체인저가 됩니다. 이 접근 방식은 대규모 언어 모델 의 대화 능력과 법률 자문, 고객 지원 봇, 교육 지원, 의료 등 다양한 분야의 rag database에 저장된 지식을 결합합니다.
표준 Retrieval Augmented Generation 프레임워크는 두 가지 핵심 시스템인 Retriever와 Generator로 구성됩니다. Retriever는 데이터(예: 문서)를 세분화하고, 데이터를 vector embeddings로 인코딩하며, 인덱스(Chunks Vectors)를 생성하고, vector embeddings를 사용해 의미 검색을 수행하여 의미적으로 관련 있는 결과를 검색합니다. 반면 Generator는 검색 과정에서 얻은 컨텍스트를 사용해 대규모 언어 모델(LLM)에 프롬프트를 제공하고, 이를 통해 정확한 응답을 생성합니다.
일반적인 RAG 아키텍처. 서로 다른 모달리티에 걸친 사용자 쿼리는 retriever와 generator 모두에 대한 입력으로 사용됩니다. retriever는 데이터 소스에서 관련 정보를 추출합니다. generator는 검색 결과와 상호작용하고 최종적으로 다양한 모달리티의 결과를 생성합니다. 출처: https://arxiv.org/pdf/2402.19473
Retrieval Augmented Generation 시스템의 효과는 검색 시스템과 생성 모델의 시너지적 결합에서 비롯됩니다. 검색 시스템은 정확하고 관련성 높은 정보, 사실 및 데이터를 제공하는 반면, 생성 모델은 유연하고 컨텍스트가 풍부한 응답을 만들어냅니다. 이러한 이중 접근 방식은 RAG가 복잡한 질문을 처리하고 풍부하며 유익한 답변을 효과적으로 생성할 수 있게 하며, 미묘한 자연어 처리, 이해 및 생성이 필요한 시스템에서 매우 가치 있음을 입증합니다.
Retrieval Augmented Generation 기술은 다음을 포함하여 기존 대규모 언어 모델보다 유리합니다:
"환각" 문제 감소: Retrieval Augmented Generation은 외부 관련 데이터를 활용하여 LLM이 더 정확한 응답을 생성하도록 지원함으로써 출력의 신뢰성과 추적 가능성을 향상시킵니다.
향상된 데이터 개인정보 보호 및 보안: RAG는 외부 지식 베이스 확장으로서 비공개 데이터를 안전하게 관리할 수 있어, 모델 학습 이후 발생할 수 있는 데이터 유출을 방지합니다.
실시간 정보 검색: RAG는 최신의 도메인 특화 관련 정보를 실시간으로 획득할 수 있게 하여, 오래된 정보 문제를 해결합니다.
LLM의 지속적인 발전 역시 비공개 데이터셋에 대한 미세 조정 및 더 긴 텍스트 윈도우 학습 데이터 제공과 같은 전략을 통해 이러한 문제를 해결하고 있지만, RAG는 다음과 같은 이유로 더 넓은 GenAI 애플리케이션에서 여전히 견고하고 신뢰할 수 있으며 비용 효율적인 솔루션으로 남아 있습니다:
투명성과 운용성: 미세 조정 및 긴 텍스트 관리의 불투명한 프로세스와 달리, RAG는 더 명확하고 상호 연결된 모듈 관계를 제공하여 조정 가능성과 해석 가능성을 향상시킵니다.
비용 효율성과 빠른 응답: RAG는 미세 조정된 모델보다 학습 시간이 적게 필요하고 비용도 낮습니다. 또한 응답 속도와 운영 비용 측면에서 긴 컨텍스트 처리 LLM보다 앞섭니다.
비공개 데이터 관리: 지식 베이스를 LLM과 분리함으로써 RAG는 실용적인 구현 기반을 확보하고 기존 및 새로 확보한 기업 지식을 효과적으로 관리합니다.
많은 사람들이 LLM이 계속 진화하고 발전함에 따라 RAG가 소멸 직전에 있다고 예측하지만, 저는 여전히 RAG 기술이 남아 있을 것이라고 믿습니다. RAG는 본질적으로 LLM을 보완하며, 이는 여러 애플리케이션 전반에서 RAG의 장기적인 관련성과 성공을 보장합니다.
벡터 데이터베이스는 RAG 검색의 기반입니다
실제 프로덕션 애플리케이션에서 RAG 검색은 종종 벡터 데이터베이스와 긴밀하게 통합되어, ChatGPT, Vector Database, Prompt-as-code 기술로 구성된 CVP 스택으로 알려진 인기 있는 Retrieval Augmented Generation 솔루션의 개발로 이어집니다. 이 혁신적인 솔루션은 벡터 dbs의 효율적인 유사도 검색 기능을 활용하여 LLM의 성능을 향상시킵니다. RAG 시스템은 사용자 쿼리를 벡터 임베딩으로 변환함으로써 벡터 데이터베이스 내의 관련 지식 항목을 빠르게 검색할 수 있습니다. 이 접근 방식은 LLM이 사용자 쿼리에 응답할 때 데이터베이스에 저장된 최신 정보에 접근할 수 있게 하여, 지식 업데이트 지연 및 생성된 콘텐츠의 간헐적인 부정확성, 흔히 "환각"이라고 불리는 문제를 효과적으로 해결합니다.
인기 있는 벡터 데이터베이스와 dbs 외에도 검색 엔진, 관계형 데이터베이스, 문서 데이터베이스를 포함한 많은 다른 검색 기술이 시장에 나와 있습니다. 그러나 벡터 데이터베이스는 방대한 양의 벡터 임베딩을 효율적으로 저장하고 검색하는 데 뛰어난 기능을 갖추고 있어 RAG 구현에서 가장 선호되는 옵션입니다. 머신 러닝 모델에 의해 생성되는 이러한 벡터는 텍스트, 이미지, 동영상, 사운드를 포함한 광범위한 데이터 유형을 표현하는 동시에 정교한 의미적 세부 정보를 포착합니다.
아래는 정보 검색 분야에서 벡터 dbs를 다른 기술적 옵션과 비교 분석한 내용으로, RAG 애플리케이션 구축에서 벡터 dbs가 선호되는 선택지가 된 이유를 강조합니다.
| 범주 | 검색 엔진 | 관계형 데이터베이스 | 문서 데이터베이스 | 벡터 데이터베이스 |
| 주요 제품 | Elasticsearch | MySQL | MongoDB | Milvus |
| 구현 원리 | 제한적인 벡터 검색 기능과 함께 빠른 텍스트 검색을 위해 역색인을 활용 | 최적의 트랜잭션 처리를 위해 표준화된 데이터 모델과 SQL을 사용하며, 비정형 데이터 처리에 어려움이 있음 | JSON 형식으로 데이터를 저장하여 유연한 데이터 모델과 기본적인 전체 텍스트 검색을 제공하지만 시맨틱 검색 기능은 제한적임 | 고차원 벡터를 위해 특별히 설계되었으며, 효과적인 시맨틱 유사도 검색을 위해 Approximate Nearest Neighbor (ANN) 알고리즘을 사용 |
| 사용 사례 | 전체 텍스트 검색과 간단한 데이터 분석에 이상적 | 높은 일관성과 복잡한 트랜잭션 관리를 요구하는 애플리케이션에 가장 적합 | 빠른 개발과 데이터 모델 변경이 빈번한 환경에 적합 | 이미지 및 시맨틱 텍스트 검색과 같은 비정형 데이터 기반 검색에 최적 |
| 대규모 벡터 데이터셋 검색 효율성 (높을수록 좋음) | 중간 | 낮음 | 낮음 | 높음 |
| 멀티모달 일반화 능력 (높을수록 좋음) | 중간 | 낮음 | 낮음 | 높음 |
| RAG 검색 적합성(높을수록 좋음) | 중간 | 낮음 | 낮음 | 높음 |
| 총비용(낮을수록 좋음) | 높음 | 높음 | 중간 | 낮음 |
위 표에서 볼 수 있듯이, 벡터 데이터베이스는 다음 분야에서 이점이 있습니다:
구현 원리: 벡터는 의미적 의미를 인코딩하며, 벡터 db는 딥러닝 모델을 사용해 쿼리 의미를 디코딩하여 단순한 키워드 검색을 넘어섭니다. AI의 발전으로 의미 이해의 정확도가 향상되면서, 벡터 거리는 NLP에서 의미적 유사성의 표준 척도가 되었고, 임베딩은 다양한 데이터 유형을 관리하기 위한 선호 형식으로 자리 잡았습니다.
검색 효율성: 고차원 벡터는 검색 속도를 크게 높이고 저장 요구 사항을 줄이는 고급 인덱싱 및 양자화 기술을 가능하게 합니다. 벡터 db는 빠른 응답 시간을 유지하면서 증가하는 데이터 볼륨을 관리하기 위해 수평적으로 확장할 수 있으며, 이는 광범위한 관련 데이터로 새로운 데이터를 처리하는 RAG 시스템에 필수적입니다.
일반화 능력: 주로 텍스트를 처리하는 기존 데이터베이스와 달리, 벡터 db는 이미지, 비디오, 오디오를 포함한 다양한 유형의 비정형 데이터를 저장하고 처리합니다. 이러한 다재다능함은 RAG 시스템의 유연성과 기능성을 향상시킵니다.
총 소유 비용: 벡터 db는 간단한 설정과 포괄적인 API 덕분에 기존 머신러닝 프레임워크와 더 쉽게 배포하고 통합할 수 있습니다. 이러한 접근성은 더 낮은 전반적인 비용과 결합되어 RAG 애플리케이션 개발자들 사이에서 선호되는 선택지가 되게 합니다.
더 뛰어난 성능의 RAG 애플리케이션을 위한 벡터 데이터베이스 개선
벡터 db는 RAG 시스템의 기본 검색 기술이었습니다. 그러나 개발자들이 점점 더 복잡한 RAG 애플리케이션을 구축하고 이를 프로덕션 환경에서 사용함에 따라, 사용자 쿼리에 대해 더 높은 품질과 더 정확한 답변에 대한 요구가 커지고 있으며, 이는 벡터 데이터베이스에 과제를 제기합니다.
RAG use case.png
표준 Retrieval Augmented Generation 구축 프로세스는 일반적으로 세분화, 데이터 정리, 임베딩을 통한 데이터 전처리, 인덱스 구축 및 관리, 프롬프트 생성을 개선하기 위해 유사한 세그먼트를 찾는 벡터 검색 사용 등 여러 단계를 포함합니다. 대부분의 벡터 db는 인덱스 구축 및 관리와 벡터 데이터 검색을 처리하며, Milvus와 같은 일부만이 내장 임베딩 기능을 제공합니다. 따라서 벡터 데이터 검색의 품질은 LLM이 생성한 콘텐츠의 관련성과 효과에 직접적인 영향을 미칩니다.
적절한 청크 크기 선택, 중복 세그먼트의 필요성 결정, 적합한 임베딩 모델 선택, 콘텐츠 태그 추가, 하이브리드 의미 검색 접근 방식을 위한 어휘 기반 검색 통합, 리랭커 선택 등 벡터 db의 검색 품질을 향상시키기 위한 수많은 엔지니어링 최적화가 등장하고 있습니다. 우리는 이러한 작업 중 많은 부분을 벡터 db 내에 통합할 수 있습니다.
구체적으로, 벡터 데이터베이스는 다음 영역을 개선해야 합니다:
검색의 높은 정밀도: 벡터 db는 벡터 유사도 검색을 통해 사용자 쿼리를 기반으로 가장 관련성 높은 문서나 데이터 스니펫을 정확하게 검색하는 데 탁월해야 합니다. 이는 검색된 콘텐츠가 사용자의 쿼리와 정확히 일치하도록 하기 위해 고차원 벡터 공간 내의 복잡한 의미 관계를 처리하고 해석하는 것을 수반합니다.
빠른 응답: 최적의 사용자 경험을 보장하기 위해, 벡터 db는 밀리초 이내에 검색 결과를 제공해야 합니다. 이는 광범위한 데이터세트에서 정보를 신속하게 액세스하고 추출할 수 있는 능력을 요구합니다. 데이터 볼륨이 증가하고 쿼리 복잡성이 커짐에 따라, 이러한 데이터베이스는 유연하게 확장되어 더 큰 데이터세트와 더 정교한 쿼리를 처리하면서도 안정적인 리콜 성능을 지속적으로 유지해야 합니다.
멀티모달 데이터 처리: 사용 사례의 범위가 넓어짐에 따라, vector dbs는 텍스트 데이터만 관리하는 것이 아니라 이미지, 비디오 및 기타 유형의 멀티모달 데이터도 처리해야 합니다. 이를 위해서는 다양한 데이터 유형의 임베딩을 지원하고, 다양한 모달 쿼리를 기반으로 정보를 효율적으로 검색할 수 있는 능력이 필요합니다.
해석 가능성과 디버깅 가능성: 결과가 효과적으로 검색되지 않을 때 문제를 해결하기 위해 vector dbs가 강력한 진단 및 최적화 도구를 제공하는 것도 필수적입니다.
마무리
Retrieval Augmented Generation (RAG) 애플리케이션에 대한 수요가 계속 증가함에 따라, 개발자들은 다양한 목적, 특히 맥락적으로 관련 있는 정보 수집을 위해 RAG 기술을 점점 더 많이 활용하고 있습니다. 이러한 채택 증가는 정보 검색 및 지식 습득의 효율성과 사실적 정확성을 극적으로 향상시켜 수많은 산업을 변화시키고, 궁극적으로 조직이 데이터에 접근하고 사용하는 방식을 재편할 것으로 예상됩니다.
vector dbs는 아직 상대적으로 충분히 활용되지 않고 있지만, RAG 시스템의 기반 인프라로서 엄청난 잠재력을 지니고 있습니다. 그중에서도 Milvus vector database는 RAG 애플리케이션을 개발하고 개선하는 데 따르는 과제를 적극적으로 해결하고 극복하며 두각을 나타냅니다. Milvus는 Generative AI 개발자들의 인사이트를 활용하여 인공지능 산업의 요구를 더 잘 충족하도록 기능을 지속적으로 개선하고 있습니다.
다가오는 제 게시물에서는 오픈 소스 Milvus vector database를 자세히 살펴보고, 최신 기능을 소개하며, 이것이 엔터프라이즈급 RAG 애플리케이션 구축에 이상적인 선택인 이유를 설명하겠습니다. 더 많은 인사이트를 기대해 주세요.
계속 읽기

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.

Bringing AI to Legal Tech: The Role of Vector Databases in Enhancing LLM Guardrails
Discover how vector databases enhance AI reliability in legal tech, ensuring accurate, compliant, and trustworthy AI-powered legal solutions.

OpenAI o1: What Developers Need to Know
In this article, we will talk about the o1 series from a developer's perspective, exploring how these models can be implemented for sophisticated use cases.



