🚀 Prova Zilliz Cloud, la versione completamente gestita di Milvus, gratuitamente—sperimenta prestazioni 10 volte più veloci! Prova Ora>>

milvus-logo
LFAI

HomeBlogsPresentazione di Milvus 2.4: ricerca multivettoriale, vettore sparso, indice CAGRA e altro ancora!

Presentazione di Milvus 2.4: ricerca multivettoriale, vettore sparso, indice CAGRA e altro ancora!

  • Engineering
March 20, 2024
Fendy Feng

Siamo lieti di annunciare il lancio di Milvus 2.4, un importante passo avanti nel miglioramento delle capacità di ricerca per i dataset di grandi dimensioni. Quest'ultima versione aggiunge nuove funzionalità, come il supporto per l'indice CAGRA basato su GPU, il supporto beta per le incorporazioni sparse, la ricerca per gruppi e vari altri miglioramenti nelle capacità di ricerca. Questi sviluppi rafforzano il nostro impegno nei confronti della comunità, offrendo a sviluppatori come voi uno strumento potente ed efficiente per la gestione e l'interrogazione di dati vettoriali. Vediamo insieme i principali vantaggi di Milvus 2.4.

Ricerca multivettoriale abilitata per ricerche multimodali semplificate

Milvus 2.4 offre la possibilità di ricerca multivettoriale, consentendo la ricerca e la riclassificazione simultanea di diversi tipi di vettori all'interno dello stesso sistema Milvus. Questa funzione semplifica le ricerche multimodali, migliorando significativamente i tassi di richiamo e consentendo agli sviluppatori di gestire senza problemi applicazioni di intelligenza artificiale complesse con diversi tipi di dati. Inoltre, questa funzionalità semplifica l'integrazione e la messa a punto di modelli di reranking personalizzati, favorendo la creazione di funzioni di ricerca avanzate come i sistemi di raccomandazione precisi che utilizzano le intuizioni dei dati multidimensionali.

How the Milti-Vector Search Feature Works Come funziona la funzione di ricerca multivettoriale

Il supporto multivettoriale in Milvus ha due componenti:

  1. La possibilità di memorizzare/interrogare più vettori per una singola entità all'interno di una collezione, che è un modo più naturale di organizzare i dati.

  2. La possibilità di costruire/ottimizzare un algoritmo di reranking sfruttando gli algoritmi di reranking precostituiti in Milvus.

Oltre a essere una funzionalità molto richiesta, abbiamo creato questa capacità perché il settore si sta muovendo verso modelli multimodali con il rilascio di GPT-4 e Claude 3. Il reranking è una tecnica comunemente usata per migliorare ulteriormente le prestazioni delle query nella ricerca. Il nostro obiettivo è stato quello di facilitare agli sviluppatori la creazione e l'ottimizzazione dei loro reranker all'interno dell'ecosistema Milvus.

Supporto della ricerca per gruppi per una maggiore efficienza di calcolo

La ricerca per gruppi è un'altra caratteristica spesso richiesta che abbiamo aggiunto a Milvus 2.4. Essa integra un'operazione di raggruppamento progettata per migliorare l'efficienza di calcolo. Integra un'operazione di raggruppamento progettata per campi di tipo BOOL, INT o VARCHAR, colmando una lacuna cruciale in termini di efficienza nell'esecuzione di query di raggruppamento su larga scala.

Tradizionalmente, gli sviluppatori si affidavano a estese ricerche Top-K seguite da una post-elaborazione manuale per distillare i risultati specifici del gruppo, un metodo che richiedeva molto calcolo e codice. Grouping Search perfeziona questo processo collegando in modo efficiente i risultati delle query agli identificatori aggregati dei gruppi, come i nomi dei documenti o dei video, semplificando la gestione delle entità segmentate all'interno di grandi insiemi di dati.

Milvus si distingue per l'implementazione di Grouping Search basata su iteratori, che offre un netto miglioramento dell'efficienza computazionale rispetto a tecnologie simili. Questa scelta garantisce una scalabilità superiore delle prestazioni, in particolare negli ambienti di produzione dove l'ottimizzazione delle risorse di calcolo è fondamentale. Riducendo l'attraversamento dei dati e l'overhead di calcolo, Milvus supporta un'elaborazione più efficiente delle query, riducendo significativamente i tempi di risposta e i costi operativi rispetto ad altri database vettoriali.

Grouping Search rafforza la capacità di Milvus di gestire query complesse e ad alto volume e si allinea alle pratiche di calcolo ad alte prestazioni per soluzioni robuste di gestione dei dati.

Supporto beta per le incorporazioni vettoriali sparse

Le incorporazioni sparse rappresentano un cambiamento di paradigma rispetto ai tradizionali approcci vettoriali densi, in quanto si occupano delle sfumature della somiglianza semantica piuttosto che della mera frequenza delle parole chiave. Questa distinzione consente di ottenere una capacità di ricerca più sfumata, in linea con il contenuto semantico della query e dei documenti. I modelli vettoriali sparsi, particolarmente utili nell'information retrieval e nell'elaborazione del linguaggio naturale, offrono potenti capacità di ricerca fuori dal dominio e interpretabilità rispetto alle loro controparti dense.

In Milvus 2.4, abbiamo ampliato la ricerca ibrida per includere le incorporazioni sparse generate da modelli neurali avanzati come SPLADEv2 o da modelli statistici come BM25. In Milvus, i vettori sparsi sono trattati alla stessa stregua dei vettori densi, consentendo la creazione di collezioni con campi vettoriali sparsi, l'inserimento di dati, la costruzione di indici e l'esecuzione di ricerche di similarità. In particolare, le incorporazioni rade in Milvus supportano la metrica di distanza Inner Product (IP), che è vantaggiosa data la loro natura altamente dimensionale, che rende altre metriche meno efficaci. Questa funzionalità supporta anche i tipi di dati con una dimensione come un intero a 32 bit senza segno e un float a 32 bit per il valore, facilitando così un ampio spettro di applicazioni, dalle ricerche testuali sfumate ai sistemi elaborati di recupero delle informazioni.

Con questa nuova funzione, Milvus consente di utilizzare metodologie di ricerca ibride che fondono le tecniche basate sulle parole chiave e quelle basate sull'incorporazione, offrendo una transizione senza soluzione di continuità per gli utenti che si spostano da framework di ricerca incentrati sulle parole chiave alla ricerca di una soluzione completa e a bassa manutenzione.

Stiamo etichettando questa funzione come "Beta" per continuare a testarne le prestazioni e raccogliere il feedback della comunità. La disponibilità generale (GA) del supporto vettoriale sparse è prevista con il rilascio di Milvus 3.0.

Supporto dell'indice CAGRA per l'indicizzazione avanzata dei grafici accelerata dalle GPU

Sviluppata da NVIDIA, CAGRA (Cuda Anns GRAph-based) è una tecnologia di indicizzazione dei grafi basata su GPU che supera in modo significativo i metodi tradizionali basati su CPU, come l'indice HNSW, in termini di efficienza e prestazioni, soprattutto negli ambienti ad alto rendimento.

Con l'introduzione dell'indice CAGRA, Milvus 2.4 offre una maggiore capacità di indicizzazione dei grafi accelerata dalle GPU. Questo miglioramento è ideale per la creazione di applicazioni di ricerca per similarità che richiedono una latenza minima. Inoltre, Milvus 2.4 integra una ricerca brutale con l'indice CAGRA per ottenere i massimi tassi di richiamo nelle applicazioni. Per maggiori dettagli, visitate il blog introduttivo su CAGRA.

Milvus Raft CAGRA vs. Milvus HNSW Milvus Raft CAGRA vs Milvus HNSW

Ulteriori miglioramenti e caratteristiche

Milvus 2.4 include anche altri miglioramenti chiave, come il supporto delle espressioni regolari per una migliore corrispondenza delle sottostringhe nel filtraggio dei metadati, un nuovo indice scalare invertito per un efficiente filtraggio dei tipi di dati scalari e uno strumento di Change Data Capture per monitorare e replicare le modifiche nelle collezioni Milvus. Questi aggiornamenti migliorano complessivamente le prestazioni e la versatilità di Milvus, rendendolo una soluzione completa per operazioni complesse sui dati.

Per maggiori dettagli, consultare la documentazione di Milvus 2.4.

Restate connessi!

Siete curiosi di saperne di più su Milvus 2.4? Partecipate al nostro prossimo webinar con James Luan, VP of Engineering di Zilliz, per una discussione approfondita sulle funzionalità di questa ultima versione. Se avete domande o commenti, iscrivetevi al nostro canale Discord per confrontarvi con i nostri ingegneri e membri della comunità. Non dimenticate di seguirci su Twitter o LinkedIn per le ultime notizie e aggiornamenti su Milvus.

Like the article? Spread the word

Continua a Leggere