다음을 통해 공유


Azure Database for PostgreSQL의 벡터 저장소

벡터 저장소는 자연어 처리, 비디오 및 이미지 인식, 권장 사항 시스템 및 검색을 포함하여 분석 및 생성 AI 전반의 다양한 도메인 및 상황에서 사용됩니다.

벡터 저장소란?

벡터 저장소(벡터 데이터베이스라고도 함)는 벡터 포함을 저장하고 관리하는 데이터베이스입니다. 벡터 포함은 고차원 공간에서 데이터의 수학적 표현입니다.

이 공간에서 각 차원은 데이터의 기능에 해당합니다. 수만 개의 차원이 정교한 데이터를 나타내는 데 사용될 수 있습니다. 이 공간에서 벡터의 위치는 해당 특성을 나타냅니다. 단어, 구, 전체 문서, 이미지, 오디오 및 기타 유형의 데이터를 모두 벡터화할 수 있습니다.

벡터 저장소는 어떻게 작동하나요?

벡터 저장소에서는 벡터 검색 알고리즘을 사용하여 포함을 인덱싱하고 쿼리합니다. 잘 알려진 벡터 검색 알고리즘에는 Disk Approximate Nearest Neighbor (DiskANN), 계층적 탐색 가능 Small World (HNSW), 그리고 플랫 압축을 이용한 반전 파일 (IVFFlat)이 포함됩니다.

벡터 검색은 속성 필드의 정확한 일치가 아닌 데이터 특성을 기반으로 유사한 항목을 찾는 데 도움이 되는 방법입니다. 이 기술은 유사한 텍스트 검색, 관련 이미지 찾기, 권장 사항 제공 또는 변칙 징후 검색과 같은 애플리케이션에 유용합니다.

벡터 검색은 embeddings API를 통해 기계 학습 모델을 사용하여 만든 데이터의 벡터 포함을 쿼리하는 데 사용됩니다. 다음은 포함 API의 예입니다: Azure OpenAI EmbeddingsHugging Face on Azure.

벡터 검색은 데이터 벡터와 쿼리 벡터 사이의 거리를 측정합니다. 쿼리 벡터에 가장 가까운 데이터 벡터는 의미 체계적으로 가장 유사한 벡터입니다.

Azure Database for PostgreSQL을 벡터 저장소로 사용하는 경우 원래 데이터와 함께 포함을 저장, 인덱싱 및 쿼리할 수 있습니다. 이 방법은 별도의 순수 벡터 데이터베이스에서 데이터를 복제하는 추가 비용을 제거합니다.

또한 이 아키텍처는 벡터 포함과 원래 데이터를 함께 유지합니다. 임베딩과 데이터를 함께 유지하면 다중 모달 데이터 작업이 더 용이해집니다. 또한 데이터 일관성, 크기 조정 및 성능을 향상할 수 있습니다.