기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
벡터 인덱싱을 위한 GPU 가속화
GPU 가속화를 통해 대규모 벡터 데이터베이스를 더 빠르고 효율적으로 구축할 수 있습니다. 신규 또는 기존 OpenSearch 도메인과 OpenSearch Serverless 컬렉션에서이 기능을 활성화할 수 있습니다. 이 기능은 GPU 가속화를 사용하여 데이터를 벡터 인덱스로 인덱싱하는 데 필요한 시간을 줄입니다.
GPU 가속화를 사용하면 인덱싱 비용의 1/4로 벡터 인덱싱 속도를 최대 10X 높일 수 있습니다.
사전 조건
GPU 가속화는 OpenSearch 버전 3.1 이상을 실행하는 OpenSearch 도메인과 OpenSearch Serverless 컬렉션에서 지원됩니다. 자세한 내용은 Amazon OpenSearch Service 도메인 업그레이드, UpdateDomainConfig 및 UpdateCollection APIs.
작동 방식
벡터 인덱스는 계층적 탐색 가능 스몰 월드(HNSW) 그래프와 같은 데이터 구조를 빌드하는 데 상당한 컴퓨팅 리소스가 필요합니다. 도메인 또는 컬렉션에서 GPU 가속화를 활성화하면 OpenSearch는 인덱스 빌드를 가속화할 기회를 자동으로 감지하고 인덱스 빌드를 GPU 인스턴스로 오프로드합니다. OpenSearch Service는 사용자를 대신하여 GPU 인스턴스를 관리하여 필요할 때 도메인 또는 컬렉션에 할당합니다. 즉, 사용률을 관리하거나 유휴 시간에 대한 비용을 지불하지 않습니다.
컴퓨팅 유닛(OCU) - 벡터 가속화를 통한 유용한 처리에 대해서만 비용을 지불합니다. 각 벡터 가속화 OCU는 약 8GiB의 CPU 메모리, 2개의 vCPUs 및 6GiB의 GPU 메모리의 조합입니다. 자세한 내용은 GPU 가속화 요금 단원을 참조하십시오.
도메인 또는 컬렉션에 GPU 가속화를 활성화하려면 섹션을 참조하세요GPU 가속화 활성화.
GPU 가속화 요금
AWS OpenSearch가 도메인 또는 컬렉션의 인덱스 빌드 워크로드를 가속화할 기회를 감지하면에 요금이 청구됩니다. 각 벡터 가속화 OCU는 약 8GiB의 CPU 메모리, 2개의 vCPUs 및 6GiB의 GPU 메모리의 조합입니다.
AWS 는 2단계 세부 수준으로 OCU에 요금을 청구합니다. 계정 문에는 OCU 시간으로 계산할 항목이 표시됩니다.
예를 들어 1시간 동안 GPU 가속화를 사용하여 vCPU 2개와 GPU 메모리 1GiB를 사용하여 인덱스를 생성하면 OCU 1개가 청구됩니다. GPU 가속화를 사용하는 동안 9GiB의 CPU 메모리를 사용하는 경우 2OCU가 청구됩니다.
OpenSearch Serverless는 컬렉션을 지원하는 데 필요한 컴퓨팅 성능 및 스토리지를 기반으로 추가 OCU(증분 단위: 1개의 OCU)를 추가합니다. 비용을 제어하기 위해 계정에 대한 최대 OCU 수를 구성할 수 있습니다.
참고
시간에 따라 프로비저닝된 OCU 수는 다를 수 있으며 정확하지 않습니다. 시간이 지남에 따라 OpenSearch 및 OpenSearch Serverless가 사용하는 알고리즘은 시스템 사용을 더 잘 최소화하기 위해 계속 개선됩니다.
전체 요금 세부 정보는 Amazon OpenSearch Service 요금을
GPU 가속화 및 쓰기 작업
GPU 가속화는 OpenSearch의 벡터 수집 속도(MB/초)가 범위 내에 있을 때 활성화됩니다. OpenSearch 도메인에서는 index.knn.remote_index_build.size.min 및를 통해 이 범위를 유연하게 구성할index.knn.remote_index_build.size.max. 예를 들어, 범위 기본값이 50MB인 경우 새로 고침 간격 사이에 768차원으로 15,000개의 전체 정밀도 벡터를 작성하면 기본적으로 GPU 가속화가 트리거됩니다.
데이터는 다음 API 작업으로 작성됩니다.
GPU 가속화는 자동 및 수동
지원되는 인덱스 구성
Faiss
다음 구성은 GPU 가속화를 지원하지 않습니다.
모범 사례
벡터 검색 워크로드에서 GPU 가속화의 이점을 극대화하려면 다음 모범 사례를 따르세요.
-
인덱스 클라이언트 증가 - 인덱스 빌드 중에 GPUs를 최대한 활용하려면 OpenSearch로 데이터를 수집하는 인덱스 클라이언트 수를 늘리세요. 이를 통해 GPU 리소스의 병렬화 및 사용률을 개선할 수 있습니다.
-
대략적인 임계값 조정 - 더 작은 세그먼트 인덱스 빌드가 발생하지 않도록
index.knn.advanced.approximate_threshold설정을 변경하여 전체 수집 속도를 개선합니다. 10,000의 값이 좋은 시작점입니다. 컬렉션의 경우이 설정의 값을 명시적으로 지정해야 합니다. -
샤드 크기 최적화 - 최소 1백만 개의 문서가 있는 샤드를 생성해 보세요. 이 문서 수보다 적은 샤드는 GPU 가속화의 전반적인 이점을 볼 수 없습니다.