RedisDays NY 2022에서 우리는 새로운 벡터 유사성 검색(VSS) 기능의 공개 프리뷰를 발표했습니다. VSS는 RediSearch 2.4의 일부이며 Docker, Redis Stack 및 Redis Enterprise Cloud의 무료 및 고정 구독에서 사용할 수 있습니다.
이 기사에서는 Redis VSS를 시작하는 데 도움이 되는 벡터 유사성, 응용 프로그램 및 공유 리소스의 기본 사항을 안내합니다.
벡터 유사성이란 무엇입니까?
간단히 말해서 두 개 이상의 벡터가 얼마나 다른(또는 유사한) 측정값입니다. 벡터를 숫자 목록으로 생각하십시오.
기본적으로 벡터 검색을 통해 개발자는 오디오, 자연어, 이미지, 비디오 클립, 음성 녹음 및 더 많은 유형의 데이터를 기반으로 정보를 검색할 수 있습니다. 구조화되지 않은 데이터 검색은 VSS를 고급 유사성 검색 경험을 구축하는 기초 기술로 만듭니다.
이 벡터는 내 데이터에 대해 어떻게 생성되나요?AI의 발전으로 데이터 과학자는 거의 모든 데이터 "개체"를 벡터 표현으로 변환할 수 있는 모델을 구축할 수 있습니다. 여기서 엔티티는 트랜잭션, 사용자 프로필, 이미지, 사운드, 긴 텍스트(문장 또는 단락), 시계열 또는 그래프일 수 있습니다. 이들 중 무엇이든 "임베딩"이라고도 하는 "특징 벡터"로 변환할 수 있습니다.
이 임베딩은 무엇을 의미합니까?벡터 임베딩은 데이터의 숫자 표현입니다. 컴퓨터와 데이터베이스가 쉽게 비교할 수 있는 방식으로 엔터티의 가장 필수적인 기능을 캡처합니다. 여기서 흥미로운 부분은 모델이 두 개의 항목에 대해 두 개의 유사한 임베딩(벡터)을 생성하는 경우 두 개의 원래 항목이 몇 가지 근본적인 면에서 유사하다는 것을 추론할 수 있다는 것입니다.
이 임베딩을 생성하려면 데이터 과학자여야 하나요?전혀! 개발자가 텍스트, 이미지 또는 시계열 데이터에서 임베딩을 생성할 수 있도록 하는 무료로 사용 가능한 여러 AI 모델 및 라이브러리가 있습니다. 예를 들어 HuggingFace Sentence Transformers를 사용하여 문장에 대한 임베딩을 생성하고 Img2Vec을 사용하여 이미지에 대한 임베딩을 생성하고 Facebook Kats를 사용하여 시계열 데이터에 대한 임베딩을 생성할 수 있습니다. AI/ML 실무자는 데이터 엔터티에 대한 "밀도" 기능 표현(일명 임베딩)을 생성하는 개념에 익숙합니다. 이제 이러한 특징 벡터를 Redis에 저장하고 유사성 검색을 수행할 수 있습니다.
벡터 유사성 검색으로 어떤 종류의 응용 프로그램을 만들 수 있습니까? ?
벡터 유사성 검색에 의존하는 몇 가지 일상적인 응용 프로그램과 상호 작용합니다.
전자상거래 웹사이트의 시각적 검색부터 자동화된 챗봇/Q&A 시스템 및 다양한 유형의 추천 시스템까지. 보다 일반적으로 VSS는 실시간으로 유사성을 발견하는 것이 가치를 실현하는 데 필수적인 모든 앱에서 유용하다는 것을 알게 될 것입니다. 몇 가지 일반적인 사용 사례는 다음과 같습니다.
– 전자 상거래 권장 사항:시각적 유사성 및/또는 의미론적 유사성을 사용하여 고급 검색 경험 및 제품 권장 사항을 강화합니다.
– 의미론적 유사성:정교한 검색 경험, 챗봇 또는 질문 및 응답 시스템 구축
– 시계열 데이터의 유사성:과거 패턴의 유사성을 기반으로 질병 확산 패턴의 유사성 또는 거래 기회 발견
– 그래프 데이터의 유사성:서로 다른(관련되지 않은) 행위자 또는 네트워크 집합에서 유사한 연결 패턴을 나타냅니다.
– 거래 유사성:이전에 탐지된 사기/위협 시도와 유사성을 기반으로 잠재적 사기 또는 위협 탐지
– 사용자 프로필 또는 제품의 유사성:개인화된 추천 생성 임베딩 데이터에 의해 드러난 패턴을 기반으로 고객 세분화 조정
RediSearch는 Redis 해시 또는 JSON 형식으로 저장된 Redis 데이터에 대한 쿼리 기능, 보조 인덱싱 및 전체 텍스트 검색을 제공하는 Redis 모듈입니다. Redis 2.4에서 Redis는 벡터 유사성 검색에 대한 지원을 도입했습니다.
RediSearch 2.4를 통해 Redis 개발자는 다음을 수행할 수 있습니다.
– Redis 해시에서 BLOB로 저장된 인덱스 및 쿼리 벡터 데이터
– 두 가지 인기 있는 인덱싱 방법 사용:FLAT 및 HNSW
– 세 가지 일반적인 벡터 거리 메트릭 사용:코사인, 내부 곱 및 유클리드 거리
– GEO, NUMERIC, TAG 또는 TEXT 데이터에 대한 기존 RediSearch 필터링 기능과 벡터 유사성을 결합하는 하이브리드 쿼리를 수행합니다. 전자 상거래 설정에서 하이브리드 쿼리의 일반적인 예는 "GEO 위치 및 가격 범위 내에서 사용할 수 있는 항목으로 제한된 주어진 쿼리 이미지와 시각적으로 유사한 항목 찾기"입니다.
Python에 익숙하다면 다음을 시도하십시오.
– 공개 Amazon 데이터 세트에 대한 시각적 및 의미론적 유사성
– 금융 뉴스 기사의 감정 분석 및 의미론적 유사성
Java의 경우 인덱스 생성, 데이터 로드 및 쿼리 방법을 보여주는 이 기본 데모를 시도할 수 있습니다.
다음 두 RedisDays 2022 세션의 리플레이를 시청해 보세요.
– 기조 연설 :"금융 서비스" 애플리케이션에 실시간 AI 도입
– 비하인드 스토리: AI를 사용하여 기업 파일에 숨겨진 거래 신호 공개
이제 세션을 주문형으로 시청할 수 있습니다. "Vectors로 작업하기"에서 언제든지 RediSearch 문서를 확인할 수 있습니다.
RediSearch 2.4로 Redis 데이터베이스를 생성하는 세 가지 쉬운 방법이 있습니다.
터미널에서 다음 중 하나로 얻을 수 있습니다.
1) 도커 – “docker run -p 6379:6379 redislabs/redisearch:2.4.5”
2) Redis 스택 – "brew install redis-stack"(Mac OS에서). 다른 운영 체제의 경우 "Redis Stack 시작하기"를 시도하십시오.
3) 마지막으로 Redis Enterprise Cloud로 무료 구독을 생성할 수도 있습니다.
Redis Enterprise Cloud 구독 경로로 이동하는 경우 "Redis Stack ” 옵션은 RediSearch 2.4를 포함합니다.