Amazon Web Services 한국 블로그

Amazon OpenSearch Service, GPU 가속 및 자동 최적화를 통해 벡터 DB 성능 및 비용 향상

오늘 Amazon OpenSearch Service의 벡터 인덱스에 대한 서버리스 GPU 가속화 및 자동 최적화를 발표합니다. 이 기능을 통해 대규모 벡터 데이터베이스를 더 낮은 비용으로 더 빠르게 구축하고, 검색 품질, 속도, 비용 간의 최적의 균형을 위해 벡터 인덱스를 자동으로 최적화할 수 있습니다.

오늘 소개된 새로운 기능은 다음과 같습니다.

  • GPU 가속화 – 비 GPU 가속 대비 인덱싱 비용의 4분의 1로 최대 10배 더 빠르게 벡터 데이터베이스를 구축할 수 있으며, 1시간 이내에 수십억 달러 규모의 벡터 데이터베이스를 생성할 수 있습니다. 비용 절감 및 속도 향상을 통해 출시 기간 단축, 혁신 속도 향상, 대규모 벡터 검색 도입 측면에서 이점을 얻을 수 있습니다.
  • 자동 최적화 – 벡터 전문 지식 없이도 벡터 필드에 대한 검색 지연 시간, 품질, 메모리 요구 사항 간의 최적의 균형을 찾을 수 있습니다. 이러한 최적화 기능은 기본 인덱스 구성에 비해 비용을 절감하고 회수율은 높일 수 있지만, 수동 인덱스 튜닝에는 몇 주가 걸릴 수 있습니다.

이러한 기능을 사용하여 OpenSearch Service에서 벡터 데이터베이스를 더 빠르고 비용 효율적으로 구축할 수 있습니다. 생성형 AI 애플리케이션을 구동하고, 제품 카탈로그 및 지식 기반을 검색하는 등의 용도로 사용할 수 있습니다. 새로운 OpenSearch 도메인이나 컬렉션을 생성할 때 GPU 가속화 및 자동 최적화를 활성화하고 기존 도메인이나 컬렉션을 업데이트할 수 있습니다.

어떻게 작동하는지 살펴보겠습니다!

벡터 인덱스를 위한 GPU 가속화
OpenSearch 서비스 도메인 또는 서버리스 컬렉션에서 GPU 가속화를 활성화하면 OpenSearch Service는 벡터 인덱싱 워크로드를 가속화할 기회를 자동으로 감지합니다. 이러한 가속화는 OpenSearch 서비스 도메인 또는 서버리스 컬렉션에서 벡터 데이터 구조를 구축하는 데 도움이 됩니다.

GPU 인스턴스를 프로비저닝하거나, 사용량을 관리하거나, 유휴 시간에 대한 비용을 지불할 필요가 없습니다. OpenSearch Service는 가속화된 워크로드를 계정 내 도메인 또는 컬렉션의 Amazon Virtual Private Cloud(Amazon VPC) 에 안전하게 격리합니다. OpenSearch 컴퓨팅 유닛(OCU)을 통해 유용한 처리에 대해서만 벡터 가속 요금을 지불합니다.

GPU 가속을 활성화하려면 OpenSearch Service 콘솔로 이동하여 OpenSearch 서비스 도메인이나 서버리스 컬렉션을 생성하거나 업데이트할 때 고급 기능 섹션에서 GPU 가속화 활성화를 선택하세요.

다음 AWS Command Line Interface(AWS CLI) 명령을 사용하여 기존 OpenSearch 서비스 도메인에 대한 GPU 가속을 활성화할 수 있습니다.

$ aws opensearch update-domain-config \
    --domain-name my-domain \
    --aiml-options '{"ServerlessVectorAcceleration": {"Enabled": true}}'

GPU 처리에 최적화된 벡터 인덱스를 생성할 수 있습니다. 이 인덱스 예는 index.knn.remote_index_build.enabled를 활성화하여 텍스트 임베딩을 위한 768차원 벡터를 저장합니다.

PUT my-vector-index
{
    "settings": {
        "index.knn": true,
        “index.knn.remote_index_build.enabled”: true
    },
    "mappings": {
        "properties": {
        "vector_field": {
        "type": "knn_vector",
        "dimension": 768,
      },
      "text": {
        "type": "text"
      }
    }
  }
}

이제 벌크 API를 사용하는 표준 OpenSearch Service 작업을 사용하여 벡터 데이터를 추가하고 인덱스를 최적화할 수 있습니다. GPU 가속은 인덱싱 및 강제 병합 작업에 자동으로 적용됩니다.

POST my-vector-index/_bulk
{"index": {"_id": "1"}}
{"vector_field": [0.1, 0.2, 0.3, ...], "text": "Sample document 1"}
{"index": {"_id": "2"}}
{"vector_field": [0.4, 0.5, 0.6, ...], "text": "Sample document 2"}

인덱스 빌드 벤치마크를 실행한 결과, GPU 가속화를 통해 6.4~13.8배로 속도가 향상되는 것을 확인했습니다. 향후 게시글에서 더 많은 벤치마크와 자세한 내용을 소개할 것을 기대해 주세요.

자세한 내용은 Amazon OpenSearch 서비스 개발자 안내서의 벡터 인덱싱을 위한 GPU 가속화를 참조하세요.

벡터 데이터베이스 자동 최적화
새로운 벡터 수집 기능을 사용하면 Amazon Simple Storage Service(Amazon S3)에서 문서를 수집하고, 벡터 임베딩을 생성하고, 인덱스를 자동으로 최적화하고, 몇 분 만에 대규모 벡터 인덱스를 구축할 수 있습니다. 수집 과정에서 자동 최적화는 OpenSearch Service 도메인 또는 서버리스 컬렉션의 벡터 필드 및 인덱스를 기반으로 권장 사항을 생성합니다. 이러한 권장 사항 중 하나를 선택하여 매핑을 수동으로 구성하는 대신 벡터 데이터 세트를 빠르게 수집하고 인덱싱할 수 있습니다.

시작하려면 OpenSearch Service 콘솔의 왼쪽 탐색 창에 있는 수집 메뉴에서 벡터 수집을 선택하세요.

다음 단계에 따라 새로운 벡터 수집 작업을 생성할 수 있습니다.

  • 데이터세트 준비 – S3 버킷에서 OpenSearch Service Parquet 문서를 준비하고 대상 도메인 또는 컬렉션을 선택합니다.
  • 인덱스 구성 및 최적화 자동화 – 벡터 필드를 자동으로 최적화하거나 수동으로 구성합니다.
  • 수집 및 인덱싱 가속화 – OpenSearch 수집 파이프라인을 사용하여 Amazon S3에서 OpenSearch Service로 데이터를 로드합니다. 최대 10배 더 빠르게 대규모 벡터 인덱스를 구축하고 비용은 4분의 1로 줄입니다.

2단계에서는 벡터 필드 자동 최적화를 사용하여 벡터 인덱스를 구성합니다. 자동 최적화는 현재 하나의 벡터 필드로 제한됩니다. 자동 최적화 작업이 완료된 후 추가 인덱스 매핑을 입력할 수 있습니다.

벡터 필드 최적화 설정은 사용 사례에 따라 달라집니다. 예를 들어, 높은 검색 품질(재현율)이 필요하고 더 빠른 응답은 필요하지 않은 경우, 지연 시간 요구 사항(p90)에 대해 보통을 선택하고, 허용 가능한 검색 품질(재현율)에 대해 0.9 이상을 선택합니다. 작업을 생성하면 벡터 데이터를 수집하고 벡터 인덱스를 자동으로 최적화하기 시작합니다. 처리 시간은 벡터 차원에 따라 달라집니다.

자세한 내용은 OpenSearch 서비스 개발자 안내서의 벡터 인덱스 자동 최적화를 참조하세요.

정식 출시
Amazon OpenSearch Service의 GPU 가속화는 이제 미국 동부(버지니아 북부), 미국 서부(오리건), 아시아 태평양(시드니), 아시아 태평양(도쿄), 유럽(아일랜드) 리전에서 사용할 수 있습니다. OpenSearch 서비스의 자동 최적화는 이제 미국 동부(오하이오), 미국 동부(버지니아 북부), 미국 서부(오리건), 아시아 태평양(뭄바이), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 아시아 태평양(도쿄), 유럽(프랑크푸르트), 유럽(아일랜드) 지역에서 사용할 수 있습니다.

OpenSearch Service는 벡터 데이터베이스 인덱싱을 위해 사용된 OCU(벡터 가속화)에 대해서만 별도로 요금을 부과합니다. 자세한 내용은 OpenSearch 서비스 요금 페이지를 참조하세요.

시도해보시고 일반 AWS Support 담당자에게 또는 Amazon OpenSearch Service용 AWS re:Post로 피드백을 보내주세요.

– Channy