21P by xguru 2023-05-10 | favorite | 댓글과 토론
  • AI 어플리케이션들은 Vector Embeddings에 의존
    • 임베딩은 AI 모델에 의해 생성되며, 많은 수의 속성/피쳐가 있어서 관리하기가 어려움
    • AI 및 ML에서 이 피쳐들은 패턴, 관계 및 기본 구조를 이해하는데 필수적인 데이터의 다양한 디멘젼들을 표현
  • Pinecone 같은 벡터DB는 이런 임베딩 데이터를 최적화 하여 보관하고 쿼리하기 위해 특화된 DB
  • 벡터DB를 통해서 AI에 시맨틱 정보 검색, 장기 메모리 등의 고급 기능들을 구현 가능
    • 임베딩 모델을 통해서 인덱싱할 콘텐츠의 벡터 임베딩을 생성
    • 벡터 임베딩들을 벡터DB에 삽입. 임베딩이 어디에서 생성되었는지 오리지널 콘텐츠에 대한 레퍼런스를 포함
    • 어플리케이션이 쿼리를 하면, 같은 임베딩 모델을 이용하여 쿼리에 대한 임베딩을 생성하고, 이 임베딩으로 DB를 검색해서 비슷한 벡터 임베딩을 찾음
    • 이 임베딩들은 오리지널 콘텐츠에 연결되어 있음

Vector Index 와 Vector DB의 차이점

  • FAISS(Facebook AI Similarity Search) 같은 벡터 인덱스도 벡터 임베딩 검색을 개선하지만, DB의 기능을 가지고 있지는 않음
  • Vector DB는 여러가지 장점을 가짐
    • 데이터 관리 기능: 데이터의 삽입, 삭제, 갱신이 쉬움
    • 메타데이터 저장 및 필터링: 각 벡터에 대한 메타데이터 저장이 가능
    • 확장성: 분산 및 병렬처리 기능을 제공
    • 실시간 업데이트 지원
    • 백업 및 컬렉션 기능(일부 인덱스만 골라서 백업)
    • 에코시스템 연동: ETL(Spark), 분석도구(Tableau, Segment), 시각화(Grafana) 등과 연동. AI 도구와의 연동(LangChain, LlamaIndex, ChatGPT Plugins)
    • 데이터 보안 및 접근 권한 관리

Vector DB는 어떻게 동작하는가 ? (소제목만 옮깁니다)

  • 알고리듬 : ANN, Random Projection, Product Quantization, Locality-sensitive hashing, Hierarchical Navigable Small World (HSNW)
  • 유사성 측정
  • 필터링
  • 데이터베이스 오퍼레이션

요약

  • NLP, 컴퓨터 비전 및 다른 AI 어플리케이션에서 벡터 임베딩이 폭발적으로 성장하면서 벡터 데이터베이스가 등장
  • 프로덕션 시나리오에서 벡터 임베딩을 관리할 때 발생하는 문제점을 해결하기 위해 특수하게 만들어진게 벡터 데이터베이스
  • 기존의 스칼라 기반 데이터 베이스 및 스탠드얼론 벡터 인덱스에 비해 상당한 이점을 제공