품목

벡터 데이터베이스란 무엇이며 어떻게 작동하며 잠재 시장

벡터 데이터베이스는 데이터를 기능 또는 특성의 수학적 표현인 고차원 벡터로 저장하는 데이터베이스 유형입니다. 

이러한 벡터는 일반적으로 텍스트, 이미지, 오디오, 비디오 등과 같은 원시 데이터에 일종의 임베딩 기능을 적용하여 생성됩니다.

벡터 데이터베이스는 다음과 같습니다. definite는 메타데이터 필터링 및 수평 확장과 같은 기능을 사용하여 빠른 검색 및 유사성 검색을 위해 벡터 임베드를 색인화하고 저장하는 도구입니다.

예상 독서 시간: 9 세부 사항

투자자 관심 증가

최근 몇 주 동안 벡터 데이터베이스에 대한 투자자의 관심이 증가했습니다. 2023년 초부터 우리는 다음과 같은 사실을 알게 되었습니다.

  • 벡터 데이터베이스 시작 위비하다 그는 얻었다 시리즈 B 펀딩 50천만 달러;
  • 솔방울 100억 750천만 달러의 가치 평가로 시리즈 B 자금에서 XNUMX억 달러를 모금했습니다.
  • 크로마 오픈 소스 프로젝트인 는 임베딩 데이터베이스를 위해 18만 달러를 모금했습니다.

벡터 데이터베이스가 무엇인지 자세히 살펴보겠습니다.

데이터 표현으로서의 벡터

벡터 데이터베이스는 벡터 임베딩에 크게 의존합니다. 벡터 임베딩은 AI가 복잡한 활동을 실행할 때 장기 기억을 이해하고 유지하는 데 중요한 의미론적 정보를 내부에 전달하는 데이터 표현 유형입니다. 

벡터 포함

벡터 임베드는 지도와 비슷하지만 사물이 세상 어디에 있는지 보여주는 대신 벡터 공간. 벡터 공간은 모든 것이 제자리에 있는 일종의 큰 놀이터입니다. 고양이, 개, 새, 물고기 등 동물 그룹이 있다고 상상해 보세요. 놀이터에서 특별한 위치를 지정하여 각 이미지에 대한 벡터 포함을 만들 수 있습니다. 고양이는 한쪽 구석에 있고 개는 다른 쪽 구석에 있을 수 있습니다. 새는 하늘에 있을 수 있고 물고기는 연못에 있을 수 있습니다. 이곳은 다차원 공간이다. 예를 들어, 물고기는 지느러미가 있고, 새는 날개가 있고, 고양이와 개는 다리가 있습니다. 물고기는 물에 속하고, 새는 주로 하늘에 속하며, 고양이와 개는 땅에 속한다는 것입니다. 이러한 벡터가 있으면 수학적 기법을 사용하여 유사성에 따라 그룹화할 수 있습니다. 보유하고 있는 정보를 바탕으로

따라서 벡터 임베딩은 벡터 공간에서 사물 간의 유사성을 찾는 데 도움이 되는 지도와 같습니다. 지도가 세상을 탐색하는 데 도움이 되는 것처럼 벡터 임베드는 벡터 플레이그라운드를 탐색하는 데 도움이 됩니다.

핵심 아이디어는 서로 의미론적으로 유사한 임베딩이 그들 사이의 거리가 더 짧다는 것입니다. 그것들이 얼마나 유사한지 알아보기 위해 유클리드 거리, 코사인 거리 등과 같은 벡터 거리 함수를 사용할 수 있습니다.

벡터 데이터베이스와 벡터 라이브러리

벡터 라이브러리 유사성 검색을 수행하기 위해 벡터의 임베딩을 메모리의 인덱스에 저장합니다. 벡터 라이브러리에는 다음과 같은 특성/제한 사항이 있습니다.

  1. 벡터만 저장 : 벡터 라이브러리는 벡터 임베딩만 저장하고 벡터가 생성된 관련 개체는 저장하지 않습니다. 즉, 쿼리할 때 벡터 라이브러리가 관련 벡터 및 개체 ID로 응답합니다. 실제 정보가 ID가 아닌 객체에 저장되기 때문에 이것은 제한적입니다. 이 문제를 해결하려면 개체를 보조 저장소에 저장해야 합니다. 그런 다음 쿼리에서 반환된 ID를 사용하고 개체와 일치시켜 결과를 이해할 수 있습니다.
  2. 인덱스 데이터는 변경할 수 없습니다. : 벡터 라이브러리에서 생성된 인덱스는 변경할 수 없습니다. 즉, 데이터를 가져오고 인덱스를 만든 후에는 변경할 수 없습니다(새 삽입, 삭제 또는 변경 없음). 인덱스를 변경하려면 인덱스를 처음부터 다시 작성해야 합니다.
  3. 가져오기를 제한하면서 쿼리 : 대부분의 벡터 라이브러리는 데이터를 가져오는 동안 쿼리할 수 없습니다. 먼저 모든 데이터 개체를 가져와야 합니다. 따라서 객체를 가져온 후에 인덱스가 생성됩니다. 이는 수백만 또는 수십억 개의 객체를 가져와야 하는 애플리케이션의 경우 문제가 될 수 있습니다.

사용 가능한 많은 벡터 검색 라이브러리가 있습니다. 페이스북의 FAISS, Annoy 스포티파이와 스캔NN 구글에 의해. FAISS는 클러스터링 방법을 사용하고 Annoy는 트리를 사용하며 ScanNN은 벡터 압축을 사용합니다. 애플리케이션 및 성능 지표에 따라 선택할 수 있는 각각의 성능 상충 관계가 있습니다.

CRUD

벡터 데이터베이스와 벡터 라이브러리를 구별하는 주요 기능은 데이터 보관, 업데이트 및 삭제 기능입니다. 벡터 데이터베이스는 CRUD를 지원합니다. 벡터 라이브러리의 한계를 해결하는 완전한(생성, 읽기, 업데이트 및 삭제).

  1. 아카이브 벡터 및 개체 : 데이터베이스는 데이터 개체와 벡터를 모두 저장할 수 있습니다. 둘 다 저장되므로 벡터 검색을 구조화된 필터와 결합할 수 있습니다. 필터를 사용하면 가장 가까운 이웃이 메타데이터 필터와 일치하는지 확인할 수 있습니다.
  2. 가변성 : 벡터 데이터베이스가 완벽하게 지원하므로 조잡한, 인덱스가 생성된 후 인덱스 항목을 쉽게 추가, 제거 또는 업데이트할 수 있습니다. 이는 끊임없이 변화하는 데이터로 작업할 때 특히 유용합니다.
  3. 실시간 검색 : 벡터 라이브러리와 달리 데이터베이스를 사용하면 가져오기 프로세스 중에 데이터를 쿼리하고 수정할 수 있습니다. 수백만 개의 개체를 로드할 때 가져온 데이터는 완전히 액세스 가능하고 작동 가능한 상태로 유지되므로 이미 있는 항목에서 작업을 시작하기 위해 가져오기가 완료될 때까지 기다릴 필요가 없습니다.

요컨대, 벡터 데이터베이스는 이전 요점에서 논의된 자체 포함 벡터 인덱스의 한계를 해결하여 벡터 포함을 처리하기 위한 우수한 솔루션을 제공합니다.

그러나 벡터 데이터베이스가 기존 데이터베이스보다 우수한 이유는 무엇입니까?

벡터 데이터베이스와 기존 데이터베이스 비교

기존 데이터베이스는 관계형 모델을 사용하여 구조화된 데이터를 저장하고 검색하도록 설계되었습니다. 즉, 데이터 열과 행을 기반으로 하는 쿼리에 최적화되어 있습니다. 기존 데이터베이스에 벡터 임베딩을 저장할 수 있지만 이러한 데이터베이스는 벡터 작업에 최적화되어 있지 않으며 대규모 데이터 세트에서 유사성 검색 또는 기타 복잡한 작업을 효율적으로 수행할 수 없습니다.

이는 기존 데이터베이스가 문자열이나 숫자와 같은 단순한 데이터 유형을 기반으로 인덱싱 기술을 사용하기 때문입니다. 이러한 인덱싱 기술은 차원이 높고 역 인덱스나 공간 트리와 같은 특수한 인덱싱 기술이 필요한 벡터 데이터에는 적합하지 않습니다.

또한 기존 데이터베이스는 종종 벡터 포함과 관련된 많은 양의 비정형 또는 반정형 데이터를 처리하도록 설계되지 않았습니다. 예를 들어 이미지 또는 오디오 파일에는 기존 데이터베이스가 효율적으로 처리할 수 없는 수백만 개의 데이터 포인트가 포함될 수 있습니다.

반면에 벡터 데이터베이스는 벡터 데이터를 저장 및 검색하도록 특별히 설계되었으며 유사성 검색 및 대규모 데이터 세트에 대한 기타 복잡한 작업에 최적화되어 있습니다. 그들은 고차원 데이터와 함께 작동하도록 설계된 특수한 인덱싱 기술과 알고리즘을 사용하여 벡터 임베드를 저장하고 검색하는 데 기존 데이터베이스보다 훨씬 효율적입니다.

이제 벡터 데이터베이스에 대해 많이 읽었으므로 어떻게 작동하는지 궁금할 것입니다. 한 번 보자.

벡터 데이터베이스는 어떻게 작동합니까?

우리는 관계형 데이터베이스가 어떻게 작동하는지 알고 있습니다. 관계형 데이터베이스는 문자열, 숫자 및 기타 유형의 스칼라 데이터를 행과 열에 저장합니다. 반면에 벡터 데이터베이스는 벡터에서 작동하므로 최적화 및 쿼리 방식이 상당히 다릅니다.

기존 데이터베이스에서는 일반적으로 값이 일반적으로 쿼리와 정확히 일치하는 데이터베이스의 행을 쿼리합니다. 벡터 데이터베이스에서는 유사성 메트릭을 적용하여 쿼리와 가장 유사한 벡터를 찾습니다.

벡터 데이터베이스는 가장 가까운 이웃 검색(ANN)에 모두 참여하는 여러 알고리즘의 조합을 사용합니다. 이러한 알고리즘은 해싱, 양자화 또는 그래프 기반 검색을 통해 검색을 최적화합니다.

이러한 알고리즘은 쿼리된 벡터의 이웃을 빠르고 정확하게 검색하는 파이프라인으로 어셈블됩니다. 벡터 데이터베이스는 대략적인 결과를 제공하므로 우리가 고려하는 주요 트레이드 오프는 정확도와 속도 사이입니다. 결과가 정확할수록 쿼리 속도가 느려집니다. 그러나 좋은 시스템은 거의 완벽에 가까운 정확도로 초고속 검색을 제공할 수 있습니다.

  • 인덱싱 : 벡터 데이터베이스는 PQ, LSH 또는 HNSW와 같은 알고리즘을 사용하여 벡터를 인덱싱합니다. 이 단계는 더 빠른 검색을 허용하는 데이터 구조와 벡터를 연결합니다.
  • 질문 : 벡터 데이터베이스는 가장 가까운 이웃을 찾기 위해 데이터 세트의 인덱스 벡터와 인덱스 쿼리 벡터를 비교합니다(해당 인덱스에서 사용하는 유사성 메트릭 적용).
  • 사후 처리 : 경우에 따라 벡터 데이터베이스는 데이터셋에서 가장 가까운 최종 이웃을 가져와 후처리하여 최종 결과를 반환합니다. 이 단계는 다른 유사성 척도를 사용하여 가장 가까운 이웃을 재분류하는 것을 포함할 수 있습니다.

혜택

벡터 데이터베이스는 기존 데이터베이스를 사용하여 효과적으로 수행할 수 없는 대용량 데이터 세트에 대한 유사성 검색 및 기타 복잡한 작업을 위한 강력한 도구입니다. 기능적 벡터 데이터베이스를 구축하려면 데이터의 의미론적 의미를 캡처하고 정확한 유사성 검색을 가능하게 하므로 임베드가 필수적입니다. 벡터 라이브러리와 달리 벡터 데이터베이스는 사용 사례에 맞게 설계되어 성능과 확장성이 중요한 애플리케이션에 이상적입니다. 기계 학습 및 인공 지능의 등장으로 벡터 데이터베이스는 추천 시스템, 이미지 검색, 의미론적 유사성을 포함한 광범위한 응용 분야에서 점점 더 중요해지고 있습니다. 이 분야가 계속 발전함에 따라 앞으로 벡터 데이터베이스의 훨씬 더 혁신적인 응용 프로그램을 볼 수 있을 것으로 기대할 수 있습니다.

Ercole Palmeri

혁신 뉴스레터
혁신에 관한 가장 중요한 뉴스를 놓치지 마세요. 이메일로 받으려면 가입하세요.

최근 기사

어린이를 위한 컬러링 페이지의 장점 - 모든 연령대를 위한 마법의 세계

색칠을 통해 소근육 운동 능력을 키우면 아이들이 글쓰기와 같은 보다 복잡한 기술을 준비할 수 있습니다. 색칠하다…

2 월 2024

미래가 여기에 있습니다: 해운 산업이 글로벌 경제를 어떻게 혁신하고 있습니까?

해군 부문은 150억 시장을 향해 항해해온 진정한 글로벌 경제강국입니다.

1 월 2024

출판사와 OpenAI, 인공지능이 처리하는 정보의 흐름을 규제하기 위한 계약 체결

지난 월요일, Financial Times는 OpenAI와의 계약을 발표했습니다. FT는 세계적 수준의 저널리즘에 라이선스를 부여합니다…

4월 30 2024

온라인 결제: 스트리밍 서비스를 통해 영원히 결제하는 방법은 다음과 같습니다.

수백만 명의 사람들이 스트리밍 서비스 비용을 지불하고 월간 구독료를 지불합니다. 당신은…

4월 29 2024