Google Cloud a annoncé la préversion de l'index vectoriel TreeAH, apportant des éléments clés de la recherche et de l'innovation de Google dans les algorithmes de recherche des plus proches voisins approximatifs à BigQuery. Ce nouveau type d'index utilise la même technologie sous-jacente que celle qui alimente certains des services les plus populaires de Google et offre des réductions significatives de la latence et des coûts dans certaines situations par rapport au premier index mis en œuvre dans BigQuery, l'index de fichiers inversés (IVF).
L'un des principaux avantages de l'index TreeAH est son utilisation du hachage asymétrique (le « AH » de TreeAH), qui utilise la quantification de produit pour compresser les plongements. Associée à un algorithme de calcul de distance optimisé pour les processeurs, la recherche vectorielle à l'aide de TreeAH peut être plus rapide et plus rentable de plusieurs ordres de grandeur par rapport à IVF. La génération d'index peut également être 10 fois plus rapide et moins coûteuse et avoir une empreinte mémoire plus faible, car seules les intégrations compressées sont stockées.
Des benchmarks réalisés par l'équipe d'ingénierie de Google ont montré que TreeAH surpasse significativement IVF lorsque la taille du lot de requêtes est importante. Par exemple, pour les lots de requêtes contenant 10 000 vecteurs, TreeAH était jusqu'à 23 fois plus rapide et 95 % moins cher qu'IVF. L'entraînement de l'index TreeAH était également beaucoup plus rapide et moins coûteux qu'IVF dans la plupart des cas.
Cependant, il convient de noter que TreeAH est encore en cours de développement actif et qu'il existe certaines limitations actuelles. Par exemple, la table de base peut comporter un maximum de 200 millions de lignes, et les colonnes stockées et le préfiltrage ne sont pas pris en charge pour l'index TreeAH.
Dans l'ensemble, TreeAH est un ajout précieux à BigQuery, offrant des avantages significatifs en termes de performances et de coûts pour certains types de charges de travail de recherche vectorielle. Cela devrait permettre de nouveaux cas d'utilisation pour la recherche vectorielle dans BigQuery, tels que la recherche sémantique et la génération augmentée par la récupération (RAG) basée sur LLM.