Chaosamran_Studio - stock.adobe.
Recherche vectorielle : Aerospike se met à niveau
En prenant en charge en production la recherche vectorielle, Aerospike rattrape le retard qu’il avait pris sur ses concurrents. L’un d’entre eux semble l’avoir particulièrement inspiré : Pinecone.
Le spécialiste Aerospike a lancé la semaine dernière la version 1.0 de sa suite de recherche vectorielle, compatible à partir de la version 7 de sa base de données in-memory NoSQL et multimodèle.
Les vecteurs sont des représentations numériques des données attribuées par des algorithmes, qui permettent de structurer des données non structurées telles que du texte et des images. Ce faisant, elles deviennent recherchables et exploitables pour des applications analytiques et d’intelligence artificielle (IA).
En avril, Aerospike a levé 109 millions de dollars, somme qu’il avait prévu d’utiliser pour poursuivre le développement de ses capacités de recherche vectorielle – introduites à cette période – ainsi sa prise en charge des graphes. Or, le spécialiste de l’in-memory est loin d’être le seul sur ces créneaux.
« De nombreux éditeurs de plateformes de données ont pris en charge la recherche vectorielle au cours des 18 derniers mois », rappelle Matt Aslett, analyste chez Ventana Research, filiale d’ISG. « Ceux qui l’ont fait en premier peaufinent maintenant leurs approches ».
Pour rappel, les principales plateformes d’Aerospike – Aerospike Database et Aerospike Cloud – permettent l’analyse des données en temps réel. Parmi ses concurrents, on retrouve d’autres spécialistes des bases de données comme MongoDB et Couchbase.
Rattraper un certain retard dans la guerre du RAG
Bien que l’ensemble des acteurs en place promettent que l’IA générative automatisera les tâches les plus répétitives, le premier cas d’usage de cette technologie n’est autre que la recherche sémantique et ses avancées représentées par l’architecture Retrieval Augmented Generation (RAG).
Il s’agit d’exploiter enfin les données non structurées en entreprise, un défi que seuls les acteurs les plus concernés – dont les DSI des laboratoires de recherche et les grands groupes de la distribution – s’étaient tentés à relever.
Ainsi, la technologie de recherche vectorielle a pris de l’ampleur ces deux dernières années. Elle est à la fois l’accélérateur des projets Enterprise Search et une fondation nécessaire aux applications propulsées à l’IA « agentique ». Selon Naren Narendran, directeur de l’ingénierie chez Aerospike, c’est cette nécessité qui a poussé l’entreprise à développer des capacités de recherche vectorielle.
« Les graphes et les vecteurs sont particulièrement importants pour notre stratégie en matière d’IA. Ils sont essentiels pour l’avenir des applications d’IA et représentent la raison pour laquelle nous avons investi dans ces technologies », avance-t-il.
Cependant, l’efficacité des vecteurs dépend en grande partie de leur indexation. Une mauvaise indexation rend difficile la découverte des données vectorisées pertinentes et, surtout, ralentit l’inférence.
Aerospike parie sur la mise en cache géométrique
La version 1.0 d’Aerospike Vector Search inclut une méthode d’indexation appelée « Hierarchical Navigable Small World » (HNSW).
Cet algorithme orienté graphes d’indexation de vecteurs est le plus exploité sur le marché. De fait, il est présent à la source de la plupart des moteurs de recherche, Apache Lucene. En revanche, ce n’est pas forcément le plus efficace, selon Microsoft Azure et Google Cloud. Ces deux acteurs exploitent d’autres algorithmes : DiskANN et ScANN. Étant donné que DiskANN est open source et qu’il compense sa petite perte de précision par sa rapidité et par son empreinte plus faible en matière de stockage, Hazelcast et DataStax l’ont également sélectionné.
Aerospike estime toutefois avoir trouvé un moyen pertinent d’implémenter HNSW. L’algorithme est déployé sur des nœuds consacrés à la recherche et les vecteurs y sont mis en cache. « Cela signifie que des recherches similaires – des recherches ciblant les mêmes vecteurs voisins – peuvent être lues à partir du cache plutôt que d’effectuer un aller-retour vers la couche de stockage », indique l’éditeur. « Cette approche de la mise en cache, basée sur la localité, utilise la distance géométrique entre les voisins et est appelée “mise en cache géométrique” ».
Cette technique vise à séparer l’espace des vecteurs en zones à l’aide de centroïdes. Les nouveaux vecteurs sont stockés dans la zone/partition du cache occupé par les représentations alphanumériques les plus proches (les vecteurs d’Aerospike contiennent des lettres, puisqu’ils les augmentent avec des métadonnées). « Les nœuds Aerospike Vector Search (AVS) routent la requête vers le nœud approprié lorsqu’il est effectué une “traversée” HNSW », précise Aerospike.
Le partitionnement géométrique à partir d’un index distinct permet donc de séparer les charges de travail, en vue d’assurer une forme de résilience et l’optimisation des performances. Ainsi, l’éditeur assure prendre en charge l’ingestion des données en quasi-temps réel, sans rogner sur les performances d’indexation ou de recherche.
« La possibilité de faire évoluer indépendamment l’ingestion asynchrone et l’indexation des vecteurs correspond à l’objectif d’Aerospike de répondre aux exigences des applications en temps réel », lance Matt Aslett. Stephen Catanzano, analyste chez Enterprise Strategy Group, filiale d’Informa TechTarget (propriétaire du MagIT), partage ce point de vue.
Pinecone, un adversaire inspirant
Aerospike n’est pas le seul à avoir pris cette voie. Avant lui, Pinecone, éditeur d’une base de données exclusivement vectorielle, avait également présenté sa pile technologique s’appuyant en partie sur le partitionnement géométrique.
Quand Pinecone mise sur un mécanisme de « fraîcheur » des index, Aerospike propose de construire les index de manière partielle et asynchrone. Ce choix a été effectué en raison des coûts en matière de performance –, la vectorisation est très gourmande en CPU et en RAM. Du même coup, la construction complète d’un index doit être effectuée en batch, ce qui est plus coûteux.
Aerospike s’inspire également de Pinecone en introduisant un mécanisme d’index « autoguérissant », en sus d’un système XDR existant. De fait, c’est l’un des mécanismes nécessaires à l’alimentation des index à la volée. Un processus de « guérison » à base de cron jobs permet de vérifier l’intégrité des vecteurs puis de mieux gérer les mises à jour, les suppressions et la réparation des graphes HNSW. « avec les paramètres par défaut, le guérisseur a un faible impact (moins de 20 %) sur les performances et le débit », avance l’éditeur.
« Avec les capacités multimodèles, les clients n’ont pas besoin d’extraire leurs données et de les transférer vers une base de données vectorielles », avance Naren Narendran, qui semble avoir anticipé la comparaison.
Ce que ne dit pas l’éditeur dans ses communiqués en matière de performance des recherches, c’est qu’il faut également jouer avec la distribution des index à travers les nœuds. Ainsi, les petits index sont mis en cache automatiquement sur tous les nœuds, ce qui assure le meilleur niveau de performances. En revanche, un plus gros index devra être distribué à travers les nœuds, tandis que les index les plus importants (plusieurs milliards de vecteurs de 768 dimensions, plus de 35 To) doivent être partiellement mis en cache.
Cela met en lumière l’autre problème que doit gérer l’éditeur. Puisqu’il développe une base de données in-memory, il jongle entre mise en mémoire et stockage sur disque.
En cela, Stephen Catanzano souligne la présence de nouvelles options de stockage. Celles-ci étaient autrefois uniquement présentes depuis la base de données « cœur » d’Aerospike.
Ainsi, les « petits » index – moins d’un million d’enregistrements – sont stockés en mémoire (DRAM), tandis que les plus gros le sont dans un espace de « mémoire hybride », c’est-à-dire des disques Flash NVMe ou des machines dotées de mémoire persistante PMEM (de plus en plus rares, du fait de l’abandon de la technologie Optane par Intel). Et c’est plutôt bienvenu : selon les règles de calcul de l’éditeur, un index comprenant 1 milliard de vecteurs de dimensions « moyennes » (768) occupe 3,5 To sur 8,1 To de données au total.
« Les fonctionnalités les plus importantes de cette mise à jour sont les index durables autoréparables et les configurations de stockage flexibles », note Stephen Catanzano.
S’outiller pour la GenAI en production
Outre les capacités d’indexation et de stockage améliorées, la mise à jour d’Aerospike Vector Search comprend :
- Une amélioration du moteur de base de données multimodèle, intégrant la gestion des documents, clés-valeurs, graphes et recherche vectorielle au sein d’un même système.
- Des clients Python et Java préconfigurés et templates pour accélérer le développement et le déploiement des architectures RAG.
- Des Intégrations avec LangChain et Amazon Bedrock, deux boîtes à outils très populaires en matière d’IA générative.
Stephen Catanzano voit là une mise à jour majeure. « Ensemble, ces fonctionnalités promettent une meilleure évolutivité, une réduction des coûts opérationnels et d’infrastructure pour les systèmes d’IA d’entreprise », estime-t-il.
Selon Naren Narendran, la feuille de route d’Aerospike inclut des améliorations continues en matière de performance et de passage à l’échelle. L’entreprise envisage également de développer des outils complémentaires à la recherche vectorielle pour simplifier le processus de développement de l’IA.
De plus, Stephen Catanzano propose des intégrations avec d’autres frameworks de développement d’IA et de machine learning ainsi que des améliorations des capacités RAG pour mieux alimenter les pipelines d’IA.
Du fait des capacités multimodèle du SGBD, Matt Aslett considère qu’il serait bienvenu pour Aerospike d’accélérer sa prise en charge du modèle d’architecture GraphRAG.
« Alors qu’Aerospike [tente] de se différencier davantage, nous anticipons le fait que les éditeurs mettront davantage l’accent sur la combinaison de ses capacités graphiques et vectorielles pour servir le développement et le déploiement d’applications opérationnelles haute performance intégrant l’IA », prédit l’analyste.