조정 파라미터
다음 색인 매개변수와 데이터베이스 플래그는 재현율과 QPS의 적절한 균형을 찾기 위해 함께 사용됩니다.
조정 매개변수 | 설명 | 옵션 유형 |
---|---|---|
max_num_levels |
K-평균 군집화 트리의 중심 수준의 최대 수입니다.
|
색인 생성 (선택사항) |
num_leaves |
이 색인에 적용할 파티션 수입니다. 색인을 만들 때 적용하는 파티션 수는 색인 성능에 영향을 미칩니다. 정해진 수의 벡터에 대한 파티션을 늘리면 더 세분화된 색인이 생성되어 재현율과 쿼리 성능이 향상됩니다. 하지만 이렇게 하면 색인 생성 시간이 길어집니다. 3단계 트리는 2단계 트리보다 빠르게 빌드되므로 3단계 트리 색인을 생성할 때 num_leaves_value 를 늘려 성능을 개선할 수 있습니다.
|
색인 생성 (필수) |
quantizer |
K-means 트리에 사용할 양자화기의 유형입니다. 기본값은 SQ8 로 설정되어 있으며, 이를 통해 재현율 손실을 최소화하면서 (일반적으로 1~2% 미만) 쿼리 성능을 개선할 수 있습니다.재현율이 99% 이상이어야 하는 경우 FLAT 로 설정하세요. |
색인 생성 (선택사항) |
scann.enable_pca |
가능한 경우 임베딩 크기를 자동으로 줄이는 데 사용되는 차원 축소 기법인 주성분 분석 (PCA)을 사용 설정합니다. 이 옵션은 기본적으로 사용 설정되어 있습니다. 재현율이 저하되는 경우 false 로 설정하세요. |
색인 생성 (선택사항) |
scann.pct_leaves_to_search (Preview) |
이 데이터베이스 플래그를 사용하면 [검색할 리프 또는 파티션 수를 자동으로 관리](/alloydb/omni/kubernetes/16.3.0/docs/ai/maintain-vector-indexes#manage-leave-to-search-split-partitions)할 수 있습니다. 이 값을 현재 파티션 수로 설정합니다. 예를 들어 현재 파티션 수의 1% 를 검색하려면 이 값을 1 로 설정합니다. 이 매개변수를 0 ~100 사이의 값으로 설정할 수 있습니다. 기본값은 0 이며, 이 매개변수를 사용 중지하고 `scann.num_leaves_to_search` 를 사용하여 검색할 리프 수를 계산합니다. 이 매개변수는 기본적으로 사용 중지되어 있습니다. |
쿼리 런타임 (선택사항) |
scann.num_leaves_to_search |
이 데이터베이스 플래그는 검색할 리프 또는 파티션의 절대 수를 제어하므로 재현율과 QPS 간에 균형을 맞출 수 있습니다. 기본값은 num_leaves 에 설정된 값의 1% 입니다. 값이 높을수록 재현율은 높아지지만 QPS는 낮아집니다. 마찬가지로 값이 낮을수록 재현율은 낮아지지만 QPS는 높아집니다. |
쿼리 런타임 (선택사항) |
scann.pre_reordering_num_neighbors |
데이터베이스 플래그는 설정된 경우 초기 검색에서 후보 집합을 식별한 후 순서 변경 단계에서 고려할 후보 이웃의 수를 지정합니다. 이 매개변수를 쿼리에서 반환할 이웃 수보다 큰 값으로 설정합니다. 값이 높을수록 재현율이 높아지지만 QPS는 낮아집니다. 재정렬을 사용 중지하려면 이 값을 0 로 설정합니다. 색인 생성 중에 PCA가 사용 설정되지 않은 경우 기본값은 0 입니다. 그렇지 않으면 기본값은 50 x K 입니다. 여기서 K 는 쿼리에 지정된 LIMIT입니다. |
쿼리 런타임 (선택사항) |
scann.num_search_threads |
다중 스레드 검색의 검색자 스레드 수입니다. 이렇게 하면 지연 시간에 민감한 애플리케이션에서 ScaNN ANN 검색에 2개 이상의 스레드를 사용하여 단일 쿼리 지연 시간을 줄일 수 있습니다. 데이터베이스가 이미 CPU에 바인딩된 경우 이 설정은 단일 쿼리 지연 시간을 개선하지 않습니다. 기본값은 2 입니다. |
쿼리 런타임 (선택사항) |