안드로이드

Couchbase Mobile을 이용한 엣지에서의 벡터 검색

8 분 읽기

다음을 발표하게 되어 기쁩니다 Couchbase Lite 3.2 출시 벡터 검색 지원 기능과 함께. 이번 표시는 다음의 뒤를 잇습니다 카펠라 및 카우치베이스 서버 7.6의 벡터 검색 지원이제 카우치베이스 라이트의 벡터 검색 지원을 통해 우리는 클라우드 및 엣지에서 AI 응용 프로그램을 구동하는 벡터 검색에 대한 클라우드 대 엣지 지원.

이 블로그 포스트에서는 Couchbase Lite 애플리케이션에 적용되는 사용 사례에 대한 간략한 살펴보기와 함께, 엣지에서 벡터 검색을 지원하는 주요 이점에 대해 논의하겠습니다.

벡터 검색

벡터 검색 의미적으로 검색하는 기술입니다 ~를 기반으로 한 유사한 아이템 벡터 임베딩 다차원 공간에서의 항목 표현. 거리 측정법은 항목 간의 유사성을 결정하는 데 사용됩니다. 벡터 검색은 다음의 필수 구성 요소입니다. 생성형 AI 그리고 예측형 AI 애플리케이션.  

카우치베이스 모바일 스택

Couchbase가 처음이시라면, 다음은 Couchbase Mobile에 대한 간단한 입문서입니다. 

Couchbase Mobile은 오프라인 우선, 클라우드 투 엣지 데이터베이스 플랫폼. 이는 다음으로 구성됩니다: 

클라우드 데이터베이스완전 관리형 호스티드 Database-as-a-Service로 이용 가능 카우치베이스 카펠라, 배포 및 호스팅 카우치베이스 서버 스스로.

임베디드 데이터베이스 코우치베이스 라이트  모바일, 데스크톱 및 IoT 애플리케이션을 위한 완전한 기능을 갖춘 NoSQL 임베디드 데이터베이스입니다. 

데이터 동기화 웹을 통한 데이터 동기화 및 기기 간 피어투피어 동기화를 위한 보안 게이트웨이. 완전 호스팅 및 관리형 동기화 서비스로 제공되며 카펠라 앱 서비스, 또는 설치 및 관리 카우치베이스 싱크 게이트웨이 자기 자신.

저희를 확인해 보세요 문서화 추가 정보를 보려면.

벡터 검색의 사용 사례 및 이점

의 이점에도 불구하고 벡터 검색 상당히 잘 이해되고 있는데, 왜 엣지(edge)에서 벡터 검색을 원하시겠습니까? 

오프라인 우선 모드에서의 시맨틱 검색

단순한 텍스트 기반 검색으로는 충분하지 않은 애플리케이션 이제 기기가 오프라인 모드일 때조차 문맥상 관련 있는 데이터를 검색하기 위해 로컬 데이터에 대한 시맨틱 검색을 지원할 수 있으며, 이를 통해 검색 결과를 항상 이용할 수 있게 됩니다. 

예시

전형적인 현장 응용 프로그램을 생각해 보십시오. 수리 현장과 재난 지역에 나가 있는 유틸리티 작업자들은 인터넷 연결이 좋지 않거나 전혀 없는 지역에서 작업합니다.

  • 그 단어들은, 선, 케이블, 전선 공공 유틸리티 회사의 동의어입니다. 현장의 유틸리티 작업자가 해당 문구를 검색할 때,  , 문서와 케이블, 전선 반환되어야 합니다. 
  • 전문 검색(FTS)을 사용하면 애플리케이션에서 동의어 목록을 유지 관리해야 하는데, 이는 생성, 관리 및 유지가 어렵습니다.  
  • 관련성도 중요합니다. 따라서 검색어: 끊어진 전력선 안전 수칙 쓰러진 전력선, 전력 케이블, 고압선 등과 관련된 매뉴얼에 집중해야 합니다.

데이터 프라이버시 우려 완화

벡터 검색 데이터베이스의 주요 사용 사례 중 하나는 문맥상 관련성이 있는 데이터를 가져오는 기능입니다. 검색 결과는 쿼리 응답을 맞춤화하기 위해 대규모 언어 모델(LLM)로 전송되는 쿼리의 문맥 데이터로 포함됩니다. 이것이 바로 의 초석입니다. 검색증강 생성개인적이거나 민감한 성격의 데이터에 대해 검색을 수행하는 것은 프라이버시 우려를 불러일으킬 수 있습니다. 로컬 기기에서 검색을 수행할 때, 우리는 검색을 해당 기기의 민감한 데이터에 접근할 수 있도록 인증 및 권한 부여된 사용자만으로 제한할 수 있습니다. 벡터 검색 결과에서 나온 개인 식별 정보(PII)는 비식별화(마스킹) 처리한 후 LLM에 대한 RAG 쿼리 내에서 활용할 수 있습니다.

게다가 병원이나 소매점 같은 엣지 로케이션에 커스텀 LLM이 배포될 경우, 문맥과 관련된 검색 결과를 인터넷을 통해 원격 클라우드 서비스로 전송해야 하는 우려도 더욱 해소됩니다.

예시

다음의 헬스케어 애플리케이션 예시를 고려해보세요:

  • 병원의 의사가 수술에서 회복 중인 환자를 위한 치료 방법을 찾고 있습니다.
  • 의료 기록 및 선호도에서 관련 환자 맥락이 검색됩니다. 이 데이터에 대한 접근은 인증 및 인가됩니다.
  • 환자 맥락이 병원에 호스팅된 엣지 LLM 모델로 질의와 함께 전송되어 맞춤형 회복 계획을 생성할 수 있습니다.

쿼리당 비용 절감

수십만 대의 연결된 클라이언트가 클라우드 기반 LLM에 쿼리를 전송할 때, 클라우드 모델에 가해지는 부하와 클라우드 모델 운영 비용은 상당히 높아질 수 있습니다. 쿼리를 기기에서 로컬로 실행함으로써 데이터 전송 비용과 클라우드 송신 비용을 절감하고 운영 비용을 분산시킬 수 있습니다. 

예시

디지털 고객 서비스 어시스턴트 애플리케이션의 다음 예를 고려해 보십시오.

  • 소매점은 상품 카탈로그, 매장별 가격 및 프로모션 데이터를 매장 내 고객 서비스 키오스크(엣지 디바이스)와 동기화합니다. 
  • 키오스크 사용자가 카메라에 포착된 자신이 입고 있는 재킷과 어울리는 모자를 검색합니다. 그녀는 또한 할인 중인 모자에도 관심을 갖고 있습니다. 
  • 키오스크가 원격 서버로 검색 쿼리를 전송하는 대신, 유사도 검색은 키오스크에서 로컬로 카탈로그를 대상으로 수행되어 유사한 항목 할인 중인.
  • 보너스로, 캡처된 이미지는 키오스크에서 즉시 폐기될 수 있어 프라이버시 우려를 완화합니다.

저지연 검색

로컬 임베디드 모델을 사용하여 로컬 데이터셋을 상대로 로컬에서 실행되는 검색은 네트워크 가변성을 없애고 일관되게 빠른 속도를 제공합니다. 모델이 로컬 기기 내부에 내장되어 있지 않고 엣지 위치에 배포된 경우라 할지라도, 쿼리와 관련된 왕복 시간(RTT)은 인터넷을 통해 이루어진 검색에 비해 크게 줄어들 수 있습니다.

예시

소매점 애플리케이션 수정 중:

  • 고객 서비스 키오스크에 동기화되는 제품 카탈로그, 매장별 가격 및 프로모션 문서에는 벡터 임베딩이 포함되어 있습니다. 벡터 임베딩은 클라우드의 LLM 임베딩 모델에 의해 생성됩니다.
  • 동기화된 문서는 키오스크에 로컬로 색인화됩니다.
  • 매장 키오스크에서 특정 상품을 찾는 고객은 일반 검색을 합니다 아디다스 여성용 테니스화 260mm 그리고 또한 실행할 수 있습니다 관련 항목 찾기 일반 검색을 사용하여 검색된 제품과 나머지 제품 문서들을 비교하여 유사 검색을 수행하는 방식으로 기능합니다. 이 검색은 로컬에서 수행되며 속도가 빠릅니다.
  • 이 경우, 벡터 임베딩은 클라우드에서 생성되는 반면 유사도 검색은 로컬에서 수행됩니다. 사실 이 특정 애플리케이션에서는 키오스크 애플리케이션 내에 임베딩 모델조차 필요하지 않습니다.

벡터 유사도 검색을 위한 통합 클라우드 투 엣지 지원

앞서 게시글에서 설명한 이유로 클라우드에 가장 적합한 쿼리가 있는 반면, 엣지에 더 적합한 쿼리인 경우도 있습니다. 클라우드나 엣지 또는 둘 다에서 쿼리를 실행할 수 있는 유연성을 통해 개발자는 양쪽의 장점을 모두 활용하는 애플리케이션을 구축할 수 있습니다.

예시

  • 과거 6개월 동안의 사용자별 거래 내역이 동기화되어 기기에 로컬로 저장되는 모바일 뱅킹 앱을 고려해 보세요.
  • 사용자가 몇 달 전에 한 구매와 관련된 거래 내역을 찾고 있습니다. 로컬에서 검색이 수행되므로 속도가 빠르고 오프라인에서도 사용할 수 있습니다.
  • 모든 사용자와 관련된 거래는 클라우드 서버에 저장되며, 이곳에서 사기 탐지 애플리케이션이 시맨틱 검색을 사용하여 사기 행위의 패턴을 감지합니다.

코드를 보여줘!

이제 엣지 애플리케이션 내에서 벡터 검색이 주는 이점에 대해 기대하게 되었으니, 이를 구현하는 데 무엇이 필요한지 살펴보겠습니다. 매우 간단하며 몇 줄의 코드만으로도 엣지 애플리케이션에 시맨틱 검색의 강력함을 가져올 수 있습니다. 아래 예제는 스위프트(Swift)로 작성되었지만, 선호하는 언어의 코드 조각은 아래 리소스 섹션을 확인해 보세요.

벡터 인덱스 생성하기 

이 예제에서는 기본값을 사용하여 벡터 인덱스를 생성합니다. 응용 프로그램은 다른 거리 측정 기준, 인덱스 인코딩 유형 및 중심점 학습 매개변수를 사용하여 벡터 인덱스 구성을 추가로 사용자 지정할 수 있는 옵션이 있습니다.

Doing a Similarity Search

In this example, I am running a SQL++ query to retrieve the top 10 similar documents with their description matching the target embedding of the searchPhrase:

 

자원

Here are direct links to a few helpful resources.

Stay tuned for an upcoming blog post on reference architectures to support vector search

 

이 기사 공유하기

작가

Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

개발 시작하기

NoSQL을 탐색하고, 리소스를 찾아보고, 튜토리얼을 시작하려면 개발자 포털을 확인하세요.

카펠라 프리 사용하기

단 몇 번의 클릭으로 카우치베이스(Couchbase)를 직접 체험해 보세요. Capella DBaaS는 시작하기 가장 쉽고 빠른 방법입니다.

연락해

Couchbase 제품군에 대해 더 알고 싶으신가요? 저희가 도와드리겠습니다.