[reinvent 2024] Elasticsearch와 Amazon Bedrock을 이용한 RAG 애플리케이션 구축(Elastic 스폰서)
Summary
Amazon Bedrock의 Elasticsearch Open Inference API 및 Playground와 Elastic의 통합을 사용하여 개발자가 Amazon Bedrock에서 모든 대규모 언어 모델을 사용하여 RAG 애플리케이션을 빌드할 수 있는 유연성을 향상시키는 방법을 알아보세요. 이 세션에서는 방대한 모델 라이브러리를 활용하여 고급 검색 환경의 개발을 간소화하는 방법을 검토합니다. 개발자가 Elasticsearch 환경 내에서 직접 고급 모델 테스트 및 임베딩 기능을 통해 대화형 검색을 개선하는 방법을 알아보세요. 이 프레젠테이션은 AWS 파트너인 Elastic에서 제공합니다.
리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?
Overview
들어가며
New Normal
이런 생성형AI의 핵심적인 부분이 바로 RAG 라고 할 수 있습니다. 사용자가 궁금한 것이 일반적인 내용이라면 상관없겠지만 특정 기업의 정보, 혹은 AI가 학습하지 못한 최신정보에 대한 내용이라면 이야기가 달라집니다.
Elasticsearch의 다양한 기능
VectorDB로서 속도향상 및 기업단위 혹은 페타바이트 단위 스케일 단위의 데이터에서도 활용 가능함을 확인했습니다. 또한 연관검색 및 RAG에 활용할 수 있는 최고의 hybrid search기능 역시 가지고 있으며 쉽게 Elasticsearch를 활용할 수 있도록 ELSER, 양자화 등 여러 기능을 지원합니다.
최근 몇 년간 Elasticsearch는 다양한 측면에서 괄목할만한 성능 향상을 이뤄냈습니다.
지연시간은 accelerated multigraph vector search를 통해 60%이상 줄어들었으며, 속도 및 메모리 최적화 관련해서 scalar quantization, better binary quantization을 통해 각각 8배, 32배 이상 좋아졌습니다. 또한 인덱싱 속도 역시 144% 이상 향상되었습니다.
1) Better Binary Quantization (BBQ)
특히, BBQ의 경우 Elastic 8.16 버전에서 새롭게 제공되는 것으로 실수 벡터를 양자화를 통해 bit단위로 바꾸며 이는 최대 95%의 메모리를 절약할 수 있습니다. 벡터 양자화 시간 자체도 수십배 빨라졌으며 벡터검색 퍼포먼스 역시 빨라졌습니다
2) New _inference API
새로운 _inference API를 통해 Amazon Bedrock과 연결하는 등 다양한 엔드포인트를 생성하여 활용할 수도 있습니다. 예를 들어, API의 끝에 bedrock-embeddings 라고 적은 후 JSON 구문으로 한번만 PUT 명령을 날리면 새로운 엔드포인트가 생성되며 이후 이 엔드포인트를 통해 bedrock-embeddings라는 이름으로 Amazon Bedrock의 Titan embeddings 모델을 활용할 수 있습니다.
3) Rerank API
_inference/rerank API를 통해 검색결과를 Re-Ranking 할 수 있습니다. 최초 검색 결과를 재정렬하여 질문에 따라 결과의 우선순위를 조절하는 기능입니다.
4) Semantic Text Field
기존 Semantic 검색은 아래와 같이 상당히 복잡한 작업이 선행되어야 했습니다.
하지만 이제는 Semantic Text Field를 설정하면 복잡한 과정은 제외하고 자동으로 청킹 및 임베딩을 관리할 수 있습니다.
5) RRF
Reciprocal Rank Fusion (RRF)는 서로 다른 지표를 가진 여러 결과를 하나의 결과 집합으로 결합하는 방식입니다. 결과점수 척도가 다른 두 검색 방법인 Lexcial & Semantic 검색 결과를 하나의 결과로 합치는 방식으로 별도 튜닝이 필요 없고 지표들이 서로 관련되지 않아도 고품질의 결과를 얻을 수 있습니다.
6) Geospatial search
지리적 검색을 할 수도 있습니다. 예시처럼 bounding box를 선택하여 검색하고자 하는 공간을 선택합니다.
공간이 선택되면 실제 쿼리는 다음과 같이 설정되어 검색이 진행되고 원하는 공간 내 검색 결과를 확인할 수 있습니다. 지리적 검색은 예를들어 부동산 관련 기업에서 생성형 AI를 접목시킨 애플리케이션을 설계해야 하는 경우 활용할 수 있습니다.
이처럼 Elasticsearch는 생성형 AI 애플리케이션에 필요한 구성요소를 제공하고 있고, 제공할 것입니다.