Vector Quantization: come scalare applicazioni di ricerca e di AI Generativa
Update 12/12/2024: The upcoming vector quantization capabilities mentioned at the end of this blog post are now available in public preview:
Support for ingestion and indexing of binary (int1) quantized vectors: gives developers the flexibility to choose and ingest the type of quantized vectors that best fits their requirements.
Automatic quantization and rescoring: provides a native mechanism for scalar quantization and binary quantization with rescoring, making it easier for developers to implement vector quantization entirely within Atlas Vector Search.
View the documentation to get started.
Siamo lieti di annunciare una solida serie di funzionalità di quantizzazione vettoriale in MongoDB Atlas Vector Search. Queste funzionalità ridurranno le dimensioni dei vettori preservando le prestazioni, consentendo agli sviluppatori di creare potenti applicazioni di ricerca semantica e AI generativa con maggiore scalabilità e a un costo inferiore. Inoltre, a differenza dei database vettoriali relazionali o di nicchia, il modello di documento flessibile di MongoDB, abbinato a vettori quantizzati, consente una maggiore agilità nel test e nell'implementazione di diversi modelli di incorporamento in modo rapido e semplice.
Il supporto per l'inserimento di vettori quantizzati scalari è ora disponibile a livello generale e sarà seguito da diverse nuove release nelle prossime settimane. Continua a leggere per scoprire come funziona la quantizzazione vettoriale e consulta la nostra documentazione per iniziare!
Le sfide delle applicazioni vettoriali su larga scala
Sebbene l'uso dei vettori abbia aperto una serie di nuove possibilità, come il riepilogo dei contenuti e l'analisi del sentiment, i chatbot in linguaggio naturale e la generazione di immagini, sbloccare insight all'interno di dati non strutturati può richiedere l'archiviazione e la ricerca tra miliardi di vettori, il che può diventare rapidamente irrealizzabile.
I vettori sono effettivamente degli array di numeri in virgola mobile che rappresentano informazioni non strutturate in un modo comprensibile ai computer (da poche centinaia a miliardi di array) e, con l'aumentare del numero di vettori, aumenta anche la dimensione dell'indice necessario per effettuare una ricerca su di essi. Di conseguenza, le applicazioni vettoriali su larga scala che utilizzano vettori a piena fedeltà hanno spesso costi di elaborazione elevati e tempi di interrogazione lenti, che ne ostacolano la scalabilità e le prestazioni.
Quantizzazione vettoriale per economicità, scalabilità e prestazioni
La quantizzazione vettoriale, una tecnica che comprime i vettori preservandone la somiglianza semantica, offre una soluzione a questa sfida. Immagina di convertire un'immagine a colori in scala di grigi per ridurre lo spazio di archiviazione su un computer. Ciò comporta la semplificazione delle informazioni sul colore di ciascun pixel raggruppando colori simili in canali di colore primari o "intervalli di quantizzazione" e quindi rappresentando ogni pixel con un singolo valore dal suo intervallo. I valori degli intervalli vengono poi utilizzati per creare una nuova immagine in scala di grigi con dimensioni più piccole, ma conservando la maggior parte dei dettagli originali, come mostrato nella Figura 1.
La quantizzazione vettoriale funziona in modo simile, riducendo i vettori a piena fedeltà in un minor numero di bit per ridurre significativamente i costi di memoria e archiviazione senza compromettere i dettagli importanti. Mantenere questo equilibrio è fondamentale, in quanto le applicazioni di ricerca e AI devono fornire insight pertinenti per essere utili.
Due metodi di quantizzazione efficaci sono quello scalare (conversione di un punto float in un numero intero) e quello binario (conversione di un punto float in un singolo bit di 0 o 1). Le funzionalità di quantizzazione attuali e future consentiranno agli sviluppatori di massimizzare il potenziale di Atlas Vector Search.
Il vantaggio più importante della quantizzazione vettoriale è l'aumento della scalabilità e il risparmio sui costi, grazie alla riduzione delle risorse di calcolo e all'elaborazione efficiente dei vettori. E quando viene combinata con Search Nodes, l'infrastruttura dedicata di MongoDB per la scalabilità indipendente attraverso l'isolamento del carico di lavoro e l'infrastruttura ottimizzata per la memoria per la ricerca semantica e i carichi di lavoro dell'AI generativa, la quantizzazione vettoriale può ridurre ulteriormente i costi e migliorare le prestazioni, anche al massimo volume e alla massima scalabilità, per sbloccare più casi d'uso.
"Cohere è entusiasta di essere uno dei primi partner a supportare l'inserimento di vettori quantizzati in MongoDB Atlas", ha dichiarato Nils Reimers, VP of AI Search di Cohere. "L'incorporamento di modelli, come Cohere Embed v3, aiuta le aziende a visualizzare risultati di ricerca più accurati in base alle proprie fonti di dati. Non vediamo l'ora di fornire ai nostri clienti comuni applicazioni accurate e convenienti per le loro esigenze."
Nei nostri test, rispetto ai vettori a piena fedeltà, i vettori di tipo BSON, il formato di serializzazione binaria simile a JSON di MongoDB per un'archiviazione efficiente dei documenti, hanno ridotto le dimensioni di archiviazione del 66% (da 41 GB a 14 GB). E come mostrato nelle Figure 2 e 3, i test illustrano una significativa riduzione della memoria (dal 73% al 96% in meno) e miglioramenti della latency utilizzando vettori quantizzati, dove la quantizzazione scalare preserva le prestazioni di richiamo e le prestazioni di richiamo della quantizzazione binaria vengono mantenute con il rescoring, un processo di valutazione di un piccolo sottoinsieme degli output quantizzati rispetto a vettori a piena fedeltà per migliorare l'accuratezza dei risultati della ricerca.
Inoltre, grazie al vantaggio del costo ridotto, la quantizzazione vettoriale facilita casi d'uso più avanzati, a vettore multiplo, che sarebbero stati troppo onerosi dal punto di vista computazionale o proibitivi da implementare. Ad esempio, la quantizzazione vettoriale può aiutare gli utenti a:
-
Eseguire facilmente A/B test di diversi modelli di incorporamento utilizzando più vettori prodotti dallo stesso campo sorgente durante la prototipazione. Il modello di documento di MongoDB, abbinato a vettori quantizzati, consente una maggiore agilità a costi inferiori. Lo schema flessibile del documento consente agli sviluppatori di distribuire e confrontare rapidamente i risultati dei modelli di incorporamento senza la necessità di ricostruire l'indice o di effettuare il provisioning di un modello di dati o di un set di infrastrutture completamente nuovo.
-
Migliorare ulteriormente la pertinenza dei risultati di ricerca o del contesto per modelli linguistici di grandi dimensioni (LLM) incorporando vettori da più fonti di pertinenza, come diversi campi sorgente (descrizioni di prodotti, immagini di prodotti, ecc.) incorporati nello stesso modello o in modelli diversi.
Come iniziare e cosa succede dopo
Ora, con il supporto per l'inserimento di vettori quantizzati scalari, gli sviluppatori possono importare e lavorare con vettori quantizzati dai loro fornitori di modelli di incorporamento preferiti (come Cohere, Nomic, Jina, Mixedbread e altri), direttamente in Atlas Vector Search. Per iniziare, leggi la documentazione e il tutorial.
E nelle prossime settimane, ulteriori funzionalità di quantizzazione vettoriale forniranno agli sviluppatori un set di strumenti completo per la creazione e l'ottimizzazione di applicazioni con vettori quantizzati:
Il supporto per l'inserimento di vettori quantizzati binari consentirà un'ulteriore riduzione dello spazio di archiviazione, consentendo maggiori risparmi sui costi e offrendo agli sviluppatori la flessibilità di scegliere il tipo di vettori quantizzati più adatto alle loro esigenze.
La quantizzazione e il rescoring automatici forniranno funzionalità native per la quantizzazione scalare e la quantizzazione binaria con rescoring in Atlas Vector Search, rendendo più facile per gli sviluppatori sfruttare appieno la quantizzazione vettoriale all'interno della piattaforma.
Con il supporto per i vettori quantizzati in MongoDB Atlas Vector Search, puoi creare applicazioni di ricerca semantica e di AI generativa scalabili e ad alte prestazioni con flessibilità ed economicità. Consulta queste risorse per ottenere documentazione e tutorial introduttivi.
Consulta la nostra guida rapida per iniziare con Atlas Vector Search oggi stesso.