- 클라우드 컴퓨팅이란 무엇인가요?›
- 클라우드 컴퓨팅 개념 허브›
- 데이터베이스
벡터 데이터베이스란?
벡터 데이터베이스란?
정보는 다양한 형태로 제공됩니다. 텍스트 문서, 리치 미디어, 오디오와 같이 비정형 정보도 있고 애플리케이션 로그, 테이블, 그래프와 같이 정형화된 정보도 있습니다. 인공 지능과 기계 학습(AI/ML)의 혁신을 통해 일종의 ML 모델인 임베딩 모델을 만들 수 있었습니다. 임베딩은 모든 유형의 데이터를 자산의 의미와 컨텍스트를 캡처하는 벡터로 인코딩합니다. 이를 통해 인접 데이터 포인트를 검색하여 유사한 자산을 찾을 수 있습니다. 벡터 검색 방법을 사용하면 스마트폰으로 사진을 찍고 비슷한 이미지를 검색하는 등 고유한 경험을 할 수 있습니다.
벡터 데이터베이스는 벡터를 고차원 포인트로 저장하고 검색하는 기능을 제공합니다. N차원 공간에서 가장 가까운 이웃을 효율적이고 빠르게 조회할 수 있는 추가적인 기능을 추가합니다. 일반적으로 k-NN(k-Nearest Neighbor) 인덱스로 구동되며 계층적 탐색 가능한 소규모 세계(HNSW) 및 반전된 파일 인덱스(IVF) 알고리즘과 같은 알고리즘으로 구축됩니다. 벡터 데이터베이스는 데이터 관리, 내결함성, 인증 및 액세스 제어, 쿼리 엔진과 같은 추가 기능을 제공합니다.
벡터 데이터베이스는 왜 중요한가요?
개발자는 임베딩으로 생성된 벡터를 벡터 데이터베이스에 인덱싱할 수 있습니다. 이를 통해 인접 벡터를 쿼리하여 유사한 자산을 찾을 수 있습니다.
벡터 데이터베이스는 임베딩 모델을 운영하는 방법을 제공합니다. 리소스 관리, 보안 제어, 확장성, 내결함성, 정교한 쿼리 언어를 통한 효율적인 정보 검색과 같은 데이터베이스 기능을 사용하면 애플리케이션 개발의 생산성이 향상됩니다.
벡터 데이터베이스는 궁극적으로 고유한 애플리케이션 경험을 만들 수 있도록 개발자 역량을 강화합니다. 예를 들어 사용자가 스마트폰으로 사진을 찍어 비슷한 이미지를 검색할 수 있습니다.
개발자는 다른 유형의 기계 학습 모델을 사용하여 이미지 및 스캔 문서와 같은 콘텐츠에서 메타데이터 추출을 자동화할 수 있습니다. 메타데이터를 벡터와 함께 인덱싱하여 키워드와 벡터 모두에서 하이브리드 검색을 수행할 수 있습니다. 또한 의미 체계 이해를 관련성 순위에 통합하여 검색 결과를 개선할 수 있습니다.
생성적 인공 지능 (AI) 의 혁신으로 텍스트를 생성하고 인간과의 복잡한 대화를 관리할 수 있는 ChatGPT와 같은 새로운 유형의 모델이 도입되었습니다. 일부는 다양한 방식으로 작동할 수 있습니다. 예를 들어 일부 모델은 사용자가 풍경을 설명하면 설명에 맞는 이미지를 생성할 수 있도록 합니다.
하지만 제너레이티브 모델에서는 환각 현상이 발생하기 쉬우며, 예를 들어 챗봇이 사용자를 오도할 수 있습니다. 벡터 데이터베이스는 생성형 AI 모델을 보완할 수 있습니다. 생성형 AI 챗봇을 위한 외부 지식 기반을 제공하고 신뢰할 수 있는 정보를 제공하도록 지원할 수 있습니다.
벡터 데이터베이스는 어떻게 사용되나요?
벡터 데이터베이스는 일반적으로 시각적, 의미 체계, 다중 모달 검색과 같은 벡터 검색 사용 사례를 강화하는 데 사용됩니다. 최근에는 생성형 인공 지능(AI) 텍스트 모델과 결합하여 대화형 검색 경험을 제공하는 지능형 에이전트를 개발했습니다.
개발 프로세스는 제품 이미지와 같은 코퍼스를 벡터로 인코딩하도록 설계된 임베딩 모델을 구축하는 것에서 시작됩니다. 데이터 가져오기 프로세스를 데이터 하이드레이션이라고도 합니다. 이제 애플리케이션 개발자는 데이터베이스를 사용하여 제품 이미지를 인코딩하고 벡터를 사용하여 유사한 이미지를 쿼리함으로써 유사 제품을 검색할 수 있습니다.
모델 내에서 k-NN(k-Nearest Neighbor) 인덱스는 벡터를 효율적으로 검색하고 코사인과 같은 거리 함수를 적용하여 유사성을 기준으로 결과의 순위를 매깁니다.
누가 벡터 데이터베이스를 사용하나요?
벡터 데이터베이스는 벡터 검색 기반 환경을 만들고자 하는 개발자를 위한 것입니다. 애플리케이션 개발자는 오픈 소스 모델, 자동화된 기계 학습(ML) 도구 및 기본 모델 서비스를 사용하여 임베딩을 생성하고 벡터 데이터베이스를 하이드레이션할 수 있습니다. 이를 위해서는 최소한의 ML 전문 지식이 필요합니다.
데이터 사이언티스트와 엔지니어로 구성된 팀은 전문적으로 조정된 임베딩을 구축하고 벡터 데이터베이스를 통해 이를 운영할 수 있습니다. 이를 통해 인공 지능(AI) 솔루션을 더 빠르게 제공할 수 있습니다.
운영 팀은 솔루션을 친숙한 데이터베이스 워크로드로 관리함으로써 이점을 얻을 수 있습니다. 기존 도구와 플레이북을 사용할 수 있습니다.
벡터 데이터베이스의 이점은 무엇인가요?
벡터 데이터베이스를 사용하면 개발자는 벡터 검색을 통해 혁신하고 고유한 경험을 만들 수 있습니다. 인공 지능(AI) 애플리케이션 개발을 가속화하고 AI 기반 애플리케이션 워크로드의 운영을 단순화할 수 있습니다.
벡터 데이터베이스는 k-NN(k-Nearest Neighbor) 인덱스를 기반으로 구축하는 대신 사용할 수 있습니다. 이러한 종류의 인덱스를 사용, 조정 및 운영하려면 상당한 추가 전문 지식과 엔지니어링이 필요합니다.
우수한 벡터 데이터베이스는 데이터 관리, 내결함성, 중요 보안 기능, 쿼리 엔진과 같은 기능을 통해 애플리케이션에 기반을 제공합니다. 이러한 기능을 통해 사용자는 워크로드를 운영하여 확장을 간소화하고, 높은 확장성을 유지하고, 보안 요구 사항을 지원할 수 있습니다.
쿼리 엔진 및 SDK와 같은 기능은 애플리케이션 개발을 단순화합니다. 또한 개발자는 k-NN 검색의 일부로 메타데이터에 대해 고급 쿼리(예: 검색 및 필터링)를 수행할 수 있습니다. 또한 BM25와 같은 기존 용어 빈도 모델을 벡터 점수와 혼합하여 정보 검색을 향상시키는 하이브리드 관련성 점수 모델을 사용할 수도 있습니다.
AWS가 Amazon Bedrock용으로 권장하는 벡터 데이터베이스는 무엇인가요?
아마존 OpenSearch 서비스는 아마존 베드록에 권장되는 벡터 데이터베이스입니다. OpenSearch Service는 벡터 기반 검색 기능(하이브리드, 시맨틱, 멀티모달, 대화형 등), 추천 시스템, 챗봇, 기타 현대적 생성형 AI 애플리케이션 등을 지원하는 확장 가능한 고성능 벡터 데이터베이스를 제공합니다. OpenSearch Service는 Amazon Bedrock에 벡터 데이터베이스 기능이 필요한 경우 사용을 시작할 수 있는 가장 쉽고 빠른 방법입니다.
AWS에서는 다른 벡터 데이터베이스 요구 사항을 어떻게 지원하나요?
Amazon Web Services(AWS)는 벡터 데이터베이스 요구 사항에 맞는 다양한 추가 서비스를 제공합니다. 특히 다른 위치(Amazon Aurora, Amazon S3, Amazon MemoryDB)에 있는 기존 데이터에 대한 벡터 검색이 필요한 경우에 이러한 추가 서비스를 이용할 수 있습니다.
- Amazon Aurora PostgreSQL-호환 에디션 및 Amazon Relational Database Service(RDS) for PostgreSQL에서는 pgvector 확장을 지원하여 기계 학습(ML) 모델의 임베딩을 데이터베이스에 저장하고 효율적인 유사성 검색을 수행할 수 있습니다.
- Amazon Neptune ML은 Neptune의 새로운 기능으로, 그래프용으로 특별히 구축된 ML 기술인 그래프 신경망 (GNN) 을 사용하여 그래프 데이터를 사용하여 쉽고 빠르고 정확한 예측을 제공합니다.
- Amazon MemoryDB의 벡터 검색은 쿼리 및 업데이트 응답 시간이 한 자릿수 밀리초로 수백만 개의 벡터를 저장하고 99% 이상의 재현율에서 수만 QPS (초당 쿼리 수) 를 저장할 수 있도록 지원합니다.
- Amazon DocumentDB (MongoDB 호환) 는 밀리초의 응답 시간으로 수백만 개의 벡터를 저장, 인덱싱 및 검색할 수 있는 새로운 기능인 벡터 검색을 지원합니다. Amazon DocumentDB의 벡터 검색을 사용하면 ML 애플리케이션을 위한 데이터베이스를 간단하게 설정, 운영 및 확장할 수 있습니다.
지금 계정을 만들어 AWS에서 벡터 데이터베이스를 시작하십시오.