AnnuncioTi presentiamo MongoDB 8.0, il MongoDB più veloce di sempre! Leggi >
AnnuncioVoyage AI si unisce a MongoDB per potenziare applicazioni AI più accurate e affidabili su Atlas. Scopra di più >
Blog home
arrow-left

Nuovi test di benchmark rivelano i fattori chiave delle prestazioni della ricerca vettoriale

21 agosto 2025 | Updated: 20 agosto 2025

La ricerca su vasta scala è complessa. Per quanto la ricerca vettoriale sia potente, può essere difficile sapere come valutare correttamente fattori chiave come accuratezza, costi e throughput per carichi di lavoro più ampi. Abbiamo rilasciato di recente il MongoDB Benchmark for Atlas Vector Search, che delinea strategie cruciali di ottimizzazione delle prestazioni per la ricerca vettoriale, fornendo una guida completa per ottenere risultati ottimali con set di dati su larga scala. L'obiettivo principale della nostra guida è ridurre significativamente le difficoltà per il tuo primo test vettoriale su larga scala (>10M di vettori) durante la valutazione delle prestazioni di Atlas Vector Search.

Con questa nuova guida, il nostro obiettivo è fornire un maggiore contesto sull'uso del benchmark, esplorare il dataset (inclusi i fattori presi in considerazione) e riassumere e contestualizzare i risultati. Diamo un'occhiata più da vicino!

Una nota sui dati di benchmark

Ogni buona presentazione include la doverosa slide con dichiarazione di esclusione di responsabilità, e l'arte e la scienza del benchmarking non fanno eccezione. Intraprendere un carico di lavoro vettoriale su larga scala può presentare ostacoli significativi derivanti da una mancanza di informazioni accurate e dall'attrito intrinseco dei benchmark iniziali. Inoltre, il panorama della ricerca vettoriale e dei modelli di embedding si sta evolvendo rapidamente e le informazioni possono diventare rapidamente obsolete, portando gli utenti su percorsi inefficienti o errati. Senza indicazioni chiare e aggiornate, gli utenti potrebbero avere difficoltà a prevedere il comportamento del sistema, a ottimizzare le configurazioni e ad allocare le risorse con sicurezza.

Vale anche la pena notare che numerosi fattori (quantizzazione, dimensionalità, filtraggio, configurazione dei nodi di ricerca, concorrenza, partizionamento orizzontale e altro) interagiscono in modi complessi. Comprendere queste interazioni e il loro impatto specifico su un determinato carico di lavoro richiede insight approfonditi e accurati. Senza questo, gli utenti potrebbero ottimizzare un aspetto solo per degradarne inavvertitamente un altro.

Questo vuoto informativo, unito ai considerevoli costi generali di configurazione, alla complessa ottimizzazione dei parametri e ai costi della sperimentazione coinvolti nell'esecuzione del primo benchmark, crea un ostacolo sostanziale alla dimostrazione e alla scalabilità di una soluzione. Ciononostante, riteniamo che questi benchmark forniscano fiducia nei POC ai nostri clienti e offrano loro un punto di partenza con cui lavorare (al contrario di non avere una bussola con cui iniziare).

Con questi fattori in mente, passiamo a una panoramica del set di dati.

Uno sguardo al set di dati

Il nucleo di questa analisi delle prestazioni ruota attorno ai test condotti su sottoinsiemi del dataset Amazon Reviews 2023, che conteneva 48 milioni di descrizioni di articoli in 33 categorie di prodotti. Il dataset è stato scelto per la capacità di fornire uno scenario di e-commerce realistico su larga scala, oltre a offrire dati ricchi, tra cui recensioni degli utenti (valutazioni, testo, voti di utilità), metadati degli articoli (prezzo, immagini) e nomi e descrizioni dettagliati degli articoli, ideali per effettuare ricerche. Per i test sulle dimensioni variabili, sono stati utilizzati sottoinsiemi di 5,5 milioni di elementi, incorporati con voyage-3-large per produrre vettori a 2048 dimensioni. Sono state quindi create delle viste per suddividere questi dati in vettori a 1024, 512 e 256 dimensioni per testare diverse dimensionalità. Per il test su larga scala e ad alta dimensionalità, è stato utilizzato un sottoinsieme di 15,3 milioni di elementi, anch'esso incorporato con vettori a 2048 dimensioni da voyage-3-large.

Uno dei punti chiave emersi dal rapporto è che alla dimensionalità più elevata (15,3 M di vettori utilizzando gli incorporamenti voyage-3-large a 2048 dimensioni), Atlas Vector Search configurato con quantizzazione scalare o binaria mantiene una precisione del 90-95% con una latency di query inferiore a 50 ms. Una nota importante è che la quantizzazione binaria può avere una latency più elevata quando il numero di candidati richiesti è nell'ordine delle centinaia a causa del costo aggiuntivo della valutazione con vettori a piena fedeltà, ma potrebbe essere comunque preferibile per molti carichi di lavoro su larga scala grazie alla sua efficacia in termini di costi.

Immagine con quattro grafici che mostrano le prestazioni della quantizzazione binaria rispetto a quella scalare. Il grafico in alto a sinistra, intitolato limit 10-recall, ha un richiamo scalare superiore a quello binario con un numero basso di candidati, ma si equivalgono all'aumentare del numero di candidati. Il grafico in alto a destra, intitolato limit 100-recall, mostra lo stesso tipo di dati. Il grafico in basso a sinistra, limit 10-latency, ha i due eventi di inizio con un richiamo basso, con il binario che diventa drasticamente migliore del scalare man mano che il numero di candidati aumenta. L'ultimo grafico in basso a destra, limit 100-latency, presenta il binario come la versione di richiamo migliore da un numero basso ad un numero alto di candidati.
Figura 1. Prestazioni della quantizzazione binaria rispetto a quella scalare.

Metodologia: benchmarking con il dataset di recensioni Amazon

Dopo aver parlato brevemente dei dati e delle informazioni incluse, delineiamo alcuni fattori chiave che influiscono sulle prestazioni di Atlas Vector Search e come abbiamo configurato il nostro benchmark per testarli. È inoltre importante riconoscere perché queste variabili sono critiche: non tutti i clienti ottimizzeranno la loro ricerca per la stessa cosa. Tenendo presente questo aspetto, tenteremo anche di identificare le interazioni e i compromessi tra loro.

Sebbene questo elenco non sia esaustivo (consultare il report completo per ulteriori dettagli), esaminiamo alcuni dei fattori chiave delle prestazioni:

  • Richiamo: il richiamo (una misura dell'accuratezza della ricerca) è influenzato in modo significativo dalla quantizzazione e dalla dimensionalità dei vettori. Il report evidenzia che, mentre la quantizzazione scalare generalmente parte con un richiamo più elevato, la quantizzazione binaria può avvicinarsi a livelli di accuratezza simili aumentando numCandidates, sebbene ciò comporti spesso una Latency maggiore a causa di un passaggio aggiuntivo di rescoring. Inoltre, i vettori a dimensionalità più elevata (1024d e 2048d) mantengono costantemente un richiamo migliore, specialmente con set di dati più grandi e con la quantizzazione, rispetto alle dimensioni inferiori (256d e 512d), che faticano a superare il 70-80% di richiamo.

  • Dimensionamento e costi: La tabella nel benchmark dettaglia le risorse richieste (RAM, archiviazione) e i costi associati per i vari livelli di nodi di ricerca basati su tre diversi casi di test che coinvolgono dimensioni del set di dati variabili, dimensioni vettoriali e metodi di quantizzazione (scalare o binaria). La guida fornisce un esempio di un set di dati campione, sottolineando che i requisiti delle risorse aumentano in modo lineare e notando come la quantizzazione riduca sostanzialmente i requisiti di memoria.

  • Concorrenza e throughput: Il throughput è valutato con richieste multiple emesse simultaneamente. La quantizzazione scalare ottiene generalmente un numero maggiore di query al secondo (QPS) su vari valori limite a causa di una minore quantità di lavoro per query e dell'assenza di rescoring. Spesso si osservano colli di bottiglia nella concorrenza, il che indica che può verificarsi una Latency più elevata. Si consiglia di aumentare il numero di nodi di ricerca o di incrementare le vCPU disponibili per risolvere questi colli di bottiglia e ottenere QPS più elevati.

Immagine di una tabella che mostra i livelli dei nodi per i diversi casi di test. La prima colonna fornisce il caso di test, la seconda colonna indica le risorse richieste (RAM, Storage), la terza il livello del nodo di ricerca RAM, disco, vCPU e la colonna finale il prezzo per 2 nodi. La prima riga è per il set di dati medio del caso di test (5,5 milioni di vettori, tutte le dimensioni), quantizzazione scalare, le risorse richieste sono 22, 104,5 GB, la RAM del livello del nodo di ricerca è s50-storage-optimized 32 GB, 843 GB, 4 vCPU e il prezzo è $1,04/ora. La seconda riga è per il caso di test del set di dati medio (5,5 M vettori, tutte le dimensioni), quantizzazione binaria, le risorse richieste sono 3,43 RAM, 104,5 GB di spazio di archiviazione; il livello del nodo di ricerca è s30-high-cpu 8 GB 213 GB 4 vCPU; e il prezzo è $ 0,24 / ora. La terza riga è per il caso di test di set di dati di grandi dimensioni (15,3 milioni di vettori, 2048 d), quantizzazione scalare; le risorse richieste sono 32,64 RAM e 155,04 GB di spazio di archiviazione; il livello del nodo di ricerca è s50-storage-optimized 32 GB, 843 GB, 4 vCPU; e il prezzo è $ 1,04 / ora. Il quarto caso di test di riga è un set di dati di grandi dimensioni (15,3M di vettori, 2048d), quantizzazione binaria; le risorse richieste sono 5,1 RAM e 155,04 GB di storage; il livello del nodo di ricerca è s30-high-cpu 8 GB, 213 GB, 4 vCPU; e il prezzo è $0,24/ora.
Figura 2. Livelli di nodi per diversi casi di test.

Ottimizzazione delle prestazioni della ricerca vettoriale

Questo rapporto di benchmark esamina a fondo le prestazioni di MongoDB Atlas Vector Search su varie configurazioni e grandi set di dati, in particolare il set di dati Amazon Reviews 2023. Esplora l'impatto di fattori come la quantizzazione (scalare e binaria), la dimensionalità vettoriale, il filtraggio, le configurazioni dei nodi di ricerca, la compressione di binData, la concorrenza e il partizionamento orizzontale sul richiamo, la latency e il throughput.

Sebbene non esista mai una “soluzione magica” poiché la definizione di “successo” della ricerca di ognuno è diversa, volevamo evidenziare alcune delle varie leve da considerare e i metodi per ottenere il massimo dal proprio ambiente. Il nostro obiettivo è fornire alcune considerazioni chiave su come valutare e migliorare le prestazioni della propria ricerca vettoriale, e aiutarti a ponderare e contestualizzare correttamente i fattori chiave. Pronto per ottimizzare la tua esperienza di ricerca vettoriale?

megaphone

Esplora la guida nella nostra documentazione.

Eseguilo autonomamente con il nostro repository GitHub.

Risorse MongoDB
Hub di apprendimento Atlas|Customer Case Study|Hub di apprendimento AI|Documentazione|MongoDB University