M365Con 2027 – conférence en ligne gratuite · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Résoudre le problème du milliard de vecteurs dans Azure AI Search

Par ·

Explorez les défis techniques propres à la recherche dans des jeux de données massifs à grande échelle. Cet article analyse l’impact de la haute dimensionnalité et des contraintes de mémoire sur les charges de travail d’IA en entreprise.

Traduit automatiquement par IA à partir de l'article original. Lire l'original en anglais

Explorez les défis techniques propres à la recherche dans des jeux de données massifs à grande échelle. Cet article analyse l’impact de la haute dimensionnalité et des contraintes de mémoire sur les charges de travail d’IA en entreprise.

Le problème du milliard de vecteurs dans Azure AI Search

Les défis de la recherche vectorielle à l’échelle du milliard

Vous êtes confronté au problème du milliard de vecteurs lorsque vous devez indexer et parcourir des jeux de données massifs dans le cadre de l’IA en entreprise. La gestion de milliards de vecteurs soulève des défis techniques spécifiques. Vous devez mettre en place des systèmes d’indexation efficace capables de traiter de grands volumes de données sans ralentir. Les mises à jour en temps réel sont importantes, car vous voulez que vos résultats de recherche restent à jour et pertinents. La gestion des incorporations de haute dimension est également essentielle pour obtenir des résultats de recherche précis.

Lorsque vous travaillez avec des jeux de données à l’échelle du milliard, vous rencontrez plusieurs limites :

  • La haute dimensionnalité augmente les coûts de calcul et peut ralentir les performances de recherche.
  • L’écart sémantique entre les représentations vectorielles et le sens réel des données peut entraîner des imprécisions.
  • La gestion des données obsolètes devient difficile, ce qui complique la suppression des informations périmées des index.
  • La qualité des vecteurs dépend du modèle d’incorporation que vous choisissez, lequel influe sur la précision de la recherche.
  • La montée en charge alourdit les besoins en mémoire et peut allonger les temps de recherche.
  • Le problème du démarrage à froid rend difficile la recherche d’éléments nouveaux en l’absence de bonnes représentations vectorielles.
  • L’interprétabilité est faible : il peut être difficile de comprendre pourquoi un résultat de recherche apparaît.

Ces défis font du problème du milliard de vecteurs l’un des plus difficiles de l’IA moderne.

Pourquoi le choix de l’algorithme compte

Votre choix d’algorithme a un impact direct sur la manière dont vous résolvez le problème du milliard de vecteurs. Si vous optez pour un algorithme comme HNSW, vous bénéficiez d’un accès rapide et d’une recherche efficace sur de grands jeux de données. En revanche, il nécessite beaucoup de RAM, ce qui peut faire grimper les coûts. D’autres algorithmes, comme le KNN exhaustif, offrent une grande précision mais exigent bien plus de calcul ; ils conviennent donc mieux aux jeux de données plus petits. Le bon algorithme vous aide à trouver l’équilibre entre vitesse, précision et consommation de ressources. Vous pouvez optimiser les performances de votre application en adaptant l’algorithme à vos besoins. Cette décision détermine votre capacité à gérer des jeux de données massifs et le montant que vous consacrez au matériel.

Présentation d’Azure AI Search

Azure AI Search vous offre une plateforme puissante pour relever le problème du milliard de vecteurs. Vous pouvez prétraiter vos données à l’aide d’outils avancés de nettoyage et d’enrichissement, ce qui améliore la qualité de vos vecteurs avant l’indexation. La plateforme organise vos informations dans une base de données vectorielle conçue pour les tâches de récupération et les besoins de recherche modernes. Vous bénéficiez de fonctionnalités robustes de recherche et de récupération, dont le traitement du langage naturel pour la compréhension sémantique. La sécurité est renforcée grâce au chiffrement et aux contrôles d’accès qui protègent vos données.

Azure AI Search s’intègre sans difficulté aux autres services Microsoft Azure et aux plateformes tierces. Vous pouvez utiliser la recherche hybride, qui combine recherche par mots-clés et recherche vectorielle pour obtenir les meilleurs résultats. Le classement et le réglage de la pertinence vous permettent d’ajuster la présentation des résultats de recherche, ce qui les rend plus utiles pour vos utilisateurs. La plateforme propose également des expériences de recherche intelligentes, comme la saisie semi-automatique et les résultats suggérés. Fondé sur l’infrastructure mondiale d’Azure, Azure AI Search offre l’échelle et la fiabilité dont vous avez besoin pour les jeux de données massifs et les projets de données à grande échelle.

Index basé sur un graphe : HNSW et DiskANN

Graph-Based Index: HNSW and DiskANN

Qu’est-ce que HNSW ?

Vous avez peut-être entendu parler de hnsw, pour *hierarchical navigable small world*. Cet algorithme d’index basé sur un graphe vous permet de trouver rapidement des vecteurs similaires dans de grands jeux de données. Hnsw construit une structure de graphe à plusieurs couches qui relie les points de données de manière à rendre la recherche rapide et précise. Chaque couche du graphe a une densité différente : les couches supérieures comptent peu de nœuds, les couches inférieures en comptent davantage. Cette conception vous permet de commencer la recherche par le haut, puis de descendre en affinant les résultats à chaque niveau. Hnsw est optimisé pour la recherche vectorielle en mémoire : il conserve l’intégralité du graphe dans la RAM. Cette approche offre des résultats à faible latence, mais elle implique aussi une grande quantité de mémoire lorsque votre jeu de données augmente.

Qu’est-ce que DiskANN ?

Diskann est la réponse de Microsoft aux défis de la recherche vectorielle à l’échelle du milliard. Cet index basé sur un graphe adopte une approche hybride qui combine mémoire et stockage SSD. Diskann vous permet de stocker la majeure partie de votre index sur des SSD, nettement moins coûteux que la RAM. Vous ne conservez en mémoire que les données de navigation les plus importantes. Cette conception vous aide à gérer des jeux de données massifs sans coûts matériels élevés. Diskann s’appuie sur l’algorithme de graphe Vamana pour guider votre recherche dans les données. Il utilise également une méthode d’élagage spécifique pour garder le graphe diversifié et efficace. Le diskann de Microsoft alimente Azure AI Search et d’autres services, ce qui en fait une innovation majeure pour l’IA en entreprise.

InnovationDescription
Recherche ANN à haute vitesseL’architecture de Diskann permet une recherche ANN efficace sur SSD, ce qui contribue à réduire les coûts matériels.
Système de mémoire hybrideDiskann utilise une combinaison de DRAM et de SSD pour gérer des milliards de points sur une seule machine.
Stockage économiqueDiskann stocke l’index ANN sur disque, offrant une solution économique pour le traitement de données à haute dimension.

Fonctionnement de HNSW

Construction du graphe

Hnsw construit son index basé sur graphe en créant une hiérarchie de graphes de recherche. Vous commencez avec une structure vide. Le premier vecteur ajouté devient le seul nœud de la couche supérieure. Pour chaque nouveau vecteur, hnsw décide, selon un processus aléatoire, du nombre de couches qu’il doit rejoindre. Le nouveau vecteur se connecte à ses voisins les plus proches dans chaque couche, jusqu’à son maximum attribué. La couche supérieure comporte le moins de nœuds, ce qui en fait un bon point de départ pour la recherche. Les couches inférieures en comptent davantage, ce qui permet des recherches détaillées. Hnsw peut mettre à jour son graphe sans reconstruction complète, de sorte que vous pouvez ajouter de nouvelles données au fil de l’évolution de vos besoins.

Processus de recherche

Lorsque vous effectuez une recherche avec hnsw, vous commencez au niveau de la couche supérieure du graphe. Vous utilisez des liens à longue portée pour vous rapprocher rapidement de la zone où se trouve probablement votre vecteur cible. En descendant d’une couche à l’autre, les connexions deviennent plus denses. Cela vous permet d’affiner la recherche et de vous rapprocher de la meilleure correspondance. Sur la couche la plus basse, hnsw utilise une recherche par faisceau (*beam search*) pour identifier les plus proches voisins. Ce processus offre des résultats rapides et précis, en particulier lorsque l’intégralité du graphe tient en mémoire.

  • Principes de conception de Hnsw :
    • Optimisé pour les opérations en mémoire, avec une faible latence et un rappel élevé.
    • Utilise une structure de graphe à plusieurs couches fondée sur les réseaux à petit monde.
    • Applique une stratégie d’élagage pour supprimer les arêtes redondantes et favoriser la diversité.
    • La recherche consiste à descendre les couches, en partant de liens épars à longue portée et en se terminant par une recherche par faisceau sur la couche de base.

Vous constatez que hnsw et diskann utilisent tous deux un index basé sur un graphe, mais que leurs conceptions répondent à des besoins différents. Hnsw convient le mieux lorsque vous pouvez tout conserver en mémoire. Diskann vous permet de passer à l’échelle du milliard de vecteurs grâce aux SSD, ce qui en fait une solution idéale pour les charges de travail d’entreprise dans Azure AI Search.

Fonctionnement de DiskANN

Architecture hybride mémoire et SSD

Vous découvrez une approche singulière lorsque vous utilisez DiskANN pour la recherche sur un milliard de vecteurs. DiskANN combine mémoire et stockage SSD pour créer une architecture hybride. Cette conception vous permet de stocker la majeure partie de votre index vectoriel sur des SSD, qui coûtent moins cher que la RAM. Vous ne conservez en mémoire que les données de navigation essentielles. Cette méthode vous permet de passer à l’échelle de votre recherche à des milliards de vecteurs sans recourir à du matériel coûteux.

DiskANN repose sur deux techniques principales pour optimiser le stockage et la vitesse :

  • Graphe Vamana : vous utilisez cette structure pour naviguer efficacement dans l’index.
  • Quantification par produit (PQ) : vous compressez les vecteurs en mémoire, ce qui réduit l’utilisation de la RAM.

Vous bénéficiez d’un processus d’exécution de requête en deux phases. Lors de la première phase, DiskANN utilise les vecteurs compressés par PQ en RAM pour identifier rapidement un ensemble de candidats. Vous n’avez pas besoin de lire le disque à cette étape. Lors de la deuxième phase, DiskANN récupère depuis le SSD les vecteurs en pleine précision de cet ensemble de candidats. Vous calculez ensuite les distances exactes afin de trouver les meilleures correspondances. Ce processus vous garantit un rappel élevé et une faible latence, tout en maintenant des besoins en mémoire réduits.

Astuce : l’architecture hybride mémoire et SSD de DiskANN permet une recherche à l’échelle du web sur du matériel standard. Vous pouvez stocker les index vectoriels sur des SSD plutôt qu’en RAM, ce qui rend les applications à grande échelle plus abordables.

Processus de recherche

Une recherche dans DiskANN commence par la navigation dans le graphe Vamana à l’aide de vecteurs compressés en mémoire. Cette étape vous permet de trouver rapidement des candidats prometteurs. Vous évitez les lectures disque à ce stade, ce qui accélère le processus. Une fois l’ensemble de candidats constitué, DiskANN passe à la phase suivante.

Vous récupérez depuis le SSD les vecteurs en pleine précision de chaque candidat. Vous calculez les distances exactes entre votre requête et ces candidats. Ce processus en deux phases garantit des résultats précis sans ralentir votre recherche. Vous obtenez un rappel élevé, car DiskANN examine en détail les meilleurs candidats. Vous conservez également une faible latence, car l’essentiel du travail s’effectue en mémoire.

Le processus de recherche de DiskANN convient particulièrement aux jeux de données massifs. Vous pouvez traiter des milliards de vecteurs sans disposer de quantités importantes de RAM. Vous obtenez des résultats rapides et fiables, même lorsque vos données augmentent. Cela fait de DiskANN un choix solide pour les charges de travail d’IA en entreprise dans Azure AI Search.

ÉtapeCe que vous faitesAvantage
Phase 1 : navigationUtiliser les vecteurs compressés par PQ en RAM pour trouver les candidatsRecherche rapide, sans lecture disque
Phase 2 : affinageRécupérer les vecteurs en pleine précision depuis le SSD et calculer les distancesRappel élevé, faible latence

Vous constatez que l’architecture hybride de DiskANN et son processus de recherche vous aident à résoudre efficacement le problème du milliard de vecteurs. Vous pouvez faire évoluer votre recherche, réduire vos coûts et maintenir les performances à mesure que vos données s’étendent.

Forces et faiblesses

Avantages et inconvénients de HNSW

Vous choisissez souvent hnsw pour la recherche vectorielle, car il offre une vitesse de recherche à l’état de l’art et un rappel élevé. Lorsque vous le réglez correctement, vous obtenez des résultats rapides et des correspondances précises. Vous gérez bien les données vectorielles à haute dimension, ce qui est essentiel pour les charges de travail d’IA modernes. Vous profitez également des ajouts incrémentiels, ce qui vous permet de mettre à jour votre index sans tout reconstruire.

ForcesFaiblesses
Vitesse de recherche à l’état de l’art et rappel élevé lorsqu’il est correctement réglé.Consommation mémoire élevée, car chaque vecteur nécessite le stockage de ses liens dans le graphe.
Gère bien les données à haute dimension.Durée de construction de l’index importante avec des paramètres de construction de haute qualité.
Prend efficacement en charge les ajouts incrémentiels.La suppression complexe d’éléments peut dégrader les performances au fil du temps.

Vous faites évoluer hnsw efficacement, car sa construction d’index a une complexité en O(N log N). La construction parallèle vous permet d’exploiter les processeurs multicœurs, ce qui accélère le processus. L’utilisation de la mémoire croît linéairement avec la taille du jeu de données, ce qui vous permet d’anticiper les besoins de stockage. En revanche, vous devez conserver l’intégralité du graphe en RAM, ce qui limite la scalabilité pour les jeux de données à un milliard de vecteurs.

Avantages et inconvénients de DiskANN

Vous vous tournez vers DiskANN lorsque vous devez faire évoluer la recherche vectorielle au-delà de ce que la RAM peut supporter. DiskANN optimise l’utilisation des SSD, ce qui réduit les coûts matériels et vous permet de gérer des jeux de données massifs. Vous obtenez une précision élevée et une faible latence en combinant les recherches en mémoire avec des lectures SSD par lots. DiskANN prend en charge les mises à jour en temps réel et la recherche hybride, ce qui vous permet de filtrer et de récupérer efficacement les vecteurs.

Tenez compte de ces points concernant DiskANN :

  • Une évolutivité économique grâce à l’utilisation de SSD au lieu de la RAM.
  • Précision élevée et faible latence à grande échelle grâce aux recherches en mémoire et aux lectures SSD.
  • Mises à jour en temps réel et recherche hybride combinant vecteurs et récupération filtrée.
  • Des temps de construction longs, car la construction du graphe Vamana est très coûteuse en calcul.
  • Les performances dépendent du débit et de la latence des SSD.
  • Les mises à jour coûtent plus cher que dans des structures en mémoire comme hnsw.
  • L’implémentation et le réglage exigent une optimisation rigoureuse.

Vous bénéficiez de la capacité de diskann à gérer des vecteurs quantifiés, ce qui permet de compresser les données et d’améliorer la recherche économe en mémoire. Vous pouvez utiliser diskann pour des charges de travail portant sur un milliard de vecteurs sans craindre les limites de la RAM.

Efficacité de la mémoire et du stockage

Vous devez prendre en compte l’efficacité de la mémoire et du stockage lorsque vous choisissez entre hnsw et diskann pour la récupération vectorielle. Hnsw convient parfaitement aux jeux de données qui tiennent dans la RAM de votre serveur. Vous bénéficiez d’un accès rapide et de hautes performances, mais vous ne pouvez pas dépasser les limites de votre mémoire. Diskann vous permet d’étendre la taille de vos jeux de données jusqu’à la capacité du disque, au prix d’une certaine perte de vitesse. Vous stockez la majeure partie de votre index sur des SSD, ce qui fait de diskann une solution idéale pour les jeux de données vectoriels volumineux.

FonctionnalitéHNSWDiskANN
Efficacité de la mémoireTrès efficace pour les jeux de données qui tiennent dans le cache (RAM) du serveur.Conçu pour les jeux de données trop volumineux pour tenir dans la RAM.
Efficacité du stockageLimitée par la quantité de RAM disponible.Étend la taille des jeux de données jusqu’à la capacité du disque, au prix d’une certaine perte de vitesse.
Optimisation des performancesTire parti d’un accès rapide à la mémoire pour gagner en vitesse.Réduit au minimum les pénalités de performance liées à un stockage disque plus lent.
Adéquation aux jeux de donnéesAdapté aux jeux de données qui tiennent dans la RAM.Adapté aux jeux de données massifs dépassant la capacité de la RAM.

Vous utilisez des vecteurs quantifiés dans hnsw comme dans diskann pour réduire les besoins de stockage et accélérer la récupération. L’architecture hybride de diskann vous permet de faire évoluer votre recherche vectorielle tout en maîtrisant les coûts. Vous obtenez une recherche économe en mémoire pour les tâches de récupération à grande échelle, en particulier lorsque vous travaillez avec des vecteurs quantifiés et un stockage SSD.

Comparaison des algorithmes de recherche vectorielle

Vector Search Algorithm Comparison

Performances à grande échelle

Vous devez mesurer les performances d’un algorithme de recherche vectorielle à mesure que votre jeu de données grandit. HNSW et DiskANN visent tous deux un rappel et une vitesse élevés, mais leurs stratégies diffèrent. HNSW repose sur des graphes en mémoire, ce qui vous garantit une recherche rapide du plus proche voisin tant que vos vecteurs tiennent dans la RAM. DiskANN utilise une approche hybride mémoire et SSD, ce qui vous permet de faire évoluer les performances de recherche sans vous heurter aux limites de la mémoire.

Lorsque vous exécutez une recherche du plus proche voisin sur des millions de vecteurs, HNSW offre une récupération très rapide et une faible latence. Vous pouvez régler les paramètres pour privilégier le rappel ou la vitesse. DiskANN maintient un rappel et une vitesse élevés même lorsque votre jeu de données s’étend. Vous stockez la majeure partie de votre index sur des SSD, ce qui vous permet de gérer des milliards de vecteurs. Vous utilisez une recherche en deux étapes pour équilibrer vitesse et précision : la première étape identifie les candidats en mémoire, la seconde affine les résultats à l’aide des SSD.

Vous obtenez un rappel et une vitesse élevés avec les deux algorithmes, mais DiskANN vous permet de dépasser les limites de la RAM pour vos performances de recherche.

Scalabilité pour des milliards de vecteurs

Vous rencontrez de nouveaux défis lorsque votre jeu de données passe de quelques millions à des milliards de vecteurs. HNSW convient jusqu’à 50 millions de vecteurs. Vous utilisez HNSW comme algorithme de recherche vectorielle par défaut et réglez les paramètres pour privilégier le rappel. Lorsque vous atteignez 50 à 500 millions de vecteurs, vous mettez en place le partitionnement (sharding) et la quantification scalaire. Vous pouvez recourir à une récupération en deux phases pour gagner en efficacité. Pour les jeux de données de plus de 500 millions de vecteurs, vous avez besoin d’une récupération hiérarchique et d’architectures multi-niveaux. Vous appliquez une quantification agressive aux données froides.

Plage du nombre de vecteursStratégie HNSW
1-50MUtilisez HNSW comme algorithme par défaut, veillez à ce que les vecteurs tiennent dans la RAM et réglez les paramètres pour privilégier le rappel.
50-500MMettez en place le partitionnement (sharding), activez la quantification scalaire et envisagez une récupération en deux phases pour gagner en efficacité.
500M+Utilisez une récupération hiérarchique, des architectures multi-niveaux et une quantification agressive pour les données froides.

DiskANN change la donne pour la recherche vectorielle à l’échelle du milliard. Vous stockez la majeure partie de votre index sur des SSD, si bien que vous n’avez pas à craindre les limites de la RAM. Vous utilisez la quantification de produit pour compresser les vecteurs et conservez les données de navigation en mémoire. Vous faites évoluer votre recherche du plus proche voisin à des milliards de vecteurs sans sacrifier les performances. DiskANN prend en charge la recherche approximative fondée sur le clustering et la récupération hybride, ce qui vous aide à gérer des jeux de données massifs.

DiskANN vous permet de faire évoluer votre algorithme de recherche vectorielle jusqu’à des milliards de vecteurs, ce qui en fait une solution idéale pour les charges de travail d’entreprise.

Latence des requêtes et débit

La latence des requêtes et le débit sont des critères essentiels lorsque vous exécutez une recherche vectorielle à grande échelle. HNSW offre une faible latence pour la recherche du plus proche voisin, car il conserve l’intégralité du graphe en mémoire. Vous obtenez des réponses rapides et un débit élevé pour des jeux de données qui tiennent dans la RAM. Lorsque votre jeu de données augmente, la latence s’accroît, car vous devez alors fragmenter les données ou recourir à des architectures multiniveaux.

DiskANN repose sur un processus de recherche en deux étapes. Vous recherchez d’abord les vecteurs compressés en mémoire, ce qui permet une sélection rapide des candidats. Vous affinez ensuite votre requête en récupérant les vecteurs en pleine précision depuis les SSD. Cette approche maintient une latence faible et un débit élevé, même pour des jeux de données à l’échelle du milliard. Vous optimisez la récupération en regroupant les lectures sur SSD et en utilisant des structures de navigation efficaces.

Avec DiskANN, vous obtenez un rappel et une vitesse élevés, même lorsque le volume de requêtes augmente. Vous n’avez pas à vous soucier des limites de mémoire : vous pouvez ainsi faire évoluer les performances de recherche pour vos applications d’entreprise.

Avec DiskANN, vous obtenez une latence et un débit de requêtes fiables, ce qui en fait un choix pertinent pour la recherche du plus proche voisin à grande échelle.

Impact sur les coûts et les ressources

Vous devez tenir compte de l’impact sur les coûts et les ressources lorsque vous choisissez un algorithme de recherche vectorielle pour Azure AI Search. La manière dont chaque algorithme utilise la mémoire et le stockage influence votre budget et votre capacité à passer à l’échelle.

DiskANN se distingue pour les charges de travail portant sur des milliards de vecteurs. Vous pouvez stocker la majeure partie de votre index sur des SSD, dont le coût est inférieur à celui de la RAM. Cette conception vous permet de passer de quelques milliers à plusieurs milliards de vecteurs sans augmentation importante des coûts de mémoire. DiskANN convient bien aux charges de travail d’IA en production, car il exploite efficacement les SSD et ne conserve en mémoire que les données les plus importantes.

HNSW convient le mieux aux jeux de données de taille moyenne. Vous devez conserver l’intégralité de l’index en RAM, ce qui limite votre capacité de montée en charge. Si votre jeu de données devient trop volumineux, vos coûts d’exploitation peuvent vite grimper. HNSW est également limité à 2 000 dimensions, ce qui peut restreindre vos cas d’usage.

Type d’indexAdapté aux charges de travail à un milliard de vecteursBesoins en mémoireCoûts d’exploitation
DiskANNOui, conçu pour les performances des SSDÉvolue de quelques milliers à des milliards de vecteursRecommandé pour les charges de travail d’IA en production
HNSWNon, adapté aux jeux de données de taille moyenneNécessite que l’index tienne en RAMLimité à 2 000 dimensions

Astuce : si vous souhaitez maîtriser vos coûts et faire évoluer votre recherche jusqu’à des milliards de vecteurs, DiskANN vous offre un avantage net. Vous pouvez utiliser des SSD abordables et limiter vos besoins en mémoire.

Cas d’usage concrets

La valeur de ces algorithmes apparaît clairement dans des applications concrètes. De nombreuses organisations utilisent DiskANN et HNSW pour différents types de problèmes de recherche vectorielle.

  • Vous pouvez recourir à une méthode hybride économique pour la recherche approximative du plus proche voisin. Cette approche combine le stockage sur SSD et des structures de graphe en mémoire.
  • Vous pouvez déployer DiskANN pour des jeux de données statiques, comme les corpus de recherche, dont les données changent peu souvent.
  • Vous pouvez choisir DiskANN pour des déploiements sensibles aux coûts. Il convient bien aux applications à l’échelle du milliard lorsque vous devez maîtriser les dépenses.
  • Vous pouvez utiliser DiskANN pour des requêtes tolérant une latence inférieure à 10 millisecondes. Cette rapidité suffit pour de nombreuses tâches de recherche en entreprise.
  • Vous pouvez combiner HNSW avec des fichiers inversés sur disque (HNSW-IF) pour la recherche hybride. Cette méthode offre un rappel élevé tout en maintenant une latence faible.
Cas d’usageDescription
Jeux de données statiquesIdéal pour les corpus de recherche dont les données changent peu souvent.
Déploiements sensibles aux coûtsConvient aux applications à l’échelle du milliard lorsque le coût est un enjeu.
Requêtes tolérant la latenceConvient bien aux requêtes tolérant une latence inférieure à 10 ms.

Remarque : de nombreuses organisations atteignent un rappel de 90 % avec une latence de 10 ms grâce à des méthodes hybrides. Ces performances répondent aux besoins de la plupart des applications de recherche IA en entreprise.

Vous pouvez adapter le choix de votre algorithme à votre charge de travail. Si vous devez faire évoluer vos volumes, maîtriser les coûts et maintenir une latence faible, DiskANN vous offre la souplesse et l’efficacité nécessaires.

Quand utiliser HNSW ou DiskANN

Choisir le bon algorithme pour votre charge de travail Azure AI Search peut faire une grande différence en termes de vitesse, de coût et de précision. Il faut examiner vos données, votre matériel et la fréquence de mise à jour de vos données. Décomposons les principaux critères de décision afin que vous puissiez choisir le meilleur outil pour vos besoins de recherche vectorielle.

Critères de décision

Taille du jeu de données

Commencez toujours par examiner la taille de votre jeu de données. Si vous travaillez avec des millions de vecteurs, hnsw offre une recherche rapide et précise. Il fonctionne au mieux lorsque vos données tiennent en mémoire. Lorsque votre jeu de données atteint des milliards de vecteurs, diskann devient le meilleur choix. Il utilise des SSD pour stocker la majeure partie de l’index, si bien que vous n’avez pas à craindre de manquer de RAM.

CritèreHNSWDiskANN
Taille du jeu de donnéesAdapté à des millions de vecteursExcelle avec des milliards de vecteurs

On constate que hnsw convient aux charges de travail plus modestes, tandis que diskann gère des jeux de données massifs sans ralentissement.

Matériel et coût

Votre matériel et votre budget jouent également un rôle important. Hnsw nécessite beaucoup de RAM, car il conserve l’intégralité du graphe en mémoire. Cela peut vite devenir coûteux à mesure que votre base de données vectorielle grandit. Diskann vous permet de réaliser des économies en stockant la majeure partie de l’index sur des SSD, dont le coût est inférieur à celui de la RAM. Vous n’avez besoin que de suffisamment de mémoire pour la partie navigation de l’index.

CritèreHNSWDiskANN
InfrastructureBesoins en RAMRéduit les coûts de mémoire

Si vous souhaitez maîtriser vos coûts tout en effectuant des recherches parmi des milliards de vecteurs, diskann vous offre un avantage net.

Besoins en latence

Réfléchissez à la rapidité avec laquelle vous avez besoin de vos résultats de recherche. Hnsw offre une latence très faible, car la recherche s’effectue en mémoire. Vous pouvez obtenir des résultats en quelques millisecondes si vos données tiennent en RAM. Diskann trouve un équilibre entre vitesse et capacité de montée en charge. Il utilise un processus de recherche en deux étapes, ce qui vous garantit des résultats rapides même avec des jeux de données très volumineux. Pour la plupart des applications d’entreprise, diskann maintient les temps de requête sous les 10 millisecondes.

  • Hnsw convient le mieux aux charges de travail où chaque milliseconde compte.
  • Diskann convient parfaitement lorsque vous devez rechercher rapidement dans de grands jeux de données et que vous pouvez accepter une légère hausse de la latence.

Schéma de mise à jour

La fréquence de modification de vos données influe sur votre choix. Hnsw fonctionne bien avec des données statiques ou qui évoluent lentement. Si vous mettez souvent à jour vos vecteurs, il peut être nécessaire de reconstruire l’index, ce qui prend du temps. Diskann s’adapte mieux aux mises à jour fréquentes. Il conserve une précision et un rappel stables, même lorsque vous ajoutez ou modifiez fréquemment des vecteurs.

FonctionnalitéHNSWDiskANN
Latence de mise à jourNécessite la reconstruction complète de l’indexS’adapte efficacement aux modifications
RappelÉlevé, mais affecté par les modificationsPrécision stable malgré des mutations fréquentes

Si votre application doit gérer de nombreuses mises à jour, diskann vous offre davantage de souplesse.

Scénarios d’exemple

Des scénarios concrets peuvent vous aider à déterminer l’algorithme qui correspond à vos besoins.

MétriqueHNSWDiskANN
Rappel moyen0.60.7
Précision de bout en bout0.9720.933
Robustesse-0,2@100.9980.984
Robustesse-0,90.840.81
  • Hnsw offre un rappel élevé et un débit de requêtes rapide. Sur des jeux de données comme SIFT1M, vous pouvez atteindre environ 95 % de rappel à 10 en seulement 1 à 2 millisecondes par requête sur un CPU.
  • Diskann présente un rappel moyen plus élevé, ce qui signifie qu’il trouve davantage de correspondances réelles dans les grands jeux de données. Il maintient une précision élevée à mesure que vos données augmentent.
  • Hnsw convient le mieux aux systèmes de recommandation ou aux moteurs de recherche où vous avez besoin d’une précision et d’une vitesse optimales.
  • Diskann convient à la recherche à grande échelle, par exemple la recherche parmi des milliards d’images de produits ou de documents, lorsque vous devez concilier vitesse, coût et capacité de montée en charge.

Hnsw se distingue pour les charges de travail qui exigent la recherche la plus rapide possible sur des jeux de données plus modestes. Diskann brille lorsque vous devez parcourir d’énormes volumes de données sans dépasser votre budget.

Migration et approches hybrides

Vous n’êtes pas obligé de choisir un seul algorithme pour toutes les situations. De nombreuses organisations commencent avec hnsw pour les jeux de données plus petits. À mesure que leur base de données vectorielle grandit, elles passent à diskann pour gérer davantage de données et maîtriser leurs coûts. Vous pouvez également adopter une approche hybride. Par exemple, vous pouvez conserver en mémoire vos vecteurs les plus consultés ou les plus récents avec hnsw, tout en stockant les vecteurs plus anciens ou moins utilisés sur des SSD avec diskann.

  • Commencez avec hnsw pour le prototypage rapide et les charges de travail réduites.
  • Migrez vers diskann lorsque votre jeu de données dépasse les limites de la mémoire.
  • Combinez les deux méthodes pour obtenir le meilleur équilibre entre vitesse et capacité de montée en charge.

Astuce : revoyez régulièrement votre charge de travail. À mesure que vos données et vos besoins évoluent, vous pouvez ajuster votre approche pour obtenir les meilleures performances et la meilleure valeur.

En tenant compte de la taille de votre jeu de données, de votre matériel, de vos exigences de latence et de la fréquence de mise à jour, vous pouvez faire un choix éclairé entre hnsw et diskann. Vous obtenez ainsi un système de recherche vectorielle adapté à vos objectifs et capable d’évoluer avec votre activité.

Bonnes pratiques pour la recherche vectorielle dans Azure

Conseils de configuration des index

Vous pouvez obtenir de hautes performances dans Azure AI Search en suivant quelques conseils de configuration essentiels. Commencez par vous assurer que la taille de votre index tient dans une seule unité de recherche vectorielle. Cela vous aide à garder une recherche rapide et fiable. Essayez de réduire au minimum la taille de vos embeddings. Des embeddings plus petits améliorent les temps de requête et augmentent le nombre de requêtes par seconde. Utilisez des requêtes Approximate Nearest Neighbor pour gagner en efficacité : elles accélèrent la recherche sans sacrifier beaucoup de précision.

Limitez le nombre de résultats par requête entre 10 et 100. Cette plage réduit la latence et préserve la réactivité de votre recherche. Évitez d’utiliser en production des points de terminaison de modèle qui se réduisent à zéro. Les démarrages à froid peuvent ralentir votre recherche et frustrer vos utilisateurs. Anticipez les pics de requêtes afin que votre système puisse absorber les hausses soudaines du trafic de recherche. Utilisez des principaux de service avec des jetons OAuth pour une authentification sécurisée et efficace. Utilisez toujours la dernière version du SDK Python afin de profiter des améliorations de performances. Si vous avez besoin d’un débit plus élevé, augmentez la capacité de votre point de terminaison ou répartissez la charge sur plusieurs points de terminaison.

Astuce : un index bien configuré est le fondement d’une recherche vectorielle optimisée dans Azure.

Surveillance et optimisation

Vous devez surveiller et optimiser votre système de recherche pour maintenir de hautes performances, en particulier avec des charges de travail à l’échelle du milliard de vecteurs. Le tableau ci-dessous présente quelques techniques efficaces :

TechniqueDescription
Index multiniveauxUtilisez des index rapides pour les données fréquemment consultées et compressez les données froides pour économiser de l’espace.
Contrôle du fan-outGérez les interactions entre shards et clusters pour réduire le nombre de sauts réseau.
QuantificationRéduisez la taille des vecteurs avec des méthodes comme IVF-PQ pour respecter les limites de mémoire.
Réglage des centroïdesAjustez le nombre de centroïdes pour trouver le bon équilibre entre rappel et surcharge.
Calcul de distance asymétriqueAccélérez la recherche en comparant des requêtes en pleine précision à des vecteurs compressés.
Routage intentionnel des requêtesUtilisez les métadonnées et le clustering pour éviter les diffusions inutiles pendant la recherche.
Réduire la charge utile du réseauNe transférez entre les nœuds que les identifiants et les scores, et non les vecteurs complets.
Agrégation hiérarchiqueAgrégez les résultats localement pour réduire la coordination et stabiliser la latence.
Prédominance de la mémoireAssurez-vous que les vecteurs tiennent en mémoire pour obtenir les meilleures performances de recherche.
Utilisation ponctuelle des GPUUtilisez des GPU pour l’indexation si nécessaire, mais vérifiez qu’ils améliorent réellement le débit de votre recherche.
Qualité du réseauSurveillez les conditions réseau, car elles influencent la latence de recherche.

Remarque : une surveillance régulière vous permet de repérer les problèmes tôt et de maintenir le bon fonctionnement de votre recherche.

Pièges courants

Vous pouvez rencontrer certains pièges courants lors de la mise en place ou de la montée en charge de votre système de recherche dans Azure. Une erreur fréquente consiste à laisser votre index dépasser la capacité d’une seule unité de recherche. Cela peut ralentir vos requêtes et rendre votre recherche moins fiable. Utiliser des embeddings volumineux peut également nuire aux performances. Gardez toujours vos embeddings aussi petits que possible pour votre cas d’usage.

Un autre piège consiste à ignorer les pics de requêtes. Si vous ne prévoyez pas de hausses soudaines du trafic de recherche, votre système risque de défaillir sous la pression. S’appuyer sur des points de terminaison qui se réduisent à zéro peut provoquer des délais de démarrage à froid, qui ralentissent la recherche. Ne pas mettre à jour votre SDK ou ne pas utiliser de jetons OAuth peut entraîner des risques de sécurité et faire passer à côté de gains de performances.

À retenir : évitez ces pièges pour que votre recherche reste rapide, sécurisée et fiable.

En suivant ces bonnes pratiques, vous pouvez bâtir une expérience de recherche robuste et efficace dans Azure. Vous traiterez de grands jeux de données sans difficulté et fournirez à vos utilisateurs des résultats rapides et précis.


Vous résolvez le problème du milliard de vecteurs dans Azure AI Search en choisissant l’algorithme adapté à vos besoins. DiskANN offre une évolutivité économique pour des jeux de données massifs, tandis que HNSW fournit des résultats rapides pour des charges de travail plus modestes. Vous adaptez votre algorithme à votre charge de travail, à votre volume et à votre budget. Le tableau ci-dessous vous aide à sélectionner le point de terminaison le plus adapté :

Type de SKUCas d’utilisation et description
Points de terminaison standardIdéal pour les besoins de latence critiques, avec des index comptant moins de 320 M de vecteurs.
Points de terminaison optimisés pour le stockageIdéal pour plus de 10 M de vecteurs, lorsqu’une certaine latence est tolérable et que la rentabilité est essentielle.
  • Estimez vos besoins de stockage en effectuant des tests avec quelques documents.
  • Prévoyez les mises à jour et le volume total de contenu.

Azure AI Search vous offre de la souplesse et prend en charge les innovations de Microsoft pour l’IA en entreprise.

Questions fréquentes

Quelle est la principale différence entre HNSW et DiskANN ?

HNSW sert à la recherche vectorielle en mémoire. DiskANN vous permet de stocker la majeure partie de votre index sur des SSD. Cela fait de DiskANN la solution la mieux adaptée aux milliards de vecteurs, sans coûts de mémoire élevés.

DiskANN peut-il être utilisé pour des applications en temps réel ?

Oui. DiskANN offre une recherche à faible latence, souvent inférieure à 10 millisecondes. Vous pouvez l’utiliser pour des tâches de recherche IA en temps réel, même avec de très grands jeux de données.

Comment décider quel algorithme utiliser dans Azure AI Search ?

Vous choisissez HNSW pour les jeux de données plus petits qui tiennent dans la RAM. Vous optez pour DiskANN pour les jeux de données massifs qui nécessitent une mise à l’échelle économique. Tenez compte de la taille de vos données, de votre matériel et de vos besoins en latence.

DiskANN nécessite-t-il un matériel spécifique ?

Non. Vous pouvez exécuter DiskANN sur des serveurs standard équipés de SSD. Il n’est pas nécessaire de disposer de machines coûteuses à forte capacité de mémoire. Cela facilite la mise à l’échelle et la rend plus abordable.

Comment Azure AI Search protège-t-il vos données ?

Azure AI Search utilise le chiffrement et des contrôles d’accès. Vous contrôlez qui peut accéder à vos données. Les fonctionnalités de sécurité de Microsoft vous aident à protéger les informations sensibles.

Peut-on mettre à jour son index vectoriel sans interruption de service ?

Vous pouvez mettre à jour les index HNSW comme les index DiskANN. DiskANN prend en charge des mises à jour efficaces pour les grands jeux de données. Vous gardez vos résultats de recherche à jour sans mettre votre système hors ligne.

Quelles sont les bonnes pratiques pour optimiser les performances de la recherche vectorielle ?

Utilisez des embeddings de plus petite taille, conservez votre index dans une seule unité de recherche et surveillez la latence des requêtes. Mettez toujours à jour votre SDK et anticipez les pics de requêtes pour maintenir des performances élevées.


🎧 Écoutez cet épisode

Vous souhaitez une explication concrète de HNSW vs DiskANN for Vector Search in Azure AI Search ? Cet épisode présente le sujet en termes clairs et montre pourquoi il compte pour Microsoft 365, Azure, Power Platform, la sécurité, l’IA et le travail moderne.

Écoutez cet épisode si vous souhaitez :

  • Comprendre les concepts clés de HNSW vs DiskANN for Vector Search in Azure AI Search
  • Voir comment cela s’inscrit dans l’écosystème technologique plus large de Microsoft
  • Découvrir la valeur concrète que cela peut apporter à votre organisation

Vous pourriez aussi apprécier ces épisodes connexes de M365 FM :

Découvrez davantage de conversations pratiques sur Microsoft sur M365 FM.

Dernière révision : juillet 2026.

À qui s’adresse cet épisode

Cet épisode s’adresse aux administrateurs, architectes, développeurs et professionnels de la sécurité Microsoft, ainsi qu’aux décideurs métier, qui ont besoin de bases pratiques avant de prendre des décisions d’implémentation, d’exploitation ou de gouvernance.

🎧 Écoutez également

Entités dans cet article

DiskANN Azure AI Search Vector search Hybrid search Microsoft Azure Cold start Embeddings Semantic model

Articles associés

RSS