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

Blog · Mirko Peters

Risolvere il problema del miliardo di vettori in Azure AI Search

By ·

Scopri le sfide tecniche specifiche della ricerca su dataset massivi su larga scala. Questo post analizza come l'elevata dimensionalità e i vincoli di memoria incidono sui carichi di lavoro AI aziendali.

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

Scopri le sfide tecniche specifiche della ricerca su dataset massivi su larga scala. Questo post analizza come l'elevata dimensionalità e i vincoli di memoria incidono sui carichi di lavoro AI aziendali.

Il problema del miliardo di vettori in Azure AI Search

Sfide della ricerca vettoriale su scala di miliardi

Il problema del miliardo di vettori si presenta quando devi indicizzare e cercare in dataset massivi nell'AI aziendale. Gestire miliardi di vettori comporta sfide tecniche specifiche. Devi costruire sistemi di indicizzazione efficienti in grado di elaborare dati su larga scala senza rallentare. Gli aggiornamenti in tempo reale sono importanti perché vuoi che i risultati di ricerca restino aggiornati e pertinenti. Gestire gli embedding ad alta dimensionalità è inoltre essenziale per ottenere risultati di ricerca accurati.

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

  • L'elevata 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 influisce 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é compare un determinato risultato di ricerca può essere complicato.

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

Perché la scelta dell'algoritmo è importante

La scelta dell'algoritmo incide 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, serve molta RAM, con un conseguente aumento dei costi. Altri algoritmi, come KNN esaustivo, offrono un'elevata accuratezza ma richiedono molto più calcolo, e per questo sono più adatti a dataset di dimensioni ridotte. L'algoritmo giusto ti aiuta a bilanciare velocità, accuratezza e uso delle risorse. Puoi ottimizzare le prestazioni per la tua applicazione specifica adattando l'algoritmo alle tue esigenze. Questa decisione determina quanto bene gestisci dataset massivi 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 progettato per le attività di recupero e per le moderne esigenze di ricerca. Ottieni funzionalità di ricerca e recupero solide, tra cui l'elaborazione del linguaggio naturale per la comprensione semantica. La sicurezza è robusta, con crittografia e controlli di accesso per proteggere i dati.

Azure AI Search si integra senza difficoltà con altri servizi di Microsoft Azure e con piattaforme di terze parti. Puoi usare la ricerca ibrida, che combina ricerca per parole chiave e ricerca vettoriale per ottenere i risultati migliori. Il ranking e la regolazione della pertinenza ti permettono di modificare la visualizzazione dei risultati di ricerca, rendendoli più utili per gli utenti. La piattaforma offre inoltre esperienze di ricerca intelligenti, come il completamento automatico e i risultati suggeriti. Costruito sull'infrastruttura globale di Azure, Azure AI Search garantisce la scalabilità e l'affidabilità necessarie per dataset massivi 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 grafi ti aiuta a trovare rapidamente vettori simili in dataset di grandi dimensioni. Hnsw costruisce una struttura a grafo multilivello 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ù. Questo design ti permette di iniziare la ricerca dall'alto e scendere di livello in livello, restringendo progressivamente i risultati. Hnsw è ottimizzato per la ricerca vettoriale in memoria, quindi mantiene l'intero grafo in RAM. Questo approccio ti garantisce risultati a bassa latenza, ma significa anche che hai bisogno di molta memoria quando il dataset cresce.

Cos'è DiskANN

Diskann è la risposta di Microsoft alle sfide della ricerca vettoriale su scala miliardaria. Questo indice basato su grafi usa un approccio ibrido che combina memoria e archiviazione SSD. Diskann ti permette di conservare la maggior parte dell'indice su SSD, che costano molto meno della RAM. In memoria tieni solo i dati di navigazione più importanti. Questo design ti aiuta a gestire dataset enormi senza costi hardware elevati. Diskann usa l'algoritmo a grafo Vamana per guidare la ricerca attraverso i dati. Impiega inoltre un particolare metodo di potatura per mantenere il grafo diversificato ed efficiente. Diskann di Microsoft alimenta Azure AI Search e altri servizi, e questo lo rende un'innovazione chiave per l'AI aziendale.

InnovazioneDescrizione
Ricerca ANN ad alta velocitàL'architettura di Diskann consente una ricerca ANN efficiente su SSD, il che contribuisce a ridurre i costi hardware.
Sistema di memoria ibridoDiskann usa una combinazione di 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 grafi 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 su quanti livelli inserirlo tramite un processo casuale. 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 ne hanno di più, permettendo ricerche più dettagliate. Hnsw può aggiornare il grafo senza una ricostruzione completa, quindi puoi aggiungere nuovi dati man mano che le tue esigenze crescono.

Processo di ricerca

Quando cerchi con hnsw, inizi 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ù fitte. Questo ti aiuta a raffinare 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 ti dà risultati veloci 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.
    • Usa una struttura a grafo multilivello basata su reti small-world.
    • Applica una strategia di potatura per eliminare gli archi ridondanti e favorire la diversità.
    • Il processo di ricerca scende di livello, partendo da collegamenti sparsi a lunga distanza e terminando con una beam search al livello di base.

Come vedi, sia hnsw sia diskann usano un indice basato su grafi, ma le loro architetture rispondono a esigenze diverse. Hnsw funziona meglio quando puoi tenere tutto in memoria. Diskann ti permette di scalare fino a miliardi di vettori usando gli SSD, e per questo è ideale per i carichi di lavoro aziendali in Azure AI Search.

Come funziona DiskANN

Architettura ibrida memoria e SSD

Quando usi DiskANN per la ricerca su miliardi di vettori, ti trovi davanti a un approccio particolare. DiskANN combina memoria e archiviazione SSD per creare un'architettura ibrida. Questo design ti permette di conservare la maggior parte dell'indice vettoriale su SSD, che costano meno della RAM. In memoria tieni solo i dati di navigazione essenziali. Questo metodo ti consente di scalare la ricerca a miliardi di vettori senza hardware costoso.

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

  • Grafo Vamana: questa struttura ti permette di navigare in modo efficiente nell'indice.
  • Quantizzazione del prodotto (PQ): comprimi i vettori in memoria, con una riduzione dell'utilizzo di RAM.

Ti avvali di un processo di esecuzione delle query in due fasi. Nella prima fase, DiskANN usa i vettori compressi con PQ in RAM per identificare rapidamente un insieme di candidati. In questo passaggio non devi leggere dal disco. Nella seconda fase, DiskANN recupera dai SSD i vettori a piena precisione relativi all'insieme dei candidati. Poi calcoli le distanze esatte per trovare le corrispondenze migliori. Questo processo ti garantisce un richiamo elevato e una latenza bassa, mantenendo ridotti i requisiti di memoria.

Suggerimento: l'architettura ibrida di DiskANN, che combina memoria e SSD, consente una ricerca su scala web su hardware standard. Puoi archiviare gli indici vettoriali su SSD anziché in RAM, il che rende più economiche le applicazioni su larga scala.

Processo di ricerca

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

Recuperi dai SSD i vettori a piena precisione per ciascun candidato. Calcoli le distanze esatte tra la query e questi candidati. Questo processo in due fasi ti assicura 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 di grandi dimensioni. Puoi gestire miliardi di vettori senza dover disporre di enormi quantità di RAM. Ottieni risultati veloci 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 veloce, nessuna lettura dal disco
Fase 2: raffinamentoRecuperi i vettori a piena precisione dai SSD e calcoli le distanzeRichiamo elevato, latenza bassa

Come puoi vedere, 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 di ultima generazione e un richiamo elevato. Quando configuri HNSW in modo appropriato, ottieni risultati veloci e corrispondenze accurate. Gestisci bene i dati vettoriali ad alta dimensionalità, aspetto importante per i carichi di lavoro AI moderni. Ti avvantaggi anche delle aggiunte incrementali, quindi puoi aggiornare l'indice senza doverlo ricostruire da zero.

Punti di forzaPunti di debolezza
Velocità di ricerca di ultima generazione 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 degli elementi può peggiorare le prestazioni nel tempo.

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

Pro e contro di DiskANN

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

Tieni presenti questi punti su DiskANN:

  • Scalabilità economica grazie all'uso di SSD al posto della RAM.
  • Elevata accuratezza e bassa latenza su larga scala grazie a ricerche in memoria e letture da SSD.
  • Aggiornamenti in tempo reale e recupero ibrido, vettoriale e filtrato.
  • Tempi di costruzione lenti, perché la costruzione del grafo Vamana è computazionalmente onerosa.
  • Le prestazioni dipendono dalla velocità di trasferimento 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 giova la 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 della RAM.

Efficienza di memoria e archiviazione

Quando scegli tra hnsw e diskann per il recupero vettoriale, devi considerare l'efficienza di memoria e archiviazione. Hnsw funziona bene per i dataset che rientrano nella RAM del tuo server. Ottieni accesso rapido e prestazioni elevate, ma non puoi scalare oltre i limiti della memoria. Diskann ti permette di estendere le dimensioni del dataset fino alla capacità del disco, in cambio di una certa velocità in più per l'archiviazione. Memorizzi la maggior parte dell'indice sugli SSD, il che rende diskann ideale per dataset vettoriali di grandi dimensioni.

CaratteristicaHNSWDiskANN
Efficienza di memoriaAltamente efficiente per i dataset che rientrano nella cache del server (RAM).Progettato per dataset troppo grandi per entrare nella RAM.
Efficienza di archiviazioneLimitata dalla quantità di RAM disponibile.Estende le dimensioni del dataset fino alla capacità del disco, in cambio di una certa velocità in meno per l'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 ai dataset che rientrano nella RAM.Adatto ai dataset massicci che superano la capacità della RAM.

Usi i 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 sono diverse. HNSW si basa su grafi in memoria, il che significa che ottieni una ricerca del vicino più prossimo rapida quando i vettori rientrano nella RAM. DiskANN usa un approccio ibrido tra memoria e SSD, quindi puoi scalare le prestazioni di ricerca senza preoccuparti dei limiti di memoria.

Quando esegui la 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 richiamo e velocità. DiskANN mantiene un richiamo e una velocità elevati anche quando il dataset si espande. Memorizzi la maggior parte dell'indice sugli SSD, il che ti permette di gestire miliardi di vettori. Usi una ricerca a due fasi per bilanciare velocità e precisione. La prima fase individua i candidati in memoria, la seconda affina i risultati usando gli SSD.

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

Scalabilità per miliardi di vettori

Devi affrontare 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 a due fasi per maggiore efficienza. Per dataset superiori a 500 milioni di vettori servono un recupero gerarchico e architetture multilivello. Usi una quantizzazione aggressiva per i dati a freddo.

Intervallo di numero di vettoriStrategia HNSW
1-50MUsa HNSW come algoritmo predefinito, assicurati che i vettori rientrino nella RAM e regola i parametri per il richiamo.
50-500MImplementa lo sharding, abilita la quantizzazione scalare e valuta il recupero a due fasi per maggiore efficienza.
500M+Usa il recupero gerarchico, architetture multilivello e una quantizzazione aggressiva per i dati a freddo.

DiskANN cambia le regole del gioco per la ricerca vettoriale su scala miliardaria. Memorizzi la maggior parte dell'indice sugli SSD, quindi non devi preoccuparti dei limiti della RAM. Usi la quantizzazione di prodotto per comprimere i vettori e mantieni in memoria i dati di navigazione. Scali la ricerca del vicino più prossimo 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 il tuo algoritmo di ricerca vettoriale fino a miliardi di vettori, rendendolo ideale per i carichi di lavoro aziendali.

Latenza delle query e throughput

La latenza delle query e il throughput sono aspetti importanti quando esegui ricerche vettoriali su larga scala. 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 throughput elevato per i dataset che stanno in RAM. Quando il dataset cresce, la latenza aumenta man mano che esegui lo sharding o adotti architetture multi-livello.

DiskANN usa un processo di ricerca in due fasi. Per prima cosa cerchi tra i vettori compressi in memoria, il che consente 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 throughput elevato, anche per dataset dell'ordine dei miliardi. Puoi ottimizzare il recupero raggruppando le letture dagli SSD e usando strutture di navigazione efficienti.

Con DiskANN ottieni un richiamo (recall) e una velocità elevati, 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 latenza delle query e throughput affidabili, il che lo rende 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 utilizza memoria e archiviazione incide sul budget e sulla capacità di scalare.

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

HNSW dà il meglio con dataset di dimensioni medie. Devi mantenere l'intero indice in RAM, e questo requisito limita la scalabilità. Se il dataset diventa troppo grande, potresti dover affrontare costi operativi elevati. HNSW è inoltre limitato a 2.000 dimensioni, il che può restringere i 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 i carichi di lavoro di IA in produzione
HNSWNo, adatto a dataset di medie dimensioniRichiede che l'indice stia in RAMLimitato a 2.000 dimensioni

Suggerimento: se vuoi gestire 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 corpora 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 in cui 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 richiamo elevato e mantiene bassa la latenza.
Caso d'usoDescrizione
Dataset staticiIdeale per i corpora 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 determinante.
Query tolleranti alla latenzaFunziona bene per query che tollerano latenze inferiori a 10 ms.

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

Puoi far corrispondere 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 in 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 i dati cambiano. Vediamo insieme i principali criteri decisionali, così potrai scegliere lo strumento migliore per le tue esigenze di ricerca vettoriale.

Criteri decisionali

Dimensione del dataset

Conviene sempre partire dalla dimensione del dataset. Se lavori con milioni di vettori, hnsw offre risultati di ricerca rapidi e accurati. 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 memorizzare la maggior parte dell'indice, quindi non devi preoccuparti di esaurire la RAM.

CriterioHNSWDiskANN
Dimensione del datasetAdatto a milioni di vettoriEccelle con miliardi di vettori

Come puoi notare, hnsw si adatta ai carichi di lavoro più piccoli, mentre diskann gestisce dataset enormi senza rallentare.

Hardware e costi

Hardware e budget giocano un ruolo importante. Hnsw richiede molta RAM, perché mantiene l'intero grafo in memoria. Questo può diventare costoso man mano che il database vettoriale cresce. Diskann ti aiuta a risparmiare memorizzando la maggior parte dell'indice sugli SSD, che costano meno della RAM. Ti serve solo memoria sufficiente per la parte di navigazione dell'indice.

CriterioHNSWDiskANN
InfrastrutturaRequisiti di RAMRiduce i costi della memoria

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

Esigenze di latenza

Devi valutare quanto velocemente hai bisogno dei 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 ottieni risultati rapidi anche con dataset enormi. Per la maggior parte delle applicazioni enterprise, diskann mantiene i tempi di query sotto i 10 millisecondi.

  • Hnsw è la scelta migliore per i carichi di lavoro in cui ogni millisecondo conta.
  • Diskann funziona bene quando devi cercare su grandi dataset in modo rapido 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 accuratezza 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
RecallAlto, ma influenzato dalle modificheAccuratezza stabile con mutazioni 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 si adatta alle tue esigenze.

MetricaHNSWDiskANN
Recall medio0.60.7
Accuratezza end-to-end0.9720.933
Robustezza-0.2@100.9980.984
Robustezza-0.90.840.81
  • Hnsw offre un recall elevato e un throughput di query rapido. Su dataset come SIFT1M, puoi raggiungere circa il 95% di recall a 10 con appena 1-2 millisecondi per query su CPU.
  • Diskann mostra un recall medio più alto, il che significa che trova più corrispondenze effettive nei grandi dataset. Mantiene alta l'accuratezza anche quando i dati crescono.
  • Hnsw funziona meglio per sistemi di raccomandazione o motori di ricerca in cui servono massima accuratezza e velocità.
  • Diskann è adatto alla ricerca su larga scala, come la ricerca tra miliardi di immagini di prodotti o documenti, dove è necessario bilanciare velocità, costi e scalabilità.

Hnsw si distingue per i carichi di lavoro che richiedono la ricerca più veloce 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 sei obbligato a scegliere un solo algoritmo per ogni situazione. Molte organizzazioni iniziano con hnsw per dataset più piccoli. Quando il database vettoriale cresce, passano a diskann per gestire più dati e contenere i costi. Puoi anche adottare un approccio ibrido. Ad esempio, puoi mantenere in memoria con hnsw i vettori più richiesti o recenti, e memorizzare su SSD con diskann quelli più vecchi o meno usati.

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

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

Capire le dimensioni del dataset, l'hardware, le esigenze di latenza e i pattern di aggiornamento ti permette di scegliere in modo consapevole tra hnsw e diskann. Così puoi costruire un sistema di ricerca vettoriale adatto ai tuoi obiettivi e in grado di crescere 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 suggerimenti importanti per la configurazione. Inizia assicurandoti che le dimensioni del tuo indice rientrino in una singola unità di ricerca vettoriale. Così la ricerca resta veloce e affidabile. Cerca di ridurre al minimo le dimensioni degli embedding. Embedding più piccoli migliorano i tempi delle query e aumentano le query al secondo. Usa le query Approximate Nearest Neighbor per l'efficienza: accelerano la ricerca senza sacrificare molta precisione.

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 modelli che scalano a zero in produzione: i cold start possono rallentare la ricerca e frustrare gli utenti. Pianifica i picchi di query, così il sistema può gestire aumenti improvvisi 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 delle prestazioni. Se ti serve una maggiore velocità di elaborazione, scala il tuo endpoint o 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 caldi e comprimi i dati freddi 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 recall e overhead.
Asymmetric Distance ComputationAccelera la ricerca confrontando query a piena precisione con vettori compressi.
Instradamento intenzionale delle queryUsa i metadati e il 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 rientrino 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 produttività della ricerca.
Qualità della reteMonitora le condizioni di rete, perché influiscono sulla 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 da evitare

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

Un altro errore è ignorare i picchi di query. Se non pianifichi aumenti improvvisi del traffico di ricerca, il sistema potrebbe non reggere il carico. 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 delle 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 dataset con facilità e offrirai risultati rapidi e accurati ai tuoi utenti.


Nelle Azure AI Search risolvi il problema del miliardo di vettori scegliendo l'algoritmo giusto per le tue esigenze. DiskANN ti offre una scalabilità economica per dataset enormi, mentre HNSW garantisce risultati rapidi per carichi di lavoro più piccoli. Abbini l'algoritmo al tuo carico di lavoro, alla scala e al budget. La tabella seguente ti aiuta a scegliere l'endpoint più adatto:

Tipo di SKUCaso d'uso e descrizione
Endpoint standardIdeale per esigenze di latenza critiche con indici fino a 320 milioni di vettori.
Endpoint ottimizzati per l'archiviazioneIdeale per oltre 10 milioni di vettori, quando puoi tollerare una certa latenza e ti serve efficienza dei costi.
  • Stima lo spazio di archiviazione necessario testando il sistema con alcuni documenti.
  • Pianifica gli aggiornamenti e il volume complessivo dei contenuti.

Azure AI Search ti offre flessibilità e supporta le innovazioni Microsoft per l'AI aziendale.

Domande frequenti

Qual è la differenza principale tra HNSW e DiskANN?

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

DiskANN si può usare 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 entrano nella RAM. Scegli DiskANN per dataset enormi che richiedono una scalabilità economica. Considera 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 la crittografia e i controlli di accesso. Sei tu a decidere chi può accedere ai tuoi dati. Le funzionalità di sicurezza 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 for Vector Search in Azure AI Search? Questo episodio affronta l'argomento con un linguaggio chiaro e mostra perché è importante per Microsoft 365, Azure, Power Platform, sicurezza, AI e il lavoro moderno.

Ascolta questo episodio se vuoi:

  • Capire i concetti chiave alla base di HNSW vs DiskANN for Vector Search in Azure AI Search
  • Vedere come si inserisce nel più ampio ecosistema tecnologico Microsoft
  • Scoprire dove può generare valore concreto 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 Microsoft, architetti, sviluppatori, professionisti della sicurezza e responsabili aziendali che hanno bisogno di una base pratica 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 Hybrid search Microsoft Azure Cold start Embeddings Semantic model

Related articles

RSS