Computer >> 컴퓨터 >  >> 프로그램 작성 >> Redis

벡터 유사성 검색을 위한 Redis 재발견

RedisDays NY 2022에서 우리는 새로운 벡터 유사성 검색(VSS) 기능의 공개 프리뷰를 발표했습니다. VSS는 RediSearch 2.4의 일부이며 Docker, Redis Stack 및 Redis Enterprise Cloud의 무료 및 고정 구독에서 사용할 수 있습니다.

이 기사에서는 Redis VSS를 시작하는 데 도움이 되는 벡터 유사성, 응용 프로그램 및 공유 리소스의 기본 사항을 안내합니다.

벡터 유사성 검색을 위한 Redis 재발견벡터 유사성이란 무엇입니까?

간단히 말해서 두 개 이상의 벡터가 얼마나 다른(또는 유사한) 측정값입니다. 벡터를 숫자 목록으로 생각하십시오.

벡터 유사성 검색이 주목받는 이유는 무엇입니까?

기본적으로 벡터 검색을 통해 개발자는 오디오, 자연어, 이미지, 비디오 클립, 음성 녹음 및 더 많은 유형의 데이터를 기반으로 정보를 검색할 수 있습니다. 구조화되지 않은 데이터 검색은 VSS를 고급 유사성 검색 경험을 구축하는 기초 기술로 만듭니다.

이 벡터는 내 데이터에 대해 어떻게 생성되나요?

AI의 발전으로 데이터 과학자는 거의 모든 데이터 "개체"를 벡터 표현으로 변환할 수 있는 모델을 구축할 수 있습니다. 여기서 엔티티는 트랜잭션, 사용자 프로필, 이미지, 사운드, 긴 텍스트(문장 또는 단락), 시계열 또는 그래프일 수 있습니다. 이들 중 무엇이든 "임베딩"이라고도 하는 "특징 벡터"로 변환할 수 있습니다.

이 임베딩은 무엇을 의미합니까?

벡터 임베딩은 데이터의 숫자 표현입니다. 컴퓨터와 데이터베이스가 쉽게 비교할 수 있는 방식으로 엔터티의 가장 필수적인 기능을 캡처합니다. 여기서 흥미로운 부분은 모델이 두 개의 항목에 대해 두 개의 유사한 임베딩(벡터)을 생성하는 경우 두 개의 원래 항목이 몇 가지 근본적인 면에서 유사하다는 것을 추론할 수 있다는 것입니다.

이 임베딩을 생성하려면 데이터 과학자여야 하나요?

전혀! 개발자가 텍스트, 이미지 또는 시계열 데이터에서 임베딩을 생성할 수 있도록 하는 무료로 사용 가능한 여러 AI 모델 및 라이브러리가 있습니다. 예를 들어 HuggingFace Sentence Transformers를 사용하여 문장에 대한 임베딩을 생성하고 Img2Vec을 사용하여 이미지에 대한 임베딩을 생성하고 Facebook Kats를 사용하여 시계열 데이터에 대한 임베딩을 생성할 수 있습니다. AI/ML 실무자는 데이터 엔터티에 대한 "밀도" 기능 표현(일명 임베딩)을 생성하는 개념에 익숙합니다. 이제 이러한 특징 벡터를 Redis에 저장하고 유사성 검색을 수행할 수 있습니다.

벡터 유사성 검색을 위한 Redis 재발견벡터 유사성 검색으로 어떤 종류의 응용 프로그램을 만들 수 있습니까? ?

벡터 유사성 검색에 의존하는 몇 가지 일상적인 응용 프로그램과 상호 작용합니다.

전자상거래 웹사이트의 시각적 검색부터 자동화된 챗봇/Q&A 시스템 및 다양한 유형의 추천 시스템까지. 보다 일반적으로 VSS는 실시간으로 유사성을 발견하는 것이 가치를 실현하는 데 필수적인 모든 앱에서 유용하다는 것을 알게 될 것입니다. 몇 가지 일반적인 사용 사례는 다음과 같습니다.

– 전자 상거래 권장 사항:시각적 유사성 및/또는 의미론적 유사성을 사용하여 고급 검색 경험 및 제품 권장 사항을 강화합니다.

– 의미론적 유사성:정교한 검색 경험, 챗봇 또는 질문 및 응답 시스템 구축

– 시계열 데이터의 유사성:과거 패턴의 유사성을 기반으로 질병 확산 패턴의 유사성 또는 거래 기회 발견

– 그래프 데이터의 유사성:서로 다른(관련되지 않은) 행위자 또는 네트워크 집합에서 유사한 연결 패턴을 나타냅니다.

– 거래 유사성:이전에 탐지된 사기/위협 시도와 유사성을 기반으로 잠재적 사기 또는 위협 탐지

– 사용자 프로필 또는 제품의 유사성:개인화된 추천 생성 임베딩 데이터에 의해 드러난 패턴을 기반으로 고객 세분화 조정

벡터 유사성 검색을 위한 Redis 재발견Redis는 벡터 유사성 검색을 어떻게 구현합니까?

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 문서를 확인할 수 있습니다.

벡터 유사성 검색을 위한 Redis 재발견시작하려면 어떻게 해야 하나요?

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를 포함합니다.