벡터 데이터베이스

벡터 데이터베이스(vector database), 벡터 스토어(vector store), 벡터 검색 엔진(vector search engine)은 벡터 공간 모델을 사용하여 벡터(고정 길이 숫자 목록)와 기타 데이터 항목을 저장하는 데이터베이스이다. 벡터 데이터베이스는 일반적으로 하나 이상의 근사 최근접 이웃 알고리즘을 구현하므로, 쿼리 벡터로 데이터베이스를 검색하여 가장 일치하는 데이터베이스 레코드를 검색할 수 있다.

벡터는 고차원 공간에서 데이터의 수학적 표현이다. 이 공간에서 각 차원은 데이터의 특징에 해당하며, 표현되는 데이터의 복잡성에 따라 차원의 수는 수백에서 수만 개에 이른다. 이 공간에서 벡터의 위치는 그 특성을 나타낸다. 단어, 구문 또는 전체 문서뿐만 아니라 이미지, 오디오 및 기타 유형의 데이터를 모두 벡터화할 수 있다.

이러한 특징 벡터는 특징 추출 알고리즘, 단어 임베딩 또는 딥 러닝 네트워크와 같은 기계 학습 방법을 사용하여 원시 데이터에서 계산할 수 있다. 목표는 의미론적으로 유사한 데이터 항목이 서로 가까운 특징 벡터를 얻는 것이다.

벡터 데이터베이스는 유사도 검색, 의미론적 검색, 멀티모달 검색, 추천 시스템, 거대 언어 모델 (LLM), 객체 탐지 등에 사용될 수 있다.

벡터 데이터베이스는 또한 거대 언어 모델의 도메인별 응답을 개선하는 방법인 검색증강생성 (RAG)을 구현하는 데 자주 사용된다. RAG의 검색 구성 요소는 모든 검색 시스템일 수 있지만, 대부분 벡터 데이터베이스로 구현된다. 관심 도메인을 설명하는 텍스트 문서가 수집되고, 각 문서 또는 문서 섹션에 대해 특징 벡터(일반적으로 "임베딩"으로 알려져 있음)가 일반적으로 딥 러닝 네트워크를 사용하여 계산되어 벡터 데이터베이스에 저장된다. 사용자 프롬프트가 주어지면 프롬프트의 특징 벡터가 계산되고, 데이터베이스는 가장 관련성 높은 문서를 검색하기 위해 쿼리된다. 이러한 문서들은 자동으로 거대 언어 모델의 컨텍스트 창에 추가되며, 거대 언어 모델은 이 컨텍스트를 기반으로 프롬프트에 대한 응답을 생성한다.

 기술 
고차원 벡터에 대한 유사성 검색의 가장 중요한 기술은 다음과 같다:
 계층적 항해 가능한 스몰 월드(HNSW) 그래프
 국소성 민감 해싱(LSH) 및 스케칭
 제품 양자화 (PQ)
 역색인

그리고 이러한 기술들의 조합.

최근 벤치마크에서 HNSW 기반 구현이 최고의 성능을 보였다. 국제 유사성 검색 및 응용 회의(SISAP)와 신경 정보 처리 시스템 학회(NeurIPS) 같은 회의에서는 대규모 데이터베이스의 벡터 검색 경쟁을 주최한다.

 구현 

+ 이름  라이선스Aerospike사유AllegroGraph사유 (관리형 서비스)아파치 카산드라Apache License 2.0크로마Apache License 2.0Azure 코스모스 DB사유 (관리형 서비스)CouchbaseBSL 1.1CrateDBApache License 2.0DataStax사유 (관리형 서비스)일래스틱서치Server Side Public License, Elastic LicenseHAKESApache License 2.0HDF5 쿼리 인덱싱BSD 3-Clause재규어DB사유LanceDBApache License 2.0랜턴BSL 1.1라마인덱스MIT 허가서MariaDBGPL v2마르코Apache License 2.0MeilisearchMIT 허가서MilvusApache License 2.0몽고DB 아틀라스Server Side Public License (관리형 서비스)Neo4jGPL v3 (커뮤니티 에디션)ObjectBoxApache License 2.0OpenSearchApache License 2.0오라클 데이터베이스사유 (관리형 서비스 또는 라이선스)파인콘사유 (관리형 서비스)Postgres with pgvector PostgreSQL LicenseQdrantApache License 2.0레디스 스택Redis Source Available License스노플레이크사유 (관리형 서비스)SurrealDBBSL 1.1TypesenseGPL v3 (커뮤니티 에디션)VespaApache License 2.0WeaviateBSD 3-Clause

 같이 보기 





 각주 

 외부 링크 


분류:기계 학습
분류:데이터베이스 유형