Cette page fournit des documents de référence sur l'indice ScaNN.
Paramètres de réglage
Les paramètres d'index et les indicateurs de base de données suivants sont utilisés ensemble pour trouver le bon équilibre entre le rappel et le débit de requêtes par seconde.
Paramètre de réglage | Description | Type d'option |
---|---|---|
max_num_levels |
Nombre maximal de niveaux de centroïde de l'arborescence de clustering k-moyennes.
|
Création d'index (facultatif) |
num_leaves |
Nombre de partitions à appliquer à cet indice. Le nombre de partitions auxquelles vous appliquez un index lors de sa création affecte ses performances. En augmentant le nombre de partitions pour un nombre défini de vecteurs, vous créez un index plus précis, ce qui améliore le rappel et les performances des requêtes. Toutefois, cela entraîne des temps de création d'index plus longs. Étant donné que les arbres à trois niveaux sont créés plus rapidement que les arbres à deux niveaux, vous pouvez augmenter la valeur num_leaves_value lorsque vous créez un indice d'arbre à trois niveaux pour obtenir de meilleures performances.
|
Création d'index (obligatoire) |
quantizer |
Type de quantizeur que vous souhaitez utiliser pour l'arborescence k-means. La valeur par défaut est SQ8 , ce qui offre de meilleures performances de requête avec une perte de rappel minimale (généralement inférieure à 1 à 2%).Définissez-la sur FLAT si un rappel de 99% ou plus est requis. |
Création d'index (facultatif) |
scann.enable_pca |
Active l'analyse des composants principaux (ACP), une technique de réduction des dimensions utilisée pour réduire automatiquement la taille de l'encapsulation lorsque cela est possible. Cette option est activée par défaut. Définir sur false si vous constatez une dégradation de la mémorisation. |
Création d'index (facultatif) |
scann.num_leaves_to_search |
Cet indicateur de base de données contrôle le nombre absolu de feuilles ou de partitions à rechercher, ce qui vous permet de trouver un équilibre entre le rappel et le débit de requêtes par seconde. La valeur par défaut est de 1% de la valeur définie dans num_leaves . Une valeur plus élevée améliore le rappel, mais réduit le débit de requêtes par seconde. De même, une valeur plus faible entraîne un rappel plus faible, mais un nombre de requêtes par seconde plus élevé. |
Exécution de la requête (facultatif) |
scann.pre_reordering_num_neighbors |
Lorsque l'indicateur de base de données est défini, il spécifie le nombre de voisins candidats à prendre en compte lors des étapes de réorganisation une fois que la recherche initiale a identifié un ensemble de candidats. Définissez ce paramètre sur une valeur supérieure au nombre de voisins que vous souhaitez que la requête renvoie. Une valeur plus élevée améliore le rappel, mais diminue le débit de requêtes par seconde. Définissez cette valeur sur 0 pour désactiver le réordonnancement. La valeur par défaut est 0 si la PCA n'est pas activée lors de la création de l'index. Sinon, la valeur par défaut est 50 x K , où K est la limite spécifiée dans la requête. |
Exécution de la requête (facultatif) |
scann.num_search_threads |
Nombre de threads de recherche pour la recherche multithread. Cela peut contribuer à réduire la latence d'une seule requête en utilisant plusieurs threads pour la recherche de réseau de neurones artificiels ScaNN dans les applications sensibles à la latence. Ce paramètre n'améliore pas la latence d'une seule requête si la base de données est déjà limitée par le processeur. La valeur par défaut est 2 . |
Exécution de la requête (facultatif) |