벡터 데이터베이스란 무엇인가요?

정보는 다양한 형태로 제공됩니다. 텍스트 문서, 리치 미디어, 오디오와 같이 비정형 정보도 있고 애플리케이션 로그, 테이블, 그래프와 같이 정형화된 정보도 있습니다. 인공 지능과 기계 학습(AI/ML)의 혁신을 통해 일종의 ML 모델인 임베딩 모델을 만들 수 있었습니다. 임베딩은 모든 유형의 데이터를 자산의 의미와 컨텍스트를 캡처하는 벡터로 인코딩합니다. 이를 통해 인접 데이터 포인트를 검색하여 유사한 자산을 찾을 수 있습니다. 벡터 검색 방법을 사용하면 스마트폰으로 사진을 찍고 비슷한 이미지를 검색하는 등 고유한 경험을 할 수 있습니다. 

벡터 데이터베이스는 벡터를 고차원 포인트로 저장하고 검색하는 기능을 제공합니다. N차원 공간에서 가장 가까운 이웃을 효율적이고 빠르게 조회할 수 있는 추가적인 기능을 추가합니다. 일반적으로 k-NN(k-Nearest Neighbor) 인덱스로 구동되며 계층적 탐색 가능한 소규모 세계(HNSW) 및 반전된 파일 인덱스(IVF) 알고리즘과 같은 알고리즘으로 구축됩니다. 벡터 데이터베이스는 데이터 관리, 내결함성, 인증 및 액세스 제어, 쿼리 엔진과 같은 추가 기능을 제공합니다. 

벡터 데이터베이스는 어떻게 사용되나요?

벡터 데이터베이스는 일반적으로 시각적, 의미 체계, 다중 모달 검색과 같은 벡터 검색 사용 사례를 강화하는 데 사용됩니다. 최근에는 생성형 인공 지능(AI) 텍스트 모델과 결합하여 대화형 검색 경험을 제공하는 지능형 에이전트를 개발했습니다. 또한 생성형 AI 모델은 챗봇이 사실적이지는 않지만 믿을 수 있는 응답을 제공하는 것과 같이 사실 여부를 변별할 수 없도록 하는 것을 방지할 수 있습니다.

개발 프로세스는 제품 이미지와 같은 코퍼스를 벡터로 인코딩하도록 설계된 임베딩 모델을 구축하는 것에서 시작됩니다. 데이터 가져오기 프로세스를 데이터 하이드레이션이라고도 합니다. 이제 애플리케이션 개발자는 데이터베이스를 사용하여 제품 이미지를 인코딩하고 벡터를 사용하여 유사한 이미지를 쿼리함으로써 유사 제품을 검색할 수 있습니다.

모델 내에서 k-NN(k-Nearest Neighbor) 인덱스는 벡터를 효율적으로 검색하고 코사인과 같은 거리 함수를 적용하여 유사성을 기준으로 결과의 순위를 매깁니다. 

벡터 데이터베이스는 왜 중요한가요?

개발자는 임베딩으로 생성된 벡터를 벡터 데이터베이스에 인덱싱할 수 있습니다. 이를 통해 인접 벡터를 쿼리하여 유사한 자산을 찾을 수 있습니다.

벡터 데이터베이스는 임베딩 모델을 운영하는 방법을 제공합니다. 리소스 관리, 보안 제어, 확장성, 내결함성, 정교한 쿼리 언어를 통한 효율적인 정보 검색과 같은 데이터베이스 기능을 사용하면 애플리케이션 개발의 생산성이 향상됩니다.

벡터 데이터베이스는 궁극적으로 고유한 애플리케이션 경험을 만들 수 있도록 개발자 역량을 강화합니다. 예를 들어 사용자가 스마트폰으로 사진을 찍어 비슷한 이미지를 검색할 수 있습니다. 

개발자는 다른 유형의 기계 학습 모델을 사용하여 이미지 및 스캔 문서와 같은 콘텐츠에서 메타데이터 추출을 자동화할 수 있습니다. 메타데이터를 벡터와 함께 인덱싱하여 키워드와 벡터 모두에서 하이브리드 검색을 수행할 수 있습니다. 또한 의미 체계 이해를 관련성 순위에 통합하여 검색 결과를 개선할 수 있습니다.

생성형 인공 지능(AI)의 혁신으로 텍스트를 생성하고 인간과의 복잡한 대화를 관리할 수 있는 ChatGPT와 같은 새로운 유형의 모델이 도입되었습니다. 일부는 다양한 방식으로 작동할 수 있습니다. 예를 들어 일부 모델은 사용자가 풍경을 설명하면 설명에 맞는 이미지를 생성할 수 있도록 합니다.

하지만 생성형 모델은 사실 여부를 변별하기 어려우므로 챗봇이 사용자를 오도할 수도 있습니다. 벡터 데이터베이스는 생성형 AI 모델을 보완할 수 있습니다. 생성형 AI 챗봇을 위한 외부 지식 기반을 제공하고 신뢰할 수 있는 정보를 제공하도록 지원할 수 있습니다. 

누가 벡터 데이터베이스를 사용하나요?

벡터 데이터베이스는 벡터 검색 기반 환경을 만들고자 하는 개발자를 위한 것입니다. 애플리케이션 개발자는 오픈 소스 모델, 자동화된 기계 학습(ML) 도구 및 기본 모델 서비스를 사용하여 임베딩을 생성하고 벡터 데이터베이스를 하이드레이션할 수 있습니다. 이를 위해서는 최소한의 ML 전문 지식이 필요합니다.

데이터 사이언티스트와 엔지니어로 구성된 팀은 전문적으로 조정된 임베딩을 구축하고 벡터 데이터베이스를 통해 이를 운영할 수 있습니다. 이를 통해 인공 지능(AI) 솔루션을 더 빠르게 제공할 수 있습니다.

운영 팀은 솔루션을 친숙한 데이터베이스 워크로드로 관리함으로써 이점을 얻을 수 있습니다. 기존 도구와 플레이북을 사용할 수 있습니다.

벡터 데이터베이스의 이점은 무엇인가요?

벡터 데이터베이스를 사용하면 개발자는 벡터 검색을 통해 혁신하고 고유한 경험을 만들 수 있습니다. 인공 지능(AI) 애플리케이션 개발을 가속화하고 AI 기반 애플리케이션 워크로드의 운영을 단순화할 수 있습니다.

벡터 데이터베이스는 k-NN(k-Nearest Neighbor) 인덱스를 기반으로 구축하는 대신 사용할 수 있습니다. 이러한 종류의 인덱스를 사용, 조정 및 운영하려면 상당한 추가 전문 지식과 엔지니어링이 필요합니다.

우수한 벡터 데이터베이스는 데이터 관리, 내결함성, 중요 보안 기능, 쿼리 엔진과 같은 기능을 통해 애플리케이션에 기반을 제공합니다. 이러한 기능을 통해 사용자는 워크로드를 운영하여 확장을 간소화하고, 높은 확장성을 유지하고, 보안 요구 사항을 지원할 수 있습니다.

쿼리 엔진 및 SDK와 같은 기능은 애플리케이션 개발을 단순화합니다. 또한 개발자는 k-NN 검색의 일부로 메타데이터에 대해 고급 쿼리(예: 검색 및 필터링)를 수행할 수 있습니다. 또한 BM25와 같은 기존 용어 빈도 모델을 벡터 점수와 혼합하여 정보 검색을 향상시키는 하이브리드 관련성 점수 모델을 사용할 수도 있습니다.

벡터 데이터베이스의 문제점은 무엇인가요?

벡터 데이터베이스에는 다른 데이터베이스 기술이 직면한 것과 동일하게 많은 문제가 있습니다. 확장성, 근사치 정확도, 지연 성능 및 경제성을 개선하기 위한 노력이 계속될 것입니다.

비교적 초기 기술인 여러 벡터 데이터베이스는 보안, 복원력, 운영 지원, 워크로드 지원의 다양화와 같은 핵심 데이터베이스 역량을 바탕으로 발전해야 합니다. 이는 인공 지능(AI) 애플리케이션이 발전하고 단순한 벡터 검색 이상의 기능이 필요해짐에 따라 중요해질 것입니다. 

AWS에서는 벡터 데이터베이스 요구 사항을 어떻게 지원할 수 있나요?

Amazon Web Services(AWS)는 벡터 데이터베이스 요구 사항에 맞는 다양한 서비스를 제공합니다.

지금 계정을 생성하여 AWS에서 벡터 데이터베이스를 시작하세요.

AWS 활용 다음 단계

무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다.

가입 
콘솔에서 구축 시작

AWS Management Console에서 구축을 시작하세요.

로그인