Tendenze emergenti nella ricerca e nello sviluppo dei database vettoriali
Introdotti per la prima volta con Milvus nel 2019, i database vettoriali hanno rapidamente acquisito importanza insieme all’emergere dei modelli linguistici di grandi dimensioni (LLMs) e alla crescita delle applicazioni di IA generativa (GenAI). In qualità di ingegnere profondamente coinvolto in questo settore, ho assistito alla loro evoluzione da implementazioni di base di algoritmi di Approximate Nearest Neighbors Search (ANNS) a sofisticati sistemi di database integrali ai moderni framework di IA, da implementazioni di nicchia a distribuzioni su larga scala.
Con la continua maturazione dell’IA, verso dove si dirige il futuro dei database vettoriali? A mio avviso, lo sviluppo di questa tecnologia è strettamente legato all’evoluzione del prodotto, spinto dalle mutevoli esigenze degli utenti. Comprendere questi cambiamenti è fondamentale per orientare la traiettoria e gli obiettivi degli sviluppi tecnologici.
In questo articolo, discuterò lo sviluppo e il futuro atteso dei database vettoriali sia da prospettive tecniche sia pratiche, concentrandomi sull’efficienza dei costi e sui requisiti aziendali.
Separazione dell’archiviazione dei dati caldi e freddi
I costi sono da tempo una delle principali preoccupazioni per una più ampia adozione dei database vettoriali. Questi costi derivano principalmente da due aree:
Archiviazione dei dati: Tradizionalmente, i database vettoriali memorizzano nella cache tutti i dati in memoria o su dischi locali per ottenere una bassa latenza. Tuttavia, nell’era dell’IA, in cui le applicazioni gestiscono frequentemente volumi di dati nell’ordine dei miliardi, questo approccio può consumare enormi quantità di risorse di archiviazione, da decine a centinaia di terabyte.
Calcolo dei dati: Nei sistemi di database distribuiti, dobbiamo partizionare i dati in numerosi piccoli segmenti per migliorare la gestione di dataset estesi. Ogni segmento viene elaborato indipendentemente per recuperare i dati, che vengono poi analizzati collettivamente per compilare i risultati finali Top-K. Questo metodo di partizionamento aumenta significativamente la complessità dell’esecuzione delle query. Ad esempio, se segmentiamo dati per un totale di miliardi in blocchi da 10 GB, si ottengono circa 10.000 segmenti, amplificando così la domanda computazionale di un fattore pari a diecimila.
Il tempo di risposta dei principali LLM.
Il tempo di risposta dei principali LLM. Fonte immagine: https://artificialanalysis.ai/models
Tuttavia, nell’ondata di creazione di applicazioni Retrieval-Augmented Generation (RAG), la latenza dei database vettoriali è diventata un problema irrilevante per i singoli utenti o i singoli tenant su piattaforme ToC. Il ritardo associato alle operazioni dei database vettoriali—che va da pochi millisecondi a diverse centinaia di millisecondi—è minimo rispetto alla latenza, spesso superiore a un secondo, tipica dei modelli linguistici di grandi dimensioni. Inoltre, il costo dello storage di oggetti cloud è significativamente inferiore a quello dei dischi locali e della memoria, spingendo verso soluzioni innovative per ottimizzare l’efficienza di archiviazione e di calcolo.
Archiviazione: Per ridurre al minimo i costi, i dati dovrebbero essere archiviati nello storage di oggetti cloud più economico e recuperati on-demand per le query.
Calcolo: Raffinando in anticipo l’ambito delle query, possiamo ridurre la necessità di elaborazione dei dati su larga scala, migliorando l’efficienza operativa.
In Zilliz, stiamo aggiungendo miglioramenti a Zilliz Cloud (il Milvus completamente gestito) che consentono agli utenti di ridurre i costi mantenendo al contempo la latenza a livelli accettabili.
Accogliere le innovazioni hardware per prestazioni e convenienza migliorate
L’hardware funge da spina dorsale dei progressi tecnologici, migliorando le prestazioni e la convenienza dei database vettoriali.
Progresso delle tecnologie GPU
I database vettoriali, noti per le loro intense esigenze computazionali, hanno registrato sostanziali miglioramenti delle prestazioni grazie ai progressi nelle GPU. La percezione che le GPU siano proibitivamente costose viene ribaltata. Algoritmi migliorati sono adatti alle attività di ricerca vettoriale e consentono operazioni a bassa latenza ed economicamente vantaggiose.
I nostri test mostrano che, utilizzando l'indice CAGRA basato su GPU, il database vettoriale Milvus raggiunge livelli di prestazioni da diverse a decine di volte superiori rispetto all'utilizzo dell'indice HNSW basato su CPU, pur essendo solo due o tre volte più costoso. Questo risultato dimostra che le GPU diventano un'opzione praticabile ed economicamente efficiente per l'elaborazione dei dati, offrendo vantaggi prestazionali significativi rispetto alle configurazioni CPU tradizionali.
Risultati dei test di VectorDBBench
Risultati dei test di VectorDBBench
CPU: m6id.2xlarge T4: g4dn.2xlarge A10G: g5.2xlarge Top 100 Recall: 98%
Emersione delle CPU basate su ARM nel Cloud Computing
L'adozione di CPU basate su ARM, come Graviton di AWS e Ampere di GCP, non solo segna un passaggio verso soluzioni di calcolo più efficienti dal punto di vista energetico ed economicamente vantaggiose, ma rappresenta anche una sfida decisa alla convenzionale architettura x86. Questi processori offrono costi inferiori fornendo al contempo prestazioni comparabili o superiori, rassicurandoti sul fatto di prendere una decisione intelligente per le tue esigenze di calcolo.
Le nostre valutazioni di AWS Graviton3 hanno dimostrato le sue prestazioni superiori e la sua efficienza economica rispetto ai processori x86. In particolare, la rapida iterazione di queste CPU, come si è visto con il rilascio di Graviton4 nel 2023—appena un anno dopo Graviton3—evidenzia un aumento del 30% della potenza di calcolo e un incremento del 70% della larghezza di banda della memoria.
Progressi nelle tecnologie di archiviazione
L'utilizzo dei dischi per l'archiviazione dei dati consente ai database vettoriali di espandere significativamente la loro capacità mantenendo latenze nell'ordine dei millisecondi, adeguate per la maggior parte delle applicazioni di ricerca vettoriale. Inoltre, il costo associato all'archiviazione su disco rimane sostanzialmente inferiore a quello della memoria, rendendola un'opzione interessante per le operazioni ad alta intensità di dati.
Nel complesso, questi sviluppi hardware alimentano le capacità dei database vettoriali e garantiscono che rimangano potenti ed economicamente sostenibili man mano che evolvono.
Collaborare con modelli avanzati di Machine Learning
Anche i modelli di machine learning, che producono embedding vettoriali, stanno attraversando trasformazioni significative. Questi progressi mirano a ridurre la dimensione e la dimensionalità dei vettori, minimizzando così i requisiti di archiviazione per grandi dataset e aumentando l'efficienza computazionale.
I metodi tradizionali per ridurre la dimensionalità vettoriale spesso portavano a compromettere l'accuratezza del recupero dei dati. Tuttavia, le recenti innovazioni offrono alternative praticabili. Ad esempio, il modello OpenAI ext-embedding-3-large consente agli utenti di regolare le dimensioni dei vettori di output tramite parametri configurabili. Questa flessibilità permette una considerevole riduzione della dimensione dei vettori con un impatto minimo sull'efficacia delle attività a valle. Inoltre, Cohere ha recentemente aggiornato la propria tecnologia per supportare vettori che restituiscono più tipi di dati—come float, int8 e binary—tutti contemporaneamente, migliorando la versatilità operativa.
Questi progressi evidenziano la necessità che i database vettoriali interagiscano con queste tecnologie emergenti e le incorporino in modo proattivo. Farlo è cruciale per mantenere un vantaggio competitivo nei settori dinamici e in continua evoluzione del deep learning e della gestione dei dati.
Dare priorità all'accuratezza del recupero vettoriale
L'accuratezza del recupero vettoriale è diventata sempre più importante ed esigente, in particolare con la crescente integrazione dei database vettoriali sia negli ambienti di produzione sia nelle applicazioni RAG all'avanguardia. Con l'evoluzione dei database vettoriali, la ricerca di migliorare la qualità e l'accuratezza della ricerca ha portato all'adozione di tecnologie innovative. Tra queste, il modello di recupero ColBERT e le tecniche avanzate di ricerca vettoriale ibrida sono fondamentali per mitigare la perdita di informazioni e perfezionare i recuperi specifici per dominio.
L'emergere di modelli di recupero avanzati come ColBERT
Il modello di recupero ColBERT è rinomato per la sua efficienza nel gestire la perdita di informazioni tipicamente associata all'architettura ingombrante dei tradizionali modelli dual-tower. ColBERT utilizza un approccio di late interaction basato su vettori di token per evitare le inefficienze delle configurazioni completamente connesse. La sua iterazione più recente, ColBERTv2, ottimizza ulteriormente questo processo integrando il recupero vettoriale, accelerando significativamente il tasso di interazione.
L'architettura generale di ColBERT, data una query q e un documento d..png
L'architettura generale di ColBERT, data una query q e un documento d.
Fonte dell'immagine: https://arxiv.org/pdf/2004.12832.pdf
Ricerca ibrida: collegare tecniche di vettori sparsi e densi
I vettori densi tradizionali, spesso derivati da modelli linguistici come BERT, eccellono nel catturare le sfumature semantiche ma possono vacillare con nuovo vocabolario o termini specializzati assenti dai dati di addestramento. Sebbene il fine-tuning del modello possa mitigare queste limitazioni, l'implementazione in tempo reale rimane costosa e impegnativa. Al contrario, i vettori sparsi provenienti da algoritmi tradizionali di corrispondenza delle parole chiave come BM25 affrontano efficacemente questi problemi fuori dominio.
I modelli di embedding sparsi emergenti come SPLADE e M3-Embedding di BGE combinano la precisione della corrispondenza esatta dei termini con la natura completa dei metodi di recupero denso. Questi modelli generano vettori sparsi che preservano l'efficacia della corrispondenza delle parole chiave incorporando al contempo informazioni semantiche più ricche, migliorando la qualità complessiva del recupero.
Il passaggio verso sistemi di ricerca ibrida che sfruttano metodi di recupero basati su parole chiave e vettori è una pratica consolidata nel settore da lungo tempo. Con i più recenti progressi nella tecnologia dei vettori sparsi, l'integrazione di questi nei database vettoriali per supportare il recupero ibrido è sempre più considerata una best practice. In particolare, il database vettoriale Milvus ha adottato questo approccio nei suoi recenti aggiornamenti.
Prendendo M3-Embedding di BGE come esempio, può eseguire simultaneamente le tre funzionalità comuni di recupero del modello di embedding: recupero denso, recupero multi-vettore e recupero sparso. La tabella seguente mostra la qualità del recupero quando si conducono diversi tipi di ricerche vettoriali. La qualità del recupero ibrido sparso e denso è molto più alta rispetto a quella di quelli che si basano esclusivamente sul recupero denso e sparso.
Valutazione su NarrativeQA (nDCG@10)
Valutazione su NarrativeQA (nDCG@10)
Fonte dell'immagine: https://arxiv.org/abs/2402.03216
Nota: la qualità del recupero viene spesso valutata utilizzando NDCG (Normalized Discounted Cumulative Gain), che valuta l'efficacia dei sistemi di ranking nel fornire agli utenti elenchi di elementi utili. Il valore di K in NDCG, come 5, 10 o 25, indica il numero di elementi con ranking più alto valutati, fornendo così informazioni sulla precisione del sistema di recupero a diversi livelli. Ad esempio, NDCG@10 valuta il ranking dei primi 5 elementi.
Ottimizzazione dei database vettoriali per casi d'uso offline
Sebbene l'attenzione attuale dei database vettoriali sia prevalentemente rivolta ad applicazioni online come Retrieval-Augmented Generation (RAG) e ricerche di similarità tra immagini, il loro potenziale nei casi d'uso offline è vasto ma ancora sottoutilizzato.
Le applicazioni online in genere gestiscono piccoli volumi di dati con alta frequenza e rigorosi requisiti di latenza, spesso richiedendo risposte entro pochi secondi, anche in ambienti sensibili ai costi e con prestazioni minime. Al contrario, le applicazioni offline spesso eseguono attività di elaborazione dei dati su larga scala, come la deduplicazione dei dati e l'estrazione di feature, in cui la durata dell'attività può estendersi da minuti a ore.
Ecco alcune sfide e modi per affrontarle con i database vettoriali nell'uso offline:
Efficienza computazionale: A differenza dei casi d'uso online, che danno priorità alla bassa latenza per ogni query, le attività offline richiedono un'elevata efficienza computazionale su grandi batch di dati. Raggiungere una bassa latenza è particolarmente critico nei componenti offline dei sistemi di ricerca e raccomandazione. Migliorare la densità computazionale, ad esempio tramite l'indicizzazione GPU, può migliorare significativamente la gestione di query su dati estesi in questi scenari.
Restituzione di grandi volumi di dati: Nelle applicazioni di data mining, il recupero vettoriale aiuta i modelli a riconoscere situazioni specifiche. Queste attività richiedono spesso il recupero di volumi di dati sostanziali, sollevando problemi di larghezza di banda ed efficienza algoritmica, soprattutto per grandi ricerche Top-K. Sviluppare soluzioni efficienti per gestire questi recuperi su larga scala è fondamentale per supportare applicazioni robuste di database vettoriali offline.
Affrontando queste sfide, i database vettoriali possono essere meglio attrezzati per supportare una gamma più ampia di applicazioni, estendendo la loro utilità oltre gli ambienti online.
Espansione dei set di funzionalità nei database vettoriali per industrie diverse
Con l'espansione dell'adozione dei database vettoriali in diversi settori, la gamma diversificata di applicazioni rende necessario lo sviluppo di funzionalità specializzate, progettate per rispondere a requisiti specifici del settore. La versatilità dei database vettoriali richiede capacità personalizzate per ottimizzarne le prestazioni e la funzionalità rispetto alle sfide uniche affrontate da ciascun dominio. Questi miglioramenti soddisfano i requisiti unici di diversi ambiti e migliorano la funzionalità e la versatilità complessive dei database vettoriali negli ambienti di produzione. Ecco alcuni esempi di come i database vettoriali si stanno evolvendo per soddisfare queste esigenze:
Applicazioni biofarmaceutiche: L'uso di vettori binari per recuperare formule molecolari di farmaci sta diventando comune nell'industria biofarmaceutica. I vettori binari consentono una ricerca e una corrispondenza efficienti di strutture chimiche complesse, facilitando processi rapidi di scoperta e sviluppo di farmaci.
Esigenze del settore finanziario: A differenza di molti settori che cercano le corrispondenze vettoriali più vicine, il settore finanziario richiede spesso l'identificazione dei vettori più anomali. Questa capacità è cruciale per rilevare anomalie e potenziali frodi, dove le maggiori deviazioni dalla norma sono di massimo interesse.
Funzionalità di Range Search: Range Search consente agli utenti di definire una soglia di similarità per adattarsi ai casi d'uso in cui il numero esatto di risultati rilevanti è imprevedibile. Il sistema restituisce quindi tutti i risultati che superano questa soglia, garantendo elevata rilevanza e precisione nei dati recuperati.
Funzionalità di Groupby e aggregazione: Per dati non strutturati estesi, come film o articoli lunghi, i database vettoriali devono produrre e gestire vettori segmentati per fotogrammi o sezioni di testo. Questa segmentazione richiede solide capacità di Groupby e aggregazione per garantire che i risultati soddisfino efficacemente criteri utente specifici.
Supporto per modelli multimodali: Il passaggio verso modelli multimodali introduce vettori con distribuzioni variabili, presentando sfide per gli algoritmi di recupero tradizionali. I database vettoriali si stanno evolvendo per accogliere questi diversi tipi di dati, garantendo un recupero efficace tra diverse modalità.
Questi adattamenti specifici per settore evidenziano la natura dinamica dei database vettoriali, che si stanno evolvendo per soddisfare le complesse e varie esigenze delle applicazioni moderne in tutti i settori.
Conclusione
Nell’ultimo anno, i database vettoriali hanno visto rapidi progressi, riflettendo una significativa maturazione nei loro casi d’uso e nelle loro capacità intrinseche. Man mano che avanziamo nell’era guidata dall’AI, questi sviluppi sono destinati ad accelerare, annunciando una nuova ondata di innovazioni nell’archiviazione, nella ricerca e nella gestione dei dati.
Questa panoramica mira a far luce sulle tendenze trasformative e sulle funzionalità emergenti nei database vettoriali, offrendo spunti che potrebbero ispirare ulteriore innovazione in questo campo. Mentre affrontiamo questi entusiasmanti cambiamenti, il percorso collettivo verso il miglioramento dei database vettoriali promette di rimodellare il nostro panorama tecnologico, consentendo soluzioni basate sui dati più sofisticate ed efficienti.
Continuiamo a esplorare e innovare insieme, abbracciando con entusiasmo e spirito di collaborazione il promettente futuro dei database vettoriali.
Continua a leggere

Zilliz Cloud Now Available in AWS Asia Pacific (Seoul)
Zilliz Cloud is now available in AWS Seoul — low-latency vector search, in-country data residency, and one-step migration for Korean AI teams. 31 regions across 5 clouds.

Zilliz Cloud Now Available in Azure North Europe: Bringing AI-Powered Vector Search Closer to European Customers
The addition of the Azure North Europe (Ireland) region further expands our global footprint to better serve our European customers.

Vector Databases vs. Graph Databases
Use a vector database for AI-powered similarity search; use a graph database for complex relationship-based queries and network analysis.



