Generative AI/Vector DB

[Vector DB] Vector Database

데이터 세상 2023. 10. 15. 23:01

Vector Database

벡터 데이터베이스는 신경망을 기반으로 하는 차세대 검색 엔진을 구동하기 위해 몇 년 전에 처음 등장했습니다. 

최근에는 GPT4와 같은 대규모 언어 모델을 기반으로 애플리케이션을 배포하도록 돕는 새로운 역할을 수행합니다.

 

벡터 데이터베이스는 데이터를 특징이나 속성의 수학적 표현인 고차원 벡터로 저장하는 데이터베이스 유형입니다. 각 벡터에는 데이터의 복잡성과 세분성에 따라 수십에서 수천에 이르는 특정 개수의 차원이 있습니다.

벡터 데이터베이스는 밀집된 벡터를 효율적으로 관리하고 고급 유사성 검색을 지원하도록 설계된 특수 저장 시스템이며, 벡터 라이브러리는 기존 DBMS 또는 검색 엔진에 통합되어 더 넓은 데이터베이스 컨텍스트 내에서 유사성 검색이 가능합니다. 둘 사이의 선택은 애플리케이션의 특정 요구 사항과 규모에 따라 달라집니다.

벡터 데이터베이스는 행과 열에 표 형식의 데이터를 저장하기 위해 구축된 PostgreSQL과 같은 표준 관계형 데이터베이스와 다릅니다. 또한 데이터를 JSON으로 저장하는 MongoDB와 같은 최신 NoSQL 데이터베이스와도 다릅니다. 그 이유는 벡터 데이터베이스가 벡터 임베딩이라는 한 가지 유형의 데이터만 저장하고 검색하도록 설계되었기 때문입니다.

벡터 임베딩은 머신 러닝 프로세스의 훈련 단계에서 출력으로 생성된 훈련 데이터의 증류된 표현입니다. 추론 중에 새로운 데이터를 처리하는 필터 역할을 합니다.

 


Vector Library vs Vector DB

벡터 데이터베이스는 밀집된 벡터의 효율적인 관리를 위해 개발된 전문 저장 시스템인 반면, 벡터 라이브러리는 기존 데이터베이스 관리 시스템(DBMS) 또는 검색 엔진에 통합되어 유사성 검색을 제공합니다.

벡터 라이브러리는 학술 정보 검색 벤치마크와 같은 정적 데이터 애플리케이션에 적합한 선택입니다.

벡터 데이터베이스는 전자상거래 제안, 이미지 검색, 의미적 유사성과 같이 빈번한 데이터 변경이 필요한 애플리케이션에 유용합니다.


Vector Database 목적

벡터 데이터베이스는 일반 데이터베이스보다 대량의 정리되지 않은 데이터를 관리하는 데 훨씬 더 좋습니다.

또한 벡터 데이터베이스는 데이터 변경이나 문의 사항에 더욱 적응력이 뛰어나고 신속하게 조정됩니다.

벡터 데이터베이스의 주요 목표는 조직이 AI를 최대한 활용할 수 있도록 돕는 것입니다. 벡터 임베딩을 사용하면 이러한 데이터베이스는 데이터에서 새로운 패턴을 발견하고 새로운 통찰력을 제공할 수 있습니다.

 

벡터 데이터베이스는 벡터 임베딩을 사용하여 데이터를 저장하고 데이터를 처리합니다. 이러한 데이터베이스는 두 가지 중요한 작업을 수행하도록 설계되었기 때문에 일반적인 데이터베이스와 다릅니다.

 

유사한 항목을 검색

벡터 데이터베이스의 주요 특징 중 하나는 유사한 항목을 빠르고 정확하게 검색하는 능력입니다. 이는 데이터를 고차원 벡터로 표현하는 벡터 임베딩을 통해 달성됩니다. 그런 다음 이러한 임베딩을 수학적 연산을 통해 비교하여 항목 유사성을 확인할 수 있습니다.

 

대량의 데이터에 대한 고급 분석 수행

벡터 데이터베이스의 또 다른 장점은 거대한 데이터 세트를 분석하는 능력입니다. 벡터 임베딩과 잘 작동하는 특수 알고리즘과 구조를 사용하므로 복잡한 분석을 더 쉽게 수행할 수 있습니다.

 


벡터 DB 쿼리 세 가지 주요 단계

  • 색인화(Indexation): 벡터 임베딩이 벡터 데이터베이스에 있으면 더 빠른 검색을 위해 벡터 임베딩을 데이터 구조로 변환하는 데 여러 기술이 사용됩니다.
  • 조회(Inquiry): 검색이 완료된 후 벡터 DB는 유사성 메트릭을 사용하여 쿼리 벡터를 인덱스 벡터와 비교하여 가장 가까운 이웃을 결정합니다.
  • 사후 제작(Post-production): 벡터 데이터베이스에 따라 최종적으로 가장 가까운 이웃이 사후 처리되어 쿼리에 대한 최종 출력을 생성합니다. 또한, 가장 가까운 이웃은 향후 참조를 위해 다시 순위가 매겨질 수 있습니다.

Vector Database 이점

  • 데이터 관리 기능: 데이터의 삽입, 삭제, 갱신이 쉬움
  • 메타데이터 저장 및 필터링: 각 벡터에 대한 메타데이터 저장이 가능
  • 확장성: 분산 및 병렬처리 기능을 제공
  • 실시간 업데이트 지원
  • 백업 및 컬렉션 기능(일부 인덱스만 골라서 백업)
  • 에코시스템 연동: ETL(Spark), 분석도구(Tableau, Segment), 시각화(Grafana) 등과 연동. AI 도구와의 연동(LangChain, LlamaIndex, ChatGPT Plugins)
  • 데이터 보안 및 접근 권한 관리

Vector DB Ranking (2023.10월 기준)

출처: https://db-engines.com/en/ranking/vector+dbms 

 


References

반응형