Yolo 비전 선전
선전
지금 참여하기
용어집

벡터 데이터베이스

벡터 데이터베이스가 지능형 시스템을 위한 효율적인 유사성 검색, 시맨틱 검색 및 이상 감지를 가능하게 함으로써 AI에 혁명을 일으키는 방법을 알아보세요.

벡터 데이터베이스는 고차원 벡터 데이터를 관리, 인덱싱 및 쿼리하도록 설계된 특수 스토리지 시스템입니다, 임베딩이라고도 합니다. 행과 열에 구조화된 데이터를 저장하는 기존의 구조화된 데이터를 행과 열로 저장하는 기존의 관계형 데이터베이스와 달리, 벡터 데이터베이스는 의미적 유사성을 기반으로 항목을 찾는 데 최적화되어 있습니다. 이러한 기능 덕분에 벡터 데이터베이스는 현대의 인공 지능(AI) 인프라의 초석이 되어 시스템이 이미지, 오디오, 텍스트와 같은 비정형 데이터를 처리할 수 있게 해줍니다. 문맥 관계를 이해함으로써 처리할 수 있습니다. 기본적으로 머신 러닝 애플리케이션의 장기 메모리 역할을 하는 머신 러닝 애플리케이션의 장기 메모리 역할을 하며 동일한 정보가 아닌 개념적으로 연관된 정보를 효율적으로 검색할 수 있습니다.

벡터 데이터베이스 작동 원리

벡터 데이터베이스의 핵심 기능은 원시 데이터를 수학적 벡터로 변환하는 데 의존합니다. 프로세스를 통해 수학적 벡터로 변환하는 것입니다. A 딥러닝 모델, 예를 들어 비전 트랜스포머(ViT ) 또는 컨볼루션 신경망(CNN)과 같은 딥 러닝 모델은 데이터를 분석하여 데이터의 특징을 나타내는 긴 숫자 목록인 벡터를 출력합니다.

이러한 벡터가 생성되면 데이터베이스는 다음과 같은 특수 알고리즘을 사용하여 색인을 생성합니다. 근사 최인접 이웃(ANN). 사용자가 쿼리를 수행하면 시스템은 검색어(이미지 또는 텍스트)를 벡터로 변환하고, 거리 메트릭을 사용해 저장된 벡터와의 거리 메트릭을 사용하여 저장된 벡터와의 근접성을 계산합니다. 코사인 유사도 또는 유클리드 거리. 이를 통해 데이터베이스는 빠르게 가장 관련성이 높은 결과를 나타내는 '가장 가까운' 이웃을 식별할 수 있습니다.

다음 코드 스니펫은 임베딩을 생성하는 방법을 보여주는 예시입니다. 벡터 데이터베이스에 데이터를 저장하기 전 첫 번째 단계인 벡터 데이터베이스에 저장하기 전 첫 번째 단계입니다.

from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Generate feature embeddings for an image file
# This converts the visual content into a numerical vector
results = model.embed("bus.jpg")

# Output the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")

실제 애플리케이션

벡터 데이터베이스는 상용 및 엔터프라이즈 소프트웨어의 다양한 지능형 기능을 지원하는 엔진입니다.

  • 시각적 추천 엔진: 다음과 같은 영역에서 리테일 분야의 AI, 플랫폼은 벡터 데이터베이스를 사용하여 '쇼핑하기' 기능을 강화합니다. 고객이 제품을 볼 때 시스템은 벡터 데이터베이스를 쿼리하여 에 유사한 시각적 임베딩이 있는 상품을 쿼리하여 일치하는 스타일, 색상 또는 패턴을 가진 상품을 제안합니다. 이 기능은 사용자 경험을 향상시킵니다. 단순한 카테고리 태그를 뛰어넘는 개인화된 추천을 제공함으로써 사용자 경험을 향상시킵니다.
  • 검색 증강 세대(RAG): 벡터 데이터베이스는 다음과 같은 경우에 매우 중요합니다. 검색 증강 세대(RAG) 시스템에 매우 중요합니다. 방대한 내부 지식 기반의 임베딩을 저장함으로써 기업은 다음을 수행할 수 있습니다. 대규모 언어 모델(LLM)을 검색하여 정확한 최신 컨텍스트를 검색할 수 있습니다. 이렇게 하면 환각을 줄이고 AI가 검색된 내용을 기반으로 사실에 입각한 답변을 검색된 문서를 기반으로 사실에 입각한 답변을 제공합니다.

관련 개념 차별화

생태계를 이해하려면 벡터 데이터베이스와 관련 용어를 구분하는 것이 도움이 됩니다:

  • 벡터 데이터베이스와 벡터 검색: 벡터 검색은 유사한 벡터를 찾는 작업 또는 알고리즘 프로세스입니다. 벡터 데이터베이스는 이러한 벡터를 저장하고 검색을 확장성 있고 지속적으로
  • 벡터 데이터베이스와 임베딩 비교: 임베딩은 실제 데이터 페이로드, 즉 입력값을 수치로 표현한 것입니다. 벡터 데이터베이스는 이러한 임베딩을 빠르게 액세스할 수 있도록 이러한 임베딩을 정리하여 빠르게 액세스할 수 있도록 하는 컨테이너입니다.
  • 벡터 데이터베이스 대 피처 엔지니어링: 피처 엔지니어링은 모델에 대한 피처를 생성하는 광범위한 프로세스입니다. 벡터 데이터베이스는 딥러닝 모델에 의해 수행된 자동화된 피처 엔지니어링(임베딩)의 결과를 저장합니다.

인기 있는 벡터 데이터베이스 솔루션

시장에서는 오픈 소스 도구부터 관리형 서비스에 이르기까지 벡터 스토리지를 구현할 수 있는 여러 가지 강력한 옵션을 제공합니다. 서비스:

  • Pinecone: 완전 관리형 클라우드 네이티브 벡터 데이터베이스 고속 확장성과 프로덕션에서의 사용 편의성을 위해 설계되었습니다.
  • Milvus: 확장 가능한 오픈 소스 벡터 데이터베이스. 유사도 검색을 위해 구축된 소스 기반 벡터 데이터베이스. 컴퓨터 비전 애플리케이션에 자주 사용됩니다.
  • Qdrant: Rust로 작성된 고성능 벡터 검색 엔진, 복잡한 쿼리를 위한 고급 필터링 기능을 제공합니다.
  • Weaviate: 객체와 벡터를 모두 저장하는 AI 네이티브 벡터 데이터베이스 와 벡터를 모두 저장하여 벡터와 키워드를 함께 검색할 수 있습니다.

이러한 도구를 통합하여 MLOps 워크플로우에 통합함으로써 개발자는 다음을 수행할 수 있습니다. 데이터 콘텐츠를 진정으로 '이해'하는 시스템을 구축하여 시맨틱 검색과 같은 고급 기능을 사용할 수 있습니다, 이상 징후 탐지 및 개인화된 콘텐츠 전송과 같은 고급 기능을 구현할 수 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기