제퍼넷 로고

Amazon OpenSearch 서비스 검색 개선 사항: 2023년 정리 | 아마존 웹 서비스

시간

사용자가 검색 엔진에서 기대하는 것은 수년에 걸쳐 발전해 왔습니다. 대부분의 사용자에게는 어휘적으로 관련된 결과를 신속하게 반환하는 것만으로는 더 이상 충분하지 않습니다. 이제 사용자는 의미론적 이해를 통해 훨씬 더 관련성이 높은 결과를 얻을 수 있거나 메타데이터의 텍스트 검색 대신 이미지의 시각적 유사성을 검색할 수 있는 방법을 찾고 있습니다. 아마존 오픈서치 서비스 검색 경험을 향상시킬 수 있는 많은 기능이 포함되어 있습니다. 우리는 2023년에 해당 툴킷에 추가된 OpenSearch 서비스 기능 및 개선 사항에 대해 기쁘게 생각합니다.

2023년은 인공지능(AI)과 머신러닝(ML) 분야에서 급속한 혁신이 이루어진 해였으며 검색은 이러한 발전의 큰 수혜자였습니다. 2023년 내내 Amazon OpenSearch Service는 검색 팀이 최신 AI/ML 기술을 사용하여 애플리케이션을 다시 작성하거나 맞춤형 오케스트레이션을 구축할 필요 없이 기존 검색 경험을 개선하고 강화할 수 있도록 지원하는 데 투자하여 신속한 개발, 반복 및 제품화를 실현했습니다. 이러한 투자에는 새로운 검색 방법의 도입과 사용 가능한 방법의 구현을 단순화하는 기능이 포함되며, 이 게시물에서 이에 대해 검토합니다.

배경: 어휘 및 의미 검색

시작하기 전에 어휘 및 의미 검색을 검토해 보겠습니다.

어휘 검색

어휘 검색에서 검색 엔진은 검색 쿼리의 단어를 문서의 단어와 비교하여 단어별로 일치시킵니다. 사용자가 입력한 단어가 있는 항목만 쿼리와 일치합니다. BM25와 같은 용어 빈도 모델을 기반으로 하는 기존 어휘 검색은 많은 검색 애플리케이션에 널리 사용되고 효과적입니다. 그러나 어휘 검색 기술은 사용자의 쿼리에 포함된 단어를 넘어서는 데 어려움을 겪기 때문에 관련성이 높은 잠재적인 결과가 항상 반환되지는 않습니다.

시맨틱 검색

의미 체계 검색에서 검색 엔진은 ML 모델을 사용하여 원본 문서의 텍스트나 기타 미디어(예: 이미지 및 비디오)를 고차원 벡터 공간의 밀집된 벡터로 인코딩합니다. 이것은 또한 임베딩 텍스트를 벡터 공간에 넣습니다. 유사하게 쿼리를 벡터로 코딩한 다음 거리 측정법을 사용하여 다차원 공간에서 근처 벡터를 찾아 일치하는 항목을 찾습니다. 가까운 벡터를 찾는 알고리즘을 k-Nearest Neighbor(k-NN)이라고 합니다. 의미론적 검색은 개별 쿼리 용어와 일치하지 않습니다. 즉, 벡터 임베딩이 벡터 공간의 쿼리 임베딩 근처에 있어 의미상 쿼리와 유사한 문서를 찾습니다. 이를 통해 검색어에 포함된 단어가 전혀 포함되지 않은 경우에도 관련성이 높은 항목을 반환할 수 있습니다.

OpenSearch는 수년 동안 벡터 유사성 검색(k-NN 및 근사 k-NN)을 제공했으며, 이는 이를 채택한 고객에게 가치가 있었습니다. 그러나 상당한 엔지니어링 노력과 리소스가 필요하기 때문에 k-NN의 혜택을 누릴 기회가 있는 모든 고객이 이를 채택한 것은 아닙니다.

2023 릴리스: 기본 사항

2023년에는 지속적인 검색 개선을 위한 기본 구성 요소인 새로운 기능을 포함하여 OpenSearch 서비스에 대한 여러 기능과 개선 사항이 출시되었습니다.

OpenSearch 검색 결과 비교 도구

XNUMXD덴탈의 검색 결과 비교 OpenSearch Service 버전 2.11에서 일반적으로 사용 가능한 도구를 사용하면 OpenSearch 대시보드에서 두 가지 순위 기술의 검색 결과를 나란히 비교하여 한 쿼리가 다른 쿼리보다 더 나은 결과를 생성하는지 확인할 수 있습니다. ML 지원 모델로 구동되는 최신 검색 방법을 실험하는 데 관심이 있는 고객에게는 검색 결과를 비교하는 기능이 중요합니다. 여기에는 어휘 검색, 의미 체계 검색 및 하이브리드 검색 기술을 비교하여 말뭉치에 대한 각 기술의 이점을 이해하거나 필드 가중치 및 다양한 형태소 분석 또는 표제어 분석 전략과 같은 조정이 포함될 수 있습니다.

다음 스크린샷은 검색 결과 비교 도구를 사용하는 예를 보여줍니다.


의미 체계 검색 및 교차 모달 검색에 대해 자세히 알아보고 검색 결과 비교 도구의 데모를 사용해 보려면 다음을 참조하세요. Amazon OpenSearch Service 벡터 엔진으로 의미론적 검색을 사용해 보세요..

검색 파이프라인

검색 실무자들은 검색어와 결과를 향상시킬 수 있는 새로운 방법을 모색하고 있습니다. OpenSearch Service 버전 2.9부터 검색 파이프라인이 정식 출시되면서 응용 프로그램 소프트웨어를 복잡하게 하지 않고도 검색 쿼리 및 결과 처리를 모듈식 처리 단계의 구성으로 구축할 수 있습니다. 필터와 같은 기능을 위한 프로세서를 통합하고 새로 색인된 문서에서 실행할 스크립트를 추가하는 기능을 통해 검색 응용 프로그램을 보다 정확하고 효율적으로 만들고 사용자 정의 개발의 필요성을 줄일 수 있습니다.

검색 파이프라인에는 filter_query, rename_field 및 스크립트 요청이라는 세 가지 내장 프로세서와 새로운 개발자 중심 API가 통합되어 있어 자체 프로세서를 구축하려는 개발자가 이를 수행할 수 있습니다. OpenSearch는 향후 릴리스에서 이 기능을 더욱 확장하기 위해 계속해서 내장 프로세서를 추가할 예정입니다.

다음 다이어그램은 검색 파이프라인 아키텍처를 보여줍니다.

Lucene의 바이트 크기 벡터

지금까지 OpenSearch의 k-NN 플러그인은 각 벡터 요소가 4바이트를 차지하는 float 유형의 벡터 인덱싱 및 쿼리를 지원했습니다. 이는 특히 대규모 사용 사례의 경우 메모리와 스토리지 비용이 많이 들 수 있습니다. OpenSearch Service 버전 2.9의 새로운 바이트 벡터 기능을 사용하면 메모리 요구 사항을 4배로 줄이고 품질(리콜) 손실을 최소화하면서 검색 대기 시간을 크게 줄일 수 있습니다. 자세한 내용은 다음을 참조하세요. OpenSearch의 바이트 양자화된 벡터.

새로운 언어 분석기 지원

OpenSearch Service는 이전에 IK(중국어), Kuromoji(일본어), Seunjeon(한국어) 등의 언어 분석기 플러그인을 지원했습니다. Nori(한국어), Sudachi(일본어), Pinyin(중국어) 및 STConvert Analysis(중국어)에 대한 지원을 추가했습니다. 이러한 새로운 플러그인은 이전에 지원되었던 TXT-DICTIONARY 패키지 유형과 함께 새로운 패키지 유형인 ZIP-PLUGIN으로 제공됩니다. 다음으로 이동할 수 있습니다. 패키지 OpenSearch Service 콘솔 페이지에서 이러한 플러그인을 클러스터에 연결하거나 AssociatePackage API를 사용하세요.

2023 릴리스: 사용 편의성 향상

OpenSearch 서비스는 또한 2023년에 주요 검색 기능 내에서 사용 편의성을 향상시키기 위해 개선되었습니다.

신경 검색을 통한 의미 검색

이전에 의미 체계 검색을 구현한다는 것은 애플리케이션이 텍스트 임베딩 모델을 검색 및 수집에 통합하고 코퍼스 인코딩을 조정한 다음 쿼리 시 k-NN 검색을 사용하는 미들웨어를 담당한다는 것을 의미했습니다.

오픈서치 서비스 도입 신경 검색 버전 2.9에서는 빌더가 획일적인 부담을 크게 줄여 의미론적 검색 애플리케이션을 생성하고 운용할 수 있습니다. 귀하의 애플리케이션은 더 이상 문서와 쿼리의 벡터화를 처리할 필요가 없습니다. 의미론적 검색은 이를 수행하고 쿼리 시간 동안 k-NN을 호출합니다. 신경망 검색 기능을 통한 의미 검색은 문서나 기타 미디어를 벡터 임베딩으로 변환하고 텍스트와 해당 벡터 임베딩을 모두 벡터 인덱스에 색인화합니다. 검색 중에 신경망 쿼리를 사용하면 신경망 검색은 쿼리 텍스트를 벡터 임베딩으로 변환하고, 벡터 검색을 사용하여 쿼리와 문서 임베딩을 비교하고, 가장 가까운 결과를 반환합니다. 이 기능은 처음에 OpenSearch Service 버전 2.4에서 실험적으로 출시되었으며 이제 버전 2.9에서 일반적으로 사용할 수 있습니다.

AI 기반 검색 기능을 활성화하는 AI/ML 커넥터

OpenSearch Service 2.9를 사용하면 AWS AI 및 ML 서비스에 대한 기본 AI 커넥터와 신경 검색과 같은 기능을 강화하기 위한 타사 대안을 사용할 수 있습니다. 예를 들어 다음에서 호스팅되는 외부 ML 모델에 연결할 수 있습니다. 아마존 세이지 메이커는 생산 과정에서 모델을 성공적으로 관리할 수 있는 포괄적인 기능을 제공합니다. 완전 관리형 환경을 통해 최신 기반 모델을 사용하려는 경우 커넥터를 사용하여 다음을 수행할 수 있습니다. 아마존 기반암 다중 모드 검색과 같은 사용 사례를 강화합니다. 초기 릴리스에는 Cohere Embed에 대한 커넥터가 포함되어 있으며 SageMaker 및 Amazon Bedrock을 통해 더 많은 타사 옵션에 액세스할 수 있습니다. 다음을 통해 도메인에서 이러한 통합 중 일부를 구성할 수 있습니다. OpenSearch 서비스 콘솔 통합 (다음 스크린샷 참조) SageMaker에 모델 배포를 자동화할 수도 있습니다.

통합 모델은 OpenSearch 서비스 도메인에 분류되어 있으므로 팀에서는 통합되어 즉시 사용할 수 있는 다양한 모델을 찾을 수 있습니다. 모델 및 커넥터 수준 액세스를 제어하기 위해 모델 및 커넥터 리소스에 대한 세부적인 보안 제어를 활성화하는 옵션도 있습니다.

개방형 생태계를 육성하기 위해 우리는 파트너가 AI 커넥터를 쉽게 구축하고 게시할 수 있도록 지원하는 프레임워크를 만들었습니다. 기술 제공업체는 간단히 청사진는 OpenSearch와 서비스 간의 보안 RESTful 통신을 설명하는 JSON 문서입니다. 기술 파트너는 커뮤니티 사이트에 커넥터를 게시할 수 있으며 자체 관리형 클러스터 또는 OpenSearch Service에서 이러한 AI 커넥터를 즉시 사용할 수 있습니다. 각 커넥터에 대한 청사진은 다음에서 찾을 수 있습니다. ML Commons GitHub 저장소.

점수 조합으로 지원되는 하이브리드 검색

신경 검색을 위한 벡터 임베딩과 자연어 처리를 위한 생성적 AI LLM(대형 언어 모델)과 같은 의미론적 기술은 검색을 혁신하여 수동 동의어 목록 관리 및 미세 조정의 필요성을 줄였습니다. 반면, 텍스트 기반(어휘) 검색은 부품 번호나 브랜드 이름과 같은 일부 중요한 경우 의미 검색보다 성능이 뛰어납니다. 두 가지 방법을 결합한 하이브리드 검색은 BM14 단독 검색보다 10% 더 높은 검색 관련성(순위 품질 측정 기준인 NDCG@25으로 측정)을 제공하므로 고객은 하이브리드 검색을 사용하여 두 가지 장점을 모두 활용하기를 원합니다. 자세한 벤치마킹 점수 정확도 및 성능에 대한 자세한 내용은 다음을 참조하세요. OpenSearch 2.10에서 일반적으로 사용 가능한 하이브리드 검색으로 검색 관련성을 향상시킵니다..

지금까지는 각 방법의 관련성 척도가 다르기 때문에 이를 결합하는 것이 어려웠습니다. 이전에는 하이브리드 접근 방식을 구현하려면 여러 쿼리를 독립적으로 실행한 다음 OpenSearch 외부에서 점수를 정규화하고 결합해야 했습니다. 신제품 출시와 함께 하이브리드 점수 조합 및 정규화 OpenSearch Service 2.11의 쿼리 유형인 OpenSearch는 하나의 쿼리에서 점수 정규화 및 조합을 처리하여 하이브리드 검색을 더 쉽게 구현하고 검색 관련성을 향상시키는 더 효율적인 방법을 만듭니다.

새로운 검색 방법

마지막으로 OpenSearch Service는 이제 새로운 검색 방법을 제공합니다.

신경 희소 검색

OpenSearch 서비스 2.11 도입 신경 희소 검색는 기존의 용어 기반 인덱싱과 여러 면에서 유사하지만 빈도가 낮은 단어와 구문을 더 잘 표현하는 새로운 종류의 희소 임베딩 방법입니다. 희소 의미 검색은 변환기 모델(예: BERT)을 사용하여 어휘 불일치 문제를 확장 가능한 방식으로 해결하는 풍부한 정보의 임베딩을 구축하는 동시에 어휘 검색과 비슷한 계산 비용과 대기 시간을 갖습니다. OpenSearch를 통한 이 새로운 희소 검색 기능은 서로 다른 장점을 지닌 두 가지 모드, 즉 문서 전용 모드와 이중 인코더 모드를 제공합니다. 문서 전용 모드는 밀집된 방법에 비해 고급 구문에 대한 제한이 있지만 BM25 검색과 유사한 짧은 대기 시간 성능을 제공할 수 있습니다. 바이인코더 모드는 더 높은 대기 시간으로 수행하면서 검색 관련성을 극대화할 수 있습니다. 이번 업데이트를 통해 이제 성능, 정확성 및 비용 요구 사항에 가장 적합한 방법을 선택할 수 있습니다.

다중 모드 검색

OpenSearch Service 2.11에는 신경 검색을 사용한 텍스트 및 이미지 다중 모드 검색이 도입되었습니다. 이 기능을 사용하면 시각적 및 의미적 유사성을 기반으로 제품 카탈로그 항목(제품 이미지 및 설명)과 같은 이미지 및 텍스트 쌍을 검색할 수 있습니다. 이를 통해 보다 관련성이 높은 결과를 제공할 수 있는 새로운 검색 환경이 가능해집니다. 예를 들어, 제품 제목이 "크림색 셔츠"인 경우에도 "흰색 블라우스"를 검색하면 해당 설명과 일치하는 이미지가 있는 제품을 검색할 수 있습니다. 이러한 경험을 강화하는 ML 모델은 의미론과 시각적 특성을 연관시킬 수 있습니다. 이미지로 검색하여 시각적으로 유사한 제품을 검색하거나 텍스트와 이미지로 검색하여 특정 제품 카탈로그 항목과 가장 유사한 제품을 찾을 수도 있습니다.

이제 이러한 기능을 애플리케이션에 구축하여 다중 모드 모델에 직접 연결하고 사용자 정의 미들웨어를 구축할 필요 없이 다중 모드 검색 쿼리를 실행할 수 있습니다. Amazon Titan 다중 모드 임베딩 모델은 OpenSearch 서비스와 통합되어 이 방법을 지원할 수 있습니다. 인용하다 다중모달 검색 다중 모드 의미 검색을 시작하는 방법에 대한 지침을 확인하고 향후 릴리스에 추가될 더 많은 입력 유형을 찾아보세요. 데모를 시험해 볼 수도 있습니다. 교차 모달 텍스트 및 이미지 검색, 텍스트 설명을 사용하여 이미지를 검색하는 방법을 보여줍니다.

요약

OpenSearch 서비스는 검색 애플리케이션을 구축하기 위한 다양한 도구를 제공하지만 최상의 구현은 코퍼스와 비즈니스 요구 사항 및 목표에 따라 달라집니다. 검색 실무자가 테스트를 시작하도록 권장합니다. 사용 가능한 검색 방법 귀하의 사용 사례에 적합한 제품을 찾으려면 2024년 이후에도 OpenSearch 검색 실무자가 최신 및 최고의 검색 기술을 손쉽게 이용할 수 있도록 검색 혁신의 빠른 속도가 계속해서 나타날 것으로 예상할 수 있습니다.


저자에 관하여

다그니 브라운 Amazon Web Services OpenSearch 팀의 제품 부문 수석 관리자입니다. 그녀는 OpenSearch의 사용 편의성을 개선하고 모든 고객 사용 사례를 더 효과적으로 지원하기 위해 사용할 수 있는 도구를 확장하는 데 열정을 쏟고 있습니다.

스타브로스 마크라키스 Amazon Web Services OpenSearch 프로젝트의 수석 기술 제품 관리자입니다. 그는 고객에게 검색 결과의 품질을 향상시킬 수 있는 도구를 제공하는 데 열정을 쏟고 있습니다.

딜런 통 Amazon Web Services의 수석 제품 관리자입니다. 그는 OpenSearch의 벡터 데이터베이스 기능을 포함하여 OpenSearch에서 AI 및 기계 학습(ML)을 위한 제품 이니셔티브를 이끌고 있습니다. Dylan은 고객과 직접 협력하고 데이터베이스, 분석, AI/ML 영역에서 제품과 솔루션을 제작한 수십 년의 경험을 보유하고 있습니다. Dylan은 코넬 대학교에서 컴퓨터 공학 학사 및 석사 학위를 취득했습니다.

spot_img

최신 인텔리전스

spot_img