#1. Vector DB 탐색 배경과 종류

Wonung Kim·2023년 6월 16일
0
post-thumbnail

시작 배경

현재 저희 회사에서 OpenAI ChatGPT 또는 네이버 하이퍼클로바를 이용해 제품을 개선하는 작업을 진행하고 있습니다.

근데 저희 회사 서비스가 의료 관련이라 전문 지식이나 용어 같은 생소한 정보를 많이 요구하다보니, OpenAI나 하이퍼클로바의 기본 모델로는 이러한 전문 지식에 대한 대응이 잘 안 되는 것으로 보였습니다.

그래서 "OpenAI ChatGPT에 회사가 가진 데이터를 연결해서 성능을 높여볼 수 없을까?"란 아이디어와 함께 방법을 찾게 되었습니다.

처음엔 OpenAI의 다빈치 모델과 네이버의 하이퍼클로바를 파인튜닝해봤습니다. 그러나 성능이 딱히 만족스럽지 않았습니다. (사실 제가 ML엔지니어가 아니라 백앤드 개발자라 직관도 요령도 없었기 때문일 가능성이 큽니다.)

게다가 네이버 클로바에서 파인튜닝 모델을 한 번 만들 때마다 돈을 몇십만 원씩 내야하는 구조였습니다. 제가 ML엔지니어가 아니라서 AI 지식도 직관도 부족하기에, 이 방식으로는 ROI(= 가성비)가 너무 안 나올 게 자명해보였습니다.

그래서 대안을 찾던 중, Vector DB를 LLM 모델과 연결해서 사용하면 마치 LLM의 외장하드처럼 VectorDB 를 사용할 수 있다고 들었습니다.

  • 요새 Pinecone 에서 마케팅 차원에서 OP스택(OpenAI + Pinecone) 같은 말을 만들어내면서 이 방식에 대한 홍보를 많이 합니다. 그래서 처음 알게 되었습니다.
  • 또한 Milvus는 부트캠프를 통해서 이 방식에 대한 여러 Use-case를 공개하고 있습니다.

그러나 현재 Vector DB에 관한 한국어 문서는 아예 없는 상황입니다. (그래서 요새 미국과 한국의 기술 격차를 확 느끼고 있습니다. ㅠㅠ) 그래서 제가 맨땅에 헤딩한 내용이라도 조금씩 한국어 문서로 남겨보려고 합니다.

부디 이 글을 시작(?)으로 한국어 글이 많아지길 소망해봅니다.

Vector DB 란?

Vector DB는 데이터를 고차원 벡터 형태로 변환하여 저장하는 데이터베이스입니다. 각 벡터에는 데이터의 복잡성과 세분성에 따라 수십에서 수천에 이르는 특정 수의 차원이 있습니다.

Vector DB 또는 라이브러리 종류

  • Elastic Search ( ⭐ 64.2k ) - 다양한 유형의 데이터를 지원하는 분산 검색 및 분석 엔진.
  • Faiss ( ⭐ 22.6k ) - Meta의 Fundamental AI Research 그룹에서 개발. 효율적인 유사성 검색 및 고밀도 벡터 클러스터링을 위한 라이브러리.
  • Milvus ( ⭐ 20k ) - 오픈소스 벡터 데이터베이스. LINE 에서도 사용합니다. 매니지드 서비스(Zilliz Cloud)를 지원합니다.
  • Qdrant ( ⭐ 11.1k ) - 벡터 유사성 검색 엔진 및 벡터 데이터베이스.
  • Weaviate ( ⭐ 6.4k ) - 오픈소스 벡터 데이터베이스.
  • Vespa ( ⭐ 4.5k ) - 검색엔진 및 벡터 데이터베이스.
  • pgvector ( ⭐ 3.9k ) - DB 내에서 벡터 임베딩을 저장하고 쿼리할 수 있는 PostgreSQL 용 오픈소스 확장. Faiss 라이브러리 위에 구축되었습니다.
  • Vald ( ⭐ 1.2k ) - 벡터 검색 엔진. Cloud-Native 아키텍처를 기반으로 설계되고 구현됩니다. 가장 빠른 ANN 알고리즘 NGT를 사용하여 이웃을 검색합니다.
  • ScaNN (Scalable Nearest Neighbors, Google Research) - 유사성 메트릭으로 측정된 쿼리 벡터에 가장 가까운 k개의 벡터를 찾는 효율적인 벡터 유사성 검색을 위한 라이브러리입니다.
  • Pinecone ( ⭐ Github ) - 벡터 데이터베이스. 매니지드 서비스(공홈 참고)를 지원합니다. 자바 클라이언트(pinecone-java-client)를 지원합니다.

Reference

profile
9년차 백앤드 개발자. "Success is the sum of small efforts, repeated day in and day out."

0개의 댓글

관련 채용 정보