벡터 검색 2.0 소개

1. 소개

최종 업데이트: 2026년 3월 4일

벡터 검색(벡터 데이터베이스)은 최신 AI 시스템의 기반 기술이 되었습니다. 데이터를 시맨틱 의미를 포착하는 고차원 임베딩으로 표현하여 사용자 의도를 이해하는 시맨틱 검색부터 관련 콘텐츠를 표시하는 추천 엔진, LLM 응답을 실제 최신 정보에 그라운딩하는 검색 증강 생성 (RAG) 및 AI 에이전트까지 모든 기능을 지원합니다. Google을 비롯한 주요 기술 기업은 매일 수십억 건의 검색, 추천, 그라운딩을 처리하기 위해 대규모로 이 기술을 사용합니다.

하지만 프로덕션에 즉시 사용 가능한 벡터 검색을 빌드하는 것은 여전히 어려운 일입니다. 최근 Google에서는 팀의 속도를 늦추는 설계 및 운영 복잡성을 없애도록 설계된 완전 관리형 서비스인 Vertex AI 벡터 검색 2.0을 출시했습니다.

26136405e588dcfd.png

벡터 검색이 생각보다 어려운 이유

개념은 간단합니다. 구현? 여기서부터 복잡해집니다.

61df16b7d734ee87.png

임베딩 생성 벡터 검색을 사용하려면 시맨틱 의미를 포착하는 수치적 표현 (임베딩)으로 데이터를 변환해야 합니다. 즉, 임베딩 API를 호출하고, 요청을 일괄 처리하고, 비율 제한을 처리하고, 벡터를 저장해야 합니다. 데이터가 변경될 때마다 파이프라인을 다시 실행합니다. 검색을 시작하기 전에 구축해야 하는 인프라입니다.

기능 스토어 많은 벡터 검색 제품은 각 검색에 대한 항목 ID 목록을 반환하는 벡터 색인만 제공합니다. 사용자에게 전체 검색 결과를 제공하려면 이러한 ID를 전달하여 실제 상품 데이터(이름, 가격, 카테고리, 이미지 URL(밀리초))를 가져오는 별도의 기능 스토어 또는 키-값 스토어가 필요합니다. 또한 가격, 카테고리, 재고와 같은 상품 기능에 복잡한 필터링을 구현해야 하는 경우도 많습니다. 즉, 벡터 검색용 서비스와 데이터 검색 및 필터링용 서비스라는 두 가지 서비스를 빌드하고 유지해야 합니다. 모든 업데이트와 쿼리에는 두 시스템에 모두 액세스하고 동기화해야 합니다.

색인 조정 수백만 개의 항목으로 최근접 이웃 탐색 (ANN) 색인을 빌드하려면 최상의 성능을 얻기 위해 전문가의 결정이 필요합니다. 각 색인 노드에 몇 개의 항목을 포함해야 할까요? 지연 시간 대비 재현율의 균형을 맞추기 위해 쿼리당 색인의 몇 퍼센트를 스캔해야 하나요? 데이터 세트와 일치하는 샤드 크기는 무엇인가요? 이는 실제 제품과 관련이 없는 ML 인프라 결정입니다.

하이브리드 검색 시맨틱 검색은 의도를 이해하는 데 탁월합니다. 사용자가 '해변용 남성 의상'을 검색하면 '보드 반바지'를 찾아줍니다. 하지만 의미가 없는 'SKU-12345'와 같은 제품 코드에서는 실패하고, 임베딩 모델이 본 적이 없는 신조어나 브랜드 이름에서는 어려움을 겪습니다. 키워드 검색은 이러한 사례를 처리하지만 시맨틱 컨텍스트를 놓칩니다. 사용자는 두 가지 모두 필요하므로 하이브리드 검색이 필수적인 요소가 되었습니다. 하지만 이를 구축하는 것은 결코 간단하지 않습니다. 벡터 검색 엔진 외에도 토큰화, 역색인 또는 희소 임베딩이 있는 전체 텍스트 검색 엔진이 필요합니다. 그런 다음 두 엔진에서 병렬 쿼리를 실행하고, 서로 다른 점수 시스템을 정규화하고, 상호 순위 융합과 같은 기술을 사용하여 결과를 병합해야 합니다.

벡터 검색 2.0으로 이러한 문제를 해결하는 방법

Google Cloud의 벡터 검색 2.0은 이러한 각 문제를 직접 해결합니다.

eb385a0369369374.png

43d893d0a2bf1fe1.png

이 워크숍에서는 TheLook 전자상거래 데이터 세트의 패션 제품 10,000개를 사용하여 완전 관리형 하이브리드 검색을 빌드합니다.

벡터 검색 2.0이란 무엇인가요?

벡터 검색 2.0은 Google의 ScaNN (Scalable Nearest Neighbors) 알고리즘을 기반으로 구축된 Google Cloud의 완전 관리형 자체 조정 벡터 데이터베이스입니다. 이 알고리즘은 Google 검색, YouTube, Google Play를 지원하는 것과 동일한 기술입니다.

핵심 차별화 요소

  • 0 색인에서 수십억 규모 색인까지: kNN (k-최근접 이웃)을 사용하여 색인 생성 시간 없이 즉시 개발을 시작한 다음, 프로덕션을 위해 Google 규모의 ANN (근사 최근접 이웃) 색인을 사용하여 밀리초 지연 시간으로 수십억 개의 벡터로 확장합니다. 이 모든 작업은 동일한 API와 동일한 데이터 세트로 수행할 수 있습니다.
  • 통합 데이터 스토리지: 벡터 임베딩과 사용자 제공 데이터를 함께 저장합니다 (별도의 데이터베이스나 기능 저장소 필요 없음).
  • 자동 임베딩: Vertex AI 임베딩 모델을 사용하여 시맨틱 임베딩을 자동으로 생성합니다.
  • 내장 전체 텍스트 검색: 희소 임베딩을 직접 생성하지 않아도 내장된 전체 텍스트 검색을 제공합니다. 벡터 검색과 함께 자체 희소 임베딩 (예: BM25, SPLADE)을 사용하여 맞춤 전체 텍스트 검색을 사용할 수도 있습니다.
  • 하이브리드 검색: 지능형 RRF 순위 지정으로 단일 쿼리에서 시맨틱 검색과 키워드/토큰 기반 검색을 결합합니다.
  • 자동 조정: 수동 구성 없이 성능을 자동 최적화합니다.
  • 엔터프라이즈 지원: 내장된 확장성, 보안, 규정 준수

핵심 아키텍처

벡터 검색 2.0에는 세 가지 주요 구성요소가 있습니다.

  1. 컬렉션: 데이터의 스키마 적용 컨테이너
  2. 데이터 객체: 데이터와 벡터 삽입이 있는 개별 항목
  3. 색인: kNN을 사용하여 데이터에서 최근접 이웃을 즉시 검색합니다. 지연 시간이 짧은 최근접 이웃 검색에는 ANN 색인을 사용하세요.
  • 빠르게 시작: 설정 시간 없이 즉시 kNN을 사용하세요. 개발 및 소규모 데이터 세트에 적합합니다.
  • 프로덕션으로 확장: ScaNN 알고리즘으로 구동되는 10억 규모 검색에 ANN 색인을 사용하여 1초 미만의 지연 시간 달성

실제 예시를 통해 각 개념을 살펴보겠습니다.

2. TheLook 패션 검색 빌드

고객이 전자상거래 사이트에 방문하여 '해변 휴가를 위한 귀여운 물건'이라고 입력한다고 가정해 보겠습니다. 기존의 키워드 검색을 사용하면 결과가 표시되지 않습니다. 카탈로그에 해당 단어가 정확히 포함된 제품이 없기 때문입니다. 좌절한 그들은 떠납니다.

이제 다른 경험을 상상해 보세요. 동일한 검색어에 선드레스, 수영복 커버업, 플로이 쇼츠가 표시됩니다. 제품명에 '해변'이라는 단어가 포함되어 있지 않지만 고객이 염두에 둔 것과 완벽하게 일치하는 제품입니다. 이것이 바로 벡터 검색이 지원하는 환경입니다.

Vector Search 2.0이 이를 어떻게 가능하게 하는지 보여주기 위해 26개 카테고리에 걸쳐 30,000개의 패션 상품이 있는 실제 전자상거래 데이터 세트인 TheLook을 사용하여 제품 검색 시스템을 빌드합니다. 각 제품에는 실제 카탈로그에서 볼 수 있는 속성이 있습니다.

40d8ed36e05881be.png

Google이 해결할 검색 과제

실제 고객은 데이터베이스에서 예상하는 방식으로 검색하지 않습니다. 사용자는 다음과 같은 방식으로 검색합니다.

a76cbe51798283d7.png

Vector Search 2.0은 통합 아키텍처를 통해 네 가지 문제를 모두 해결합니다.

벡터 검색 2.0 데이터 아키텍처

코드를 살펴보기 전에 Vector Search 2.0에서 데이터를 구성하는 방식을 알아보겠습니다. 아키텍처는 컬렉션, 데이터 객체, 색인이라는 세 가지 주요 개념을 중심으로 합니다.

8eed6976638d4cf0.jpeg

컬렉션은 저장할 필드와 삽입할 필드 등 데이터 구조를 정의합니다. 데이터 객체는 컬렉션에 저장된 실제 항목 (제품, 문서, 이미지)으로, 각각 데이터와 자동 생성된 벡터 또는 자체 벡터가 있습니다. 색인은 대규모로 쿼리를 최적화하여 수십억 개의 항목에서 밀리초 단위의 지연 시간을 지원합니다. 설정 시간 없이 개발을 위해 색인 없이 시작한 다음 프로덕션 성능이 필요할 때 색인을 추가할 수 있습니다.

TheLook 검색 빌드: 단계별

이제 작동하는 제품 검색 시스템을 구축해 보겠습니다. TheLook에서 10,000개의 패션 상품을 로드하고, 자동 임베딩을 사용 설정하고, 시맨틱 검색, 키워드 검색, 하이브리드 검색을 실행합니다. 이 모든 작업은 약 50줄의 코드로 가능합니다.

노트북 열기: Vertex AI 벡터 검색 2.0 소개

하이브리드 검색의 작동 방식

벡터 검색 2.0은 세 가지 검색 모드(시맨틱 검색(임베딩을 통해 의도 이해), 텍스트 검색(키워드 일치), 하이브리드 검색(두 가지 모두 결합))를 지원합니다. 하이브리드 검색은 대부분의 사용 사례에서 최상의 결과를 제공합니다. 시맨틱 검색은 사용자가 '해변용 남성 의상'을 검색할 때 '보드 반바지'를 찾아내고, 텍스트 검색은 제품 코드와 같은 정확한 일치 항목을 놓치지 않습니다.

c279a1b2a12a8b2d.png

태스크 유형 임베딩이 중요한 이유

위 코드의 task_type 매개변수를 참고하세요. 제품을 색인 생성할 때는 RETRIEVAL_DOCUMENT이고 검색할 때는 QUESTION_ANSWERING입니다. 이는 임의로 정해진 것이 아니라 임베딩 모델이 추천 모델처럼 작동하도록 하여 검색 품질을 개선하는 핵심 기법입니다.

대부분의 벡터 검색 사용 사례는 단순한 유사성 일치를 기반으로 하지만, 질문과 답변이 임베딩 공간에서 본질적으로 유사하지 않기 때문에 프로덕션 수준의 검색 품질을 제공하지 못하는 경우가 많습니다. '해변 휴가에 적합한 옷'과 '보드 반바지'는 시맨틱스가 다르지만 일치해야 합니다. 태스크 유형 임베딩은 비대칭 관계에 맞게 임베딩 모델을 최적화하여 이 문제를 해결합니다. 문서가 쿼리와 다르게 삽입되어 관련 일치 항목이 함께 클러스터링되는 임베딩 공간이 생성되므로 추천 기능이 추가되어 사용자 의도에 따라 관련 항목을 찾을 수 있습니다.

807608c0806b2f3c.png

태스크별 임베딩을 사용하면 일반 임베딩에 비해 검색 품질이 30~40% 향상될 수 있습니다. 작동 방식에 대한 자세한 내용은 태스크 유형 임베딩 노트북을 참고하세요.

0에서 10억 규모로 확장하기

대규모 프로덕션을 위해 벡터 검색 2.0은 Google의 ScaNN (확장 가능한 최근접 이웃) 알고리즘을 기반으로 하는 ANN (근사 최근접 이웃) 색인을 제공합니다. 이 알고리즘은 Google 검색, YouTube, Google Play의 기반이 되는 기술과 동일합니다. ANN은 수십억 개의 벡터가 있는 경우에도 10ms 미만의 지연 시간으로 엄청난 속도 향상을 위해 아주 적은 정확도 (~99%)를 포기합니다.

6d412a551119495b.jpeg

전체적인 그림

단 5단계만으로(1~4단계는 약 5분 소요) 프로덕션 준비가 완료된 제품 검색 시스템을 빌드했습니다.

e2a176d9dec3a2a8.jpeg

벡터 검색 2.0은 일반적으로 벡터 검색 도입을 늦추는 인프라 복잡성을 없애줍니다. 제품에 집중하면 플랫폼에서 삽입, 색인 생성, 확장 작업을 처리합니다.

3. 축하합니다

축하합니다. 벡터 검색 2.0으로 첫 번째 애플리케이션을 빌드했습니다.

추가 자료