Parámetros de ajuste
Los siguientes parámetros de índice y marcas de base de datos se usan conjuntamente para encontrar el equilibrio adecuado entre la recuperación y las consultas por segundo.
Parámetro de ajuste | Descripción | Tipo de opción |
---|---|---|
max_num_levels |
Número máximo de niveles de centroides del árbol de agrupamiento K-medias.
|
Creación de índices (opcional) |
num_leaves |
Número de particiones que se aplicarán a este índice. El número de particiones que apliques al crear un índice afecta al rendimiento del índice. Al aumentar las particiones de un número determinado de vectores, se crea un índice más detallado, lo que mejora la recuperación y el rendimiento de las consultas. Sin embargo, esto conlleva un aumento del tiempo de creación del índice. Como los árboles de tres niveles se compilan más rápido que los de dos, puedes aumentar el num_leaves_value al crear un índice de árbol de tres niveles para conseguir un mejor rendimiento.
|
Creación de índice (obligatorio) |
quantizer |
El tipo de cuantificador que quieras usar para el árbol de K-means. El valor predeterminado es SQ8 , que ofrece un mejor rendimiento de las consultas con una pérdida mínima de recuerdo (normalmente, menos del 1-2%).Asigna el valor FLAT si necesitas un recuerdo del 99% o más. |
Creación de índices (opcional) |
scann.enable_pca |
Habilita el análisis de componentes principales (PCA), una técnica de reducción de dimensiones que se usa para reducir automáticamente el tamaño de la inserción cuando es posible. Esta opción está habilitada de forma predeterminada. Selecciona false si observas que la función de recordar se deteriora. |
Creación de índices (opcional) |
scann.pct_leaves_to_search (Preview) |
Esta marca de base de datos te permite [gestionar automáticamente el número de hojas o particiones que se van a buscar](/alloydb/omni/containers/16.3.0/docs/ai/maintain-vector-indexes#manage-leave-to-search-split-partitions). Asigna a este campo el número actual de particiones. Por ejemplo, para buscar el 1% del número actual de particiones, defina este valor en 1 . Puedes asignar a este parámetro cualquier valor entre 0 y 100 . El valor predeterminado es 0 , que inhabilita este parámetro y usa `scann.num_leaves_to_search` para calcular el número de hojas que se deben buscar. El parámetro está inhabilitado de forma predeterminada. |
Tiempo de ejecución de la consulta (opcional) |
scann.num_leaves_to_search |
Esta marca de base de datos controla el número absoluto de hojas o particiones que se deben buscar, lo que te permite elegir entre la recuperación y las consultas por segundo. El valor predeterminado es el 1% del valor definido en num_leaves . Un valor más alto dará como resultado una mejor recuperación, pero un QPS más bajo. Del mismo modo, un valor más bajo dará lugar a una recuperación más baja, pero a un QPS más alto. |
Tiempo de ejecución de la consulta (opcional) |
scann.pre_reordering_num_neighbors |
Cuando se define la marca de la base de datos, se especifica el número de vecinos candidatos que se deben tener en cuenta durante las fases de reordenación después de que la búsqueda inicial identifique un conjunto de candidatos. Asigna a este parámetro un valor superior al número de vecinos que quieres que devuelva la consulta. Un valor más alto da como resultado una mejor recuperación, pero un QPS más bajo. Asigne el valor 0 para inhabilitar la reordenación. El valor predeterminado es 0 si la PCA no está habilitada durante la creación del índice. De lo contrario, el valor predeterminado es 50 x K , donde K es el valor de LIMIT especificado en la consulta. |
Tiempo de ejecución de la consulta (opcional) |
scann.num_search_threads |
Número de subprocesos de búsqueda para la búsqueda multihilo. Esto puede ayudar a reducir la latencia de una sola consulta usando más de un hilo para la búsqueda de ANN de ScaNN en aplicaciones sensibles a la latencia. Este ajuste no mejora la latencia de una sola consulta si la base de datos ya está limitada por la CPU. El valor predeterminado es 2 . |
Tiempo de ejecución de la consulta (opcional) |