M365Con 2027 – conferenza online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Conquistare il problema del miliardo di vettori in Azure AI Search

By ·

Benvenuto nel nostro approfondimento su una delle sfide più urgenti dell'intelligenza artificiale aziendale moderna: scalare la ricerca vettoriale a miliardi di record. Se hai lavorato con sistemi di retrieval-augmented generation (RAG), motori di ricerca semantica o assistenti basati sull'AI, probabilmente hai visto con i tuoi occhi la velocità con cui i dati si accumulano. Quando le organizzazio

Automatically translated with AI from the original post. Read the English original

Benvenuto nel nostro approfondimento su una delle sfide più urgenti dell'intelligenza artificiale aziendale moderna: scalare la ricerca vettoriale a miliardi di record. Se hai lavorato con sistemi di retrieval-augmented generation (RAG), motori di ricerca semantica o assistenti basati sull'AI, probabilmente hai visto con i tuoi occhi la velocità con cui i dati si accumulano. Quando le organizzazioni acquisiscono milioni, a volte miliardi, di documenti, immagini e interazioni degli utenti, le architetture di ricerca tradizionali iniziano a cedere sotto la pressione. Per questo comprendere i meccanismi dell'indicizzazione vettoriale su scala di miliardi non è più un'opzione per architetti e sviluppatori: è essenziale per restare competitivi.

In questo articolo completo analizzeremo gli ostacoli tecnici degli spazi vettoriali ad alta dimensionalità, metteremo a confronto due tra gli algoritmi di indicizzazione basati su grafo più diffusi del settore, Hierarchical Navigable Small World (HNSW) e DiskANN di Microsoft, e vedremo come Azure AI Search ti permette di gestire questi carichi di lavoro in modo efficiente. Che tu stia regolando i parametri di memoria, cercando di contenere i costi dell'infrastruttura hardware o di massimizzare il recall della ricerca, questa guida ti fornirà la tabella di marcia tecnica di cui hai bisogno. Per un'analisi in formato audio di questi concetti, non perdere l'episodio del podcast correlato HNSW vs DiskANN for Vector Search in Azure AI Search su M365 FM.

Il problema del miliardo di vettori in Azure AI Search

Sfide della ricerca vettoriale su scala di miliardi

Ti trovi di fronte al problema del miliardo di vettori quando devi indicizzare e cercare in dataset enormi nell'AI aziendale. Gestire miliardi di vettori porta con sé sfide tecniche specifiche. Devi costruire sistemi di indicizzazione efficienti, in grado di elaborare grandi volumi di dati senza rallentare. Gli aggiornamenti in tempo reale sono importanti perché vuoi che i risultati di ricerca restino aggiornati e pertinenti. Anche gestire embedding ad alta dimensionalità è essenziale per ottenere risultati accurati.

Quando lavori con dataset su scala di miliardi, incontri diverse limitazioni:

  • L'alta dimensionalità aumenta i costi di calcolo e può rallentare le prestazioni di ricerca.
  • Il divario semantico tra le rappresentazioni vettoriali e il significato reale può causare imprecisioni.
  • La garbage collection diventa difficile, rendendo complicato rimuovere dagli indici le informazioni obsolete.
  • La qualità dei vettori dipende dal modello di embedding che scegli, e questo incide sull'accuratezza della ricerca.
  • La scalabilità mette sotto pressione i requisiti di memoria e può aumentare i tempi di ricerca.
  • Il problema del cold start rende difficile cercare nuovi elementi in assenza di buone rappresentazioni vettoriali.
  • L'interpretabilità è bassa, quindi capire perché un risultato compare può essere difficile.

Queste sfide rendono il problema del miliardo di vettori uno dei più ardui dell'AI moderna.

Perché la scelta dell'algoritmo conta

La scelta dell'algoritmo influisce direttamente su come affronti il problema del miliardo di vettori. Se scegli un algoritmo come HNSW, ottieni accessi rapidi e ricerche efficienti su dataset di grandi dimensioni. Tuttavia, richiede molta RAM, e questo può far salire i costi. Altri algoritmi, come il KNN esaustivo, offrono un'elevata accuratezza ma richiedono molto più calcolo, il che li rende più adatti a dataset più piccoli. L'algoritmo giusto ti aiuta a bilanciare velocità, accuratezza e uso delle risorse. Puoi ottimizzare le prestazioni per la tua applicazione specifica scegliendo l'algoritmo in base alle tue esigenze. Questa decisione determina quanto bene gestisci dataset enormi e quanto spendi in hardware.

Panoramica di Azure AI Search

Azure AI Search ti offre una piattaforma potente per affrontare il problema del miliardo di vettori. Puoi preelaborare i dati con strumenti avanzati di pulizia e arricchimento, migliorando la qualità dei vettori prima dell'indicizzazione. La piattaforma organizza le informazioni in un database vettoriale pensato per le attività di retrieval e per le moderne esigenze di ricerca. Ottieni funzionalità di ricerca e recupero robuste, tra cui l'elaborazione del linguaggio naturale per la comprensione semantica. La sicurezza è solida, con crittografia e controlli di accesso a proteggere i tuoi dati.

Azure AI Search si integra senza problemi con altri servizi di Microsoft Azure e con piattaforme di terze parti. Puoi usare la ricerca ibrida, che combina la ricerca per parole chiave e quella vettoriale per ottenere i risultati migliori. La classificazione e la messa a punto della pertinenza ti permettono di regolare la visualizzazione dei risultati di ricerca, rendendoli più utili per i tuoi utenti. La piattaforma offre anche esperienze di ricerca intelligenti, come il completamento automatico e i risultati suggeriti. Basato sull'infrastruttura globale di Azure, Azure AI Search garantisce la scalabilità e l'affidabilità necessarie per dataset enormi e progetti di dati su larga scala.

Indice basato su grafo: HNSW e DiskANN

Graph-Based Index: HNSW and DiskANN

Cos'è HNSW

Forse hai già sentito parlare di HNSW, acronimo di hierarchical navigable small world. Questo algoritmo di indicizzazione basato su grafo ti aiuta a trovare rapidamente vettori simili in dataset di grandi dimensioni. HNSW costruisce una struttura a grafo su più livelli che collega i punti dati in modo da rendere la ricerca veloce e accurata. Ogni livello del grafo ha una densità diversa: i livelli superiori hanno meno nodi, quelli inferiori ne hanno di più. Questa struttura ti permette di iniziare la ricerca dall'alto e scendere di livello, restringendo i risultati man mano che procedi. HNSW è ottimizzato per la ricerca vettoriale in memoria, quindi mantiene l'intero grafo in RAM. Questo approccio garantisce risultati a bassa latenza, ma significa anche che serve molta memoria quando il dataset cresce.

Cos'è DiskANN

DiskANN è la risposta di Microsoft alle sfide della ricerca vettoriale su scala di miliardi di elementi. Questo indice basato su grafo usa un approccio ibrido che combina memoria e archiviazione SSD. DiskANN ti permette di memorizzare la maggior parte dell'indice sugli SSD, che costano molto meno della RAM. In memoria mantieni solo i dati di navigazione più importanti. Questa architettura ti aiuta a gestire dataset enormi senza costi hardware elevati. DiskANN utilizza l'algoritmo a grafo Vamana per guidare la ricerca nei dati. Impiega inoltre un metodo di potatura speciale per mantenere il grafo diversificato ed efficiente. DiskANN alimenta Azure AI Search e altri servizi di Microsoft, e rappresenta quindi un'innovazione chiave per l'AI aziendale.

InnovazioneDescrizione
Ricerca ANN ad alta velocitàL'architettura di DiskANN consente una ricerca ANN efficiente sugli SSD, il che contribuisce a ridurre i costi hardware.
Sistema di memoria ibridoDiskANN combina DRAM e SSD per gestire miliardi di punti su una singola macchina.
Archiviazione economicaDiskANN memorizza l'indice ANN su disco, offrendo una soluzione economica per la gestione di dati ad alta dimensionalità.

Come funziona HNSW

Costruzione del grafo

HNSW costruisce il proprio indice basato su grafo creando una gerarchia di grafi di ricerca. Si parte da una struttura vuota. Il primo vettore aggiunto diventa l'unico nodo del livello superiore. Per ogni nuovo vettore, HNSW decide con un processo casuale a quanti livelli deve appartenere. Il nuovo vettore si collega ai vicini più prossimi in ciascun livello, fino al massimo assegnato. Il livello superiore ha il minor numero di nodi, il che lo rende un buon punto di partenza per la ricerca. I livelli inferiori hanno più nodi, e consentono ricerche più dettagliate. HNSW può aggiornare il grafo senza una ricostruzione completa, quindi puoi aggiungere nuovi dati man mano che le esigenze crescono.

Processo di ricerca

Quando esegui una ricerca con HNSW, parti dal livello superiore del grafo. Usi collegamenti a lunga distanza per avvicinarti rapidamente all'area in cui potrebbe trovarsi il vettore cercato. Scendendo di livello, le connessioni diventano più dense. Questo ti aiuta a perfezionare la ricerca e ad avvicinarti alla corrispondenza migliore. Al livello più basso, HNSW usa una beam search per trovare i vicini più prossimi. Questo processo offre risultati rapidi e accurati, soprattutto quando l'intero grafo sta in memoria.

  • Principi di progettazione di HNSW:
    • Ottimizzato per le operazioni in memoria, con bassa latenza e alto recall.
    • Utilizza una struttura a grafo multilivello basata su reti small-world.
    • Applica una strategia di potatura per rimuovere gli archi ridondanti e favorire la diversità.
    • La ricerca prevede la discesa di livello, partendo da collegamenti sparsi a lunga distanza e terminando con una beam search al livello base.

Come vedi, sia HNSW sia DiskANN usano un indice basato su grafo, ma le loro architetture rispondono a esigenze diverse. HNSW funziona al meglio quando puoi mantenere tutto in memoria. DiskANN ti permette di scalare fino a miliardi di vettori sfruttando gli SSD, e per questo è ideale per i carichi di lavoro aziendali in Azure AI Search.

Come funziona DiskANN

Architettura ibrida di memoria e SSD

Con DiskANN incontri un approccio unico quando cerchi nell'ambito di un miliardo di vettori. DiskANN combina memoria e archiviazione SSD in un'architettura ibrida. Questo design ti permette di conservare la maggior parte dell'indice vettoriale sugli SSD, che costano meno della RAM. In memoria mantieni solo i dati di navigazione essenziali. Questo metodo ti consente di scalare la ricerca a miliardi di vettori senza dover ricorrere a hardware costoso.

DiskANN utilizza due tecniche principali per ottimizzare archiviazione e velocità:

  • Grafo Vamana: usi questa struttura per navigare in modo efficiente nell'indice.
  • Quantizzazione di prodotto (PQ): comprimi i vettori in memoria, il che riduce l'utilizzo della RAM.

Ottieni i vantaggi di un processo di esecuzione delle query in due fasi. Nella prima fase DiskANN usa i vettori compressi con PQ in RAM per individuare rapidamente un insieme di candidati. In questo passaggio non devi leggere dal disco. Nella seconda fase DiskANN recupera dagli SSD i vettori a piena precisione dell'insieme di candidati. Poi calcola le distanze esatte per trovare le corrispondenze migliori. Questo processo ti garantisce un richiamo elevato e una latenza bassa, mantenendo basso il fabbisogno di memoria.

Suggerimento: l'architettura ibrida di DiskANN, che unisce memoria e SSD, rende possibile la ricerca su scala web su hardware standard. Puoi archiviare gli indici vettoriali sugli SSD invece che in RAM, e questo rende più accessibili le applicazioni su larga scala.

Processo di ricerca

Avvii una ricerca in DiskANN navigando nel grafo Vamana con i vettori compressi in memoria. Questo passaggio ti aiuta a individuare rapidamente i candidati più promettenti. In questa fase eviti letture da disco, il che accelera il processo. Una volta ottenuto l'insieme di candidati, DiskANN passa alla fase successiva.

Recuperi dagli SSD i vettori a piena precisione per ciascun candidato. Calcoli le distanze esatte tra la query e questi candidati. Questo processo in due fasi garantisce risultati accurati senza rallentare la ricerca. Ottieni un richiamo elevato perché DiskANN verifica nel dettaglio i candidati migliori. Mantieni inoltre bassa la latenza, perché la maggior parte del lavoro avviene in memoria.

Il processo di ricerca di DiskANN funziona bene con dataset enormi. Puoi gestire miliardi di vettori senza disporre di grandi quantità di RAM. Ottieni risultati rapidi e affidabili anche quando i dati crescono. Questo rende DiskANN una scelta solida per i carichi di lavoro AI aziendali in Azure AI Search.

FaseCosa faiVantaggio
Fase 1: navigazioneUsi i vettori compressi con PQ in RAM per trovare i candidatiRicerca rapida, nessuna lettura da disco
Fase 2: raffinamentoRecuperi i vettori a piena precisione dagli SSD e calcoli le distanzeRichiamo elevato, latenza bassa

Come vedi, l'architettura ibrida di DiskANN e il suo processo di ricerca ti aiutano a risolvere in modo efficiente il problema dei miliardi di vettori. Puoi scalare la ricerca, ridurre i costi e mantenere le prestazioni al crescere dei dati.

Punti di forza e di debolezza

Pro e contro di HNSW

Spesso scegli HNSW per il recupero dei vettori perché offre una velocità di ricerca all'avanguardia e un richiamo elevato. Quando lo configuri correttamente, ottieni risultati rapidi e corrispondenze accurate. Gestisci bene dati vettoriali ad alta dimensionalità, un aspetto importante per i carichi di lavoro AI moderni. Ti avvantaggi anche delle aggiunte incrementali, quindi puoi aggiornare l'indice senza ricostruirlo da zero.

Ecco una rapida panoramica dei punti di forza e di debolezza di HNSW:

Punti di forzaPunti di debolezza
Velocità di ricerca all'avanguardia e richiamo elevato se configurato correttamente.Elevato consumo di memoria, dovuto alla memorizzazione dei collegamenti del grafo per ogni vettore.
Gestisce bene i dati ad alta dimensionalità.Tempi di costruzione dell'indice lunghi con parametri di costruzione di alta qualità.
Supporta in modo efficiente le aggiunte incrementali.L'eliminazione complessa di elementi può peggiorare le prestazioni nel tempo.

HNSW scala in modo efficiente perché la costruzione dell'indice richiede O(N log N). La costruzione in parallelo ti permette di sfruttare processori multi-core, il che accelera il processo. L'utilizzo della memoria cresce linearmente con la dimensione del dataset, quindi puoi prevedere il fabbisogno di archiviazione. Tuttavia, devi mantenere l'intero grafo in RAM, e questo limita la scalabilità per dataset di miliardi di vettori.

Pro e contro di DiskANN

Ricorri a DiskANN quando devi scalare il recupero dei vettori oltre ciò che la RAM può gestire. DiskANN ottimizza l'uso degli SSD, il che riduce i costi hardware e ti permette di gestire dataset enormi. Ottieni un'elevata accuratezza e una latenza bassa combinando ricerche in memoria con letture batch dagli SSD. DiskANN supporta gli aggiornamenti in tempo reale e la ricerca ibrida, quindi puoi filtrare e recuperare i vettori in modo efficiente.

Considera questi punti su DiskANN:

  • Scalabilità economica grazie all'uso di SSD al posto della RAM.
  • Elevata accuratezza e bassa latenza su larga scala grazie alle ricerche in memoria e alle letture da SSD.
  • Aggiornamenti in tempo reale e recupero ibrido tra vettori e filtri.
  • Tempi di costruzione lunghi, perché la costruzione del grafo Vamana è computazionalmente onerosa.
  • Le prestazioni dipendono dal throughput e dalla latenza degli SSD.
  • Gli aggiornamenti sono più costosi rispetto alle strutture in memoria come HNSW.
  • L'implementazione e la messa a punto richiedono un'ottimizzazione accurata.

Ti giovi della capacità di DiskANN di gestire vettori quantizzati, che comprimono i dati e migliorano la ricerca efficiente in termini di memoria. Puoi usare DiskANN per carichi di lavoro con miliardi di vettori senza preoccuparti dei limiti di RAM.

Efficienza di memoria e archiviazione

Quando scegli tra HNSW e DiskANN per il recupero di vettori, devi considerare l'efficienza di memoria e archiviazione. HNSW funziona bene per dataset che stanno nella RAM del tuo server. Ottieni accesso rapido e prestazioni elevate, ma non puoi scalare oltre i limiti di memoria. DiskANN ti permette di estendere la dimensione del dataset fino alla capacità del disco, sacrificando un po' di velocità in cambio di spazio di archiviazione. Memorizzi la maggior parte dell'indice su SSD, il che rende DiskANN ideale per dataset vettoriali di grandi dimensioni.

CaratteristicaHNSWDiskANN
Efficienza di memoriaAltamente efficiente per dataset che stanno nella cache (RAM) del server.Progettato per dataset troppo grandi per stare in RAM.
Efficienza di archiviazioneLimitata dalla quantità di RAM disponibile.Estende la dimensione del dataset fino alla capacità del disco, sacrificando un po' di velocità in cambio di spazio di archiviazione.
Ottimizzazione delle prestazioniSfrutta l'accesso rapido alla memoria per la velocità.Riduce al minimo le penalizzazioni prestazionali dell'archiviazione su disco più lenta.
Idoneità al datasetAdatto a dataset che stanno in RAM.Adatto a dataset massicci oltre la capacità della RAM.

Usi vettori quantizzati sia in HNSW sia in DiskANN per ridurre le esigenze di archiviazione e migliorare la velocità di recupero. L'architettura ibrida di DiskANN ti permette di scalare la ricerca vettoriale mantenendo bassi i costi. Ottieni una ricerca efficiente in termini di memoria per attività di recupero su larga scala, soprattutto quando lavori con vettori quantizzati e archiviazione su SSD.

Confronto tra algoritmi di ricerca vettoriale

Vector Search Algorithm Comparison

Prestazioni su larga scala

Devi misurare come si comporta un algoritmo di ricerca vettoriale man mano che il dataset cresce. HNSW e DiskANN puntano entrambi a offrire un richiamo (recall) e una velocità elevati, ma le loro strategie differiscono. HNSW si basa su grafi in memoria, il che significa che ottieni una ricerca del vicino più prossimo veloce quando i vettori stanno in RAM. DiskANN usa un approccio ibrido tra memoria e SSD, così puoi scalare le prestazioni di ricerca senza preoccuparti dei limiti di memoria.

Quando esegui una ricerca del vicino più prossimo su milioni di vettori, HNSW ti offre un recupero ad alta velocità e una bassa latenza. Puoi regolare i parametri per il richiamo e la velocità. DiskANN mantiene un richiamo e una velocità elevati anche quando il dataset si espande. Memorizzi la maggior parte dell'indice su SSD, il che ti permette di gestire miliardi di vettori. Usi una ricerca in due fasi per bilanciare velocità e precisione. La prima fase trova i candidati in memoria, mentre la seconda affina i risultati usando gli SSD.

Ottieni un richiamo e una velocità elevati con entrambi gli algoritmi, ma DiskANN ti permette di scalare le prestazioni di ricerca oltre i limiti della RAM.

Scalabilità per miliardi di vettori

Affronti nuove sfide quando il dataset cresce da milioni a miliardi di vettori. HNSW funziona bene fino a 50 milioni di vettori. Usi HNSW come algoritmo di ricerca vettoriale predefinito e regoli i parametri per il richiamo. Quando raggiungi da 50 a 500 milioni di vettori, implementi lo sharding e la quantizzazione scalare. Puoi usare il recupero in due fasi per migliorare l'efficienza. Per dataset oltre i 500 milioni di vettori, ti servono un recupero gerarchico e architetture multi-livello. Usi una quantizzazione aggressiva per i dati freddi.

Intervallo di numero di vettoriStrategia HNSW
1-50MUsa HNSW come algoritmo predefinito, assicurati che i vettori stiano in RAM e regola i parametri per il richiamo.
50-500MImplementa lo sharding, abilita la quantizzazione scalare e valuta il recupero in due fasi per migliorare l'efficienza.
500M+Usa il recupero gerarchico, architetture multi-livello e una quantizzazione aggressiva per i dati freddi.

DiskANN cambia le regole del gioco per la ricerca vettoriale su scala di miliardi. Memorizzi la maggior parte dell'indice su SSD, quindi non devi preoccuparti dei limiti di RAM. Usi la quantizzazione di prodotto per comprimere i vettori e mantenere in memoria i dati di navigazione. Scali la ricerca del vicino più prossimo fino a miliardi di vettori senza sacrificare le prestazioni di ricerca. DiskANN supporta la ricerca approssimata basata su clustering e il recupero ibrido, che ti aiutano a gestire dataset massicci.

DiskANN ti permette di scalare l'algoritmo di ricerca vettoriale per miliardi di vettori, rendendolo ideale per i carichi di lavoro aziendali.

Latenza delle query e throughput

Quando esegui la ricerca vettoriale su larga scala, ti interessano la latenza delle query e la produttività. HNSW offre una bassa latenza per la ricerca del vicino più prossimo perché mantiene l'intero grafo in memoria. Ottieni risposte rapide alle query e un'elevata produttività per i dataset che entrano in RAM. Quando il dataset cresce, la latenza aumenta man mano che esegui lo sharding o usi architetture multi-livello.

DiskANN usa un processo di ricerca in due fasi. Prima cerchi tra i vettori compressi in memoria, il che permette una selezione rapida dei candidati. Poi affini la query recuperando i vettori a piena precisione dagli SSD. Questo approccio mantiene bassa la latenza e un'elevata produttività, anche per dataset dell'ordine dei miliardi. Ottimizzi il recupero raggruppando le letture dagli SSD e usando strutture di navigazione efficienti.

Con DiskANN ottieni un'elevata recall e una buona velocità, anche quando il volume delle query aumenta. Non devi preoccuparti dei limiti di memoria, quindi puoi scalare le prestazioni di ricerca per le applicazioni aziendali.

Con DiskANN ottieni una latenza delle query e una produttività affidabili, che ne fanno una scelta solida per la ricerca del vicino più prossimo su larga scala.

Impatto su costi e risorse

Quando scegli un algoritmo di ricerca vettoriale per Azure AI Search, devi considerare l'impatto su costi e risorse. Il modo in cui ciascun algoritmo usa memoria e archiviazione influisce sul budget e sulla capacità di scalare.

DiskANN si distingue per i carichi di lavoro con miliardi di vettori. Puoi archiviare la maggior parte dell'indice sugli SSD, che costano meno della RAM. Questo design ti permette di scalare da migliaia a miliardi di vettori senza un forte aumento dei costi di memoria. DiskANN funziona bene per i carichi di lavoro AI in produzione perché usa in modo efficiente gli SSD e mantiene in memoria solo i dati più importanti.

HNSW funziona meglio con dataset di dimensioni medie. Devi mantenere l'intero indice in RAM. Questo requisito limita la scalabilità. Se il dataset cresce troppo, potresti dover affrontare costi operativi elevati. Inoltre, HNSW è limitato a 2.000 dimensioni, il che può restringere i tuoi casi d'uso.

Tipo di indiceAdatto a carichi di lavoro con miliardi di vettoriRequisiti di memoriaCosti operativi
DiskANNSì, progettato per le prestazioni degli SSDScala da migliaia a miliardi di vettoriConsigliato per carichi di lavoro AI in produzione
HNSWNo, adatto a dataset mediRichiede che l'indice entri in RAMLimitato a 2.000 dimensioni

Suggerimento: se vuoi controllare i costi e scalare la ricerca fino a miliardi di vettori, DiskANN ti offre un chiaro vantaggio. Puoi usare SSD economici e mantenere basse le esigenze di memoria.

Casi d'uso reali

Puoi vedere il valore di questi algoritmi in applicazioni reali. Molte organizzazioni usano DiskANN e HNSW per diversi tipi di problemi di ricerca vettoriale.

  • Puoi usare un metodo ibrido economico per la ricerca approssimata del vicino più prossimo. Questo approccio combina l'archiviazione su SSD con strutture a grafo in memoria.
  • Puoi distribuire DiskANN per dataset statici, come i corpus di ricerca, in cui i dati non cambiano spesso.
  • Puoi scegliere DiskANN per distribuzioni sensibili ai costi. Funziona bene per applicazioni su scala di miliardi dove devi tenere sotto controllo le spese.
  • Puoi usare DiskANN per query che tollerano latenze inferiori a 10 millisecondi. Questa velocità è sufficiente per molte attività di ricerca aziendale.
  • Puoi combinare HNSW con file invertiti su disco (HNSW-IF) per la ricerca ibrida. Questo metodo raggiunge un'elevata recall e mantiene bassa la latenza.
Caso d'usoDescrizione
Dataset staticiIdeale per i corpus di ricerca in cui i dati non cambiano frequentemente.
Distribuzioni sensibili ai costiAdatto ad applicazioni su scala di miliardi in cui il costo è un fattore importante.
Query tolleranti alla latenzaFunziona bene per query che tollerano latenze inferiori a 10 ms.

Nota: molte organizzazioni ottengono una recall del 90% con una latenza di 10 ms usando metodi ibridi. Queste prestazioni soddisfano le esigenze della maggior parte delle applicazioni di ricerca AI aziendali.

Puoi adattare la scelta dell'algoritmo al tuo carico di lavoro. Se devi scalare, controllare i costi e mantenere bassa la latenza, DiskANN ti offre la flessibilità e l'efficienza necessarie.

Quando usare HNSW o DiskANN

Scegliere l'algoritmo giusto per il tuo carico di lavoro di Azure AI Search può fare una grande differenza in termini di velocità, costi e accuratezza. Devi valutare i tuoi dati, il tuo hardware e la frequenza con cui cambiano i dati. Vediamo insieme i principali criteri decisionali, così potrai scegliere lo strumento migliore per le tue esigenze di ricerca vettoriale.

Criteri decisionali

Dimensione del dataset

Inizia sempre dalle dimensioni del tuo dataset. Se lavori con milioni di vettori, HNSW ti offre risultati di ricerca rapidi e precisi. Funziona al meglio quando i dati entrano in memoria. Quando il dataset cresce fino a miliardi di vettori, DiskANN diventa la scelta migliore. Usa gli SSD per archiviare gran parte dell'indice, quindi non devi preoccuparti di esaurire la RAM.

CriteriHNSWDiskANN
Dimensioni del datasetAdatto a milioni di vettoriEccelle con miliardi di vettori

Come puoi vedere, HNSW si adatta ai carichi di lavoro più piccoli, mentre DiskANN gestisce dataset enormi senza rallentare.

Hardware e costi

Anche l'hardware e il budget giocano un ruolo importante. HNSW richiede molta RAM, perché mantiene l'intero grafo in memoria. Il costo può crescere parecchio man mano che il vector database si ingrandisce. DiskANN ti aiuta a risparmiare, perché archivia gran parte dell'indice sugli SSD, che costano meno della RAM. Ti serve solo memoria sufficiente per la parte di navigazione dell'indice.

CriteriHNSWDiskANN
InfrastrutturaRequisiti di RAMRiduce i costi della memoria

Se vuoi contenere i costi e cercare comunque tra miliardi di vettori, DiskANN ti offre un vantaggio chiaro.

Esigenze di latenza

Valuta quanto velocemente ti servono i risultati di ricerca. HNSW garantisce una latenza molto bassa, perché esegue la ricerca in memoria. Se i dati entrano in RAM, puoi ottenere risultati in pochi millisecondi. DiskANN bilancia velocità e scalabilità. Usa un processo di ricerca in due fasi, quindi restituisce risultati rapidi anche con dataset enormi. Per la maggior parte delle applicazioni enterprise, DiskANN mantiene i tempi delle query sotto i 10 millisecondi.

  • HNSW è ideale per i carichi di lavoro in cui ogni millisecondo conta.
  • DiskANN funziona bene quando devi cercare in dataset di grandi dimensioni in tempi rapidi e puoi accettare un lieve aumento della latenza.

Modalità di aggiornamento

La frequenza con cui cambiano i dati influisce sulla scelta. HNSW funziona bene con dati statici o che cambiano lentamente. Se aggiorni spesso i vettori, potresti dover ricostruire l'indice, operazione che richiede tempo. DiskANN si adatta meglio agli aggiornamenti frequenti. Mantiene stabili precisione e recall, anche quando aggiungi o modifichi vettori di frequente.

CaratteristicaHNSWDiskANN
Latenza di aggiornamentoRichiede la ricostruzione completa dell'indiceSi adatta in modo efficiente alle modifiche
RecallElevato, ma influenzato dalle modifichePrecisione stabile con modifiche frequenti

Se la tua applicazione deve gestire molti aggiornamenti, DiskANN ti offre più flessibilità.

Scenari di esempio

Puoi usare scenari reali per capire quale algoritmo fa al caso tuo.

MetricaHNSWDiskANN
Recall medio0.60.7
Accuratezza end-to-end0.9720.933
Robustness-0.2@100.9980.984
Robustness-0.90.840.81
  • HNSW garantisce un recall elevato e un throughput di query rapido. Su dataset come SIFT1M, puoi raggiungere circa il 95% di recall a 10 con 1-2 millisecondi per query su CPU.
  • DiskANN mostra un recall medio più alto, il che significa che trova più corrispondenze effettive nei dataset di grandi dimensioni. Mantiene un'accuratezza elevata anche quando i dati crescono.
  • HNSW funziona meglio per sistemi di raccomandazione o motori di ricerca in cui servono precisione e velocità massime.
  • DiskANN è adatto alla ricerca su larga scala, ad esempio per cercare tra miliardi di immagini di prodotti o documenti, quando devi bilanciare velocità, costi e scalabilità.

HNSW eccelle nei carichi di lavoro che richiedono la ricerca più rapida possibile su dataset più piccoli. DiskANN dà il meglio quando devi cercare in enormi quantità di dati senza sforare il budget.

Migrazione e approcci ibridi

Non devi scegliere un solo algoritmo per ogni situazione. Molte organizzazioni iniziano con HNSW per dataset più piccoli. Quando il vector database cresce, passano a DiskANN per gestire più dati e contenere i costi. Puoi anche adottare un approccio ibrido. Ad esempio, potresti mantenere in memoria con HNSW i vettori più richiesti o più recenti, e archiviare sugli SSD con DiskANN quelli più vecchi o meno utilizzati.

  • Inizia con HNSW per la prototipazione rapida e i carichi di lavoro ridotti.
  • Passa a DiskANN quando il dataset supera i limiti della memoria.
  • Combina entrambi i metodi per il miglior equilibrio tra velocità e scalabilità.

Suggerimento: rivedi regolarmente il tuo carico di lavoro. Man mano che dati ed esigenze cambiano, puoi adattare l'approccio per ottenere le prestazioni e il valore migliori.

Valutando dimensioni del dataset, hardware, esigenze di latenza e modalità di aggiornamento, puoi scegliere con consapevolezza tra HNSW e DiskANN. Così costruisci un sistema di ricerca vettoriale in linea con i tuoi obiettivi, che cresce insieme al tuo business.

Best practice per la ricerca vettoriale in Azure

Suggerimenti per la configurazione dell'indice

Puoi ottenere prestazioni elevate in Azure AI Search seguendo alcuni consigli importanti di configurazione. Inizia assicurandoti che le dimensioni del tuo indice rientrino in una singola unità di ricerca vettoriale. Questo ti aiuta a mantenere la ricerca veloce e affidabile. Cerca di ridurre al minimo le dimensioni dei tuoi embedding. Embedding più piccoli migliorano i tempi delle query e aumentano le query al secondo. Usa le query Approximate Nearest Neighbor per l'efficienza, perché accelerano la ricerca senza sacrificare molta accuratezza.

Mantieni il numero di risultati per query tra 10 e 100. Questo intervallo riduce la latenza e mantiene la ricerca reattiva. Evita di usare endpoint di modello che scalano a zero in produzione. I cold start possono rallentare la ricerca e frustrare gli utenti. Pianifica i picchi di query in modo che il sistema possa gestire improvvisi aumenti del traffico di ricerca. Usa le entità servizio con token OAuth per un'autenticazione sicura ed efficiente. Utilizza sempre l'ultima versione dell'SDK Python per beneficiare dei miglioramenti di prestazioni. Se ti serve una maggiore velocità di elaborazione, scala il tuo endpoint oppure distribuisci il carico su più endpoint in parallelo.

Suggerimento: un indice ben configurato è la base di una ricerca vettoriale ottimizzata in Azure.

Monitoraggio e ottimizzazione

Devi monitorare e ottimizzare il sistema di ricerca per mantenere prestazioni elevate, soprattutto con carichi di lavoro da miliardi di vettori. La tabella seguente mostra alcune tecniche efficaci:

TecnicaDescrizione
Indici multilivelloUsa indici veloci per i dati frequentemente consultati e comprimi i dati meno utilizzati per risparmiare spazio.
Controllo del fan-outGestisci le interazioni tra shard e cluster per ridurre gli hop di rete.
QuantizzazioneRiduci la dimensione dei vettori con metodi come IVF-PQ per rientrare nei limiti di memoria.
Ottimizzazione dei centroidiRegola il numero di centroidi per bilanciare il recall e il sovraccarico.
Asymmetric Distance ComputationAccelera la ricerca confrontando query a piena precisione con vettori compressi.
Instradamento intenzionale delle queryUsa metadati e clustering per evitare broadcast non necessari durante la ricerca.
Riduci al minimo i payload di reteTrasferisci tra i nodi solo ID e punteggi, non i vettori completi.
Aggregazione gerarchicaAggrega i risultati localmente per ridurre il coordinamento e stabilizzare la latenza.
Predominanza della memoriaAssicurati che i vettori entrino in memoria per ottenere le migliori prestazioni di ricerca.
Uso della GPU in base alla situazioneUsa le GPU per l'indicizzazione se necessario, ma verifica se migliorano la velocità di elaborazione della ricerca.
Qualità della reteMonitora le condizioni della rete, perché influenzano la latenza della ricerca.

Nota: il monitoraggio regolare ti aiuta a individuare i problemi in anticipo e a mantenere la ricerca in funzione senza intoppi.

Errori comuni

Potresti incontrare alcuni errori comuni durante la configurazione o il ridimensionamento del sistema di ricerca in Azure. Uno sbaglio è lasciare che l'indice cresca troppo per una singola unità di ricerca. Questo può rallentare le query e rendere la ricerca meno affidabile. Usare embedding di grandi dimensioni può anche compromettere le prestazioni. Mantieni sempre gli embedding il più piccoli possibile per il tuo caso d'uso.

Un altro errore è ignorare i picchi di query. Se non pianifichi gli improvvisi aumenti del traffico di ricerca, il sistema potrebbe cedere sotto pressione. Affidarsi a endpoint che scalano a zero può causare ritardi da cold start, che rallentano la ricerca. Non aggiornare l'SDK o non usare token OAuth può comportare rischi per la sicurezza e la perdita di miglioramenti di prestazioni.

Ricorda: evita questi errori per mantenere la ricerca veloce, sicura e affidabile.

Seguendo queste best practice, puoi costruire un'esperienza di ricerca solida ed efficiente in Azure. Gestirai grandi quantità di dati con facilità e offrirai ai tuoi utenti risultati rapidi e accurati.


Risolvi il problema dei miliardi di vettori in Azure AI Search scegliendo l'algoritmo giusto per le tue esigenze. DiskANN offre una scalabilità economicamente vantaggiosa per insiemi di dati enormi, mentre HNSW garantisce risultati rapidi per carichi di lavoro più piccoli. Adatti l'algoritmo a carico di lavoro, scala e budget. La tabella seguente ti aiuta a scegliere l'endpoint migliore:

Tipo di SKUDescrizione del caso d'uso
Endpoint standardIdeali quando la latenza è critica, con indici fino a 320 milioni di vettori.
Endpoint ottimizzati per l'archiviazioneIdeali per oltre 10 milioni di vettori, quando si tollera una certa latenza e si richiede efficienza dei costi.
  • Stima le esigenze di archiviazione testando l'indice con alcuni documenti.
  • Pianifica gli aggiornamenti e il volume complessivo dei contenuti.

Azure AI Search ti offre flessibilità e supporta le innovazioni di Microsoft per l'AI aziendale. Per collegare tutti questi approfondimenti tecnici all'architettura cloud reale, ascolta il podcast di approfondimento HNSW vs DiskANN for Vector Search in Azure AI Search.

Domande frequenti

Qual è la differenza principale tra HNSW e DiskANN?

Tu usi HNSW per la ricerca vettoriale in memoria. DiskANN consente di archiviare gran parte dell'indice su SSD. Per questo DiskANN è più adatto a gestire miliardi di vettori senza costi elevati di memoria.

Puoi usare DiskANN per applicazioni in tempo reale?

Sì. DiskANN offre ricerche a bassa latenza, spesso inferiori a 10 millisecondi. Puoi usarlo per attività di ricerca AI in tempo reale, anche con dataset molto grandi.

Come decidi quale algoritmo usare in Azure AI Search?

Scegli HNSW per dataset più piccoli che stanno in RAM. Scegli DiskANN per dataset enormi che richiedono una scalabilità economicamente vantaggiosa. Valuta le dimensioni dei dati, l'hardware e le esigenze di latenza.

DiskANN richiede hardware speciale?

No. Puoi eseguire DiskANN su server standard con SSD. Non servono macchine costose con molta memoria. Questo rende la scalabilità più semplice e più accessibile.

In che modo Azure AI Search protegge i tuoi dati?

Azure AI Search utilizza crittografia e controlli di accesso. Sei tu a decidere chi può accedere ai tuoi dati. Le funzionalità di sicurezza di Microsoft ti aiutano a proteggere le informazioni sensibili.

Puoi aggiornare l'indice vettoriale senza interruzioni del servizio?

Puoi aggiornare sia gli indici HNSW sia quelli DiskANN. DiskANN supporta aggiornamenti efficienti per dataset di grandi dimensioni. Mantieni aggiornati i risultati di ricerca senza mettere offline il sistema.

Quali sono alcune best practice per ottimizzare le prestazioni della ricerca vettoriale?

Usa embedding più piccoli, mantieni l'indice all'interno di una singola unità di ricerca e monitora la latenza delle query. Aggiorna sempre l'SDK e pianifica i picchi di query per mantenere prestazioni elevate.


🎧 Ascolta questo episodio

Vuoi una spiegazione pratica di HNSW vs DiskANN per la ricerca vettoriale in Azure AI Search? Questo episodio analizza l'argomento con un linguaggio chiaro e mostra perché è importante per Microsoft 365, Azure, Power Platform, la sicurezza, l'AI e il lavoro moderno.

Ascolta questo episodio se vuoi:

  • Capire i concetti chiave alla base di HNSW vs DiskANN per la ricerca vettoriale in Azure AI Search
  • Vedere come si inserisce nel più ampio ecosistema tecnologico Microsoft
  • Scoprire dove può generare valore pratico per la tua organizzazione

Potrebbero interessarti anche questi episodi correlati di M365 FM:

Scopri altre conversazioni pratiche su Microsoft su M365 FM.

Ultima revisione: luglio 2026.

A chi è rivolto

Questo episodio è pensato per amministratori, architetti, sviluppatori, professionisti della sicurezza e responsabili aziendali Microsoft che hanno bisogno di basi pratiche prima di prendere decisioni su implementazione, operatività o governance.

🎧 Ascolta anche

  • Azure Resource Manager — Un passo successivo molto correlato per approfondire questo argomento.
  • Infrastructure as Code — Un passo successivo molto correlato per approfondire questo argomento.
  • Azure Policy — Un passo successivo molto correlato per approfondire questo argomento.

Entities in this article

DiskANN Azure AI Search Vector search Retrieval-augmented generation (RAG) Cold start Embeddings Semantic model

Related articles

RSS