Un database vettoriale memorizza informazioni come vettori. I database vettoriali raggruppano gli elementi correlati, consentendo ricerche di similarità e la creazione di potenti modelli di intelligenza artificiale.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Cosa sono gli incorporamenti?
Cos'è il machine learning?
Large Language Model (LLM)
Cos'è l'intelligenza artificiale (IA)?
IA predittiva
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Un database vettoriale è una raccolta di dati archiviati come rappresentazioni matematiche. I database vettoriali rendono più facile per i modelli di machine learning ricordare gli input precedenti, consentendo di utilizzare il machine learning per potenziare la ricerca, i suggerimenti e i casi d'uso di generazione di testo. I dati possono essere identificati in base a metriche di similarità invece che a corrispondenze esatte, consentendo a un modello informatico di comprendere i dati contestualmente.
Quando si visita un negozio di scarpe, un venditore può suggerire scarpe simili al paio per cui è stata espressa una preferenza. Allo stesso modo, quando si acquista in un negozio di e-commerce, il negozio può suggerire articoli simili sotto un'intestazione come "I clienti hanno acquistato anche..." I database vettoriali consentono ai modelli di machine learning di identificare oggetti simili, proprio come il venditore può trovare scarpe comparabili e il negozio di e-commerce può suggerire prodotti correlati. (In effetti, il negozio di e-commerce può utilizzare questo tipo di modello di machine learning per farlo).
Per riassumere, i database vettoriali consentono ai programmi informatici di tracciare confronti, identificare relazioni e comprendere il contesto. In questo modo, è possibile creare programmi di intelligenza artificiale (IA) avanzati come i Large Language Model (LLM).
In questo semplice database vettoriale, i documenti in alto a destra sono probabilmente simili tra loro.
Un vettore è una matrice di valori numerici che esprime la posizione di una virgola mobile su diverse dimensioni.
Nel linguaggio più comune, un vettore è un elenco di numeri, come: {12, 13, 19, 8, 9}. Questi numeri indicano una posizione all'interno di uno spazio, proprio come un numero di riga e di colonna indica una determinata cella in un foglio di calcolo (ad es. "B7").
Ogni vettore in un database vettoriale corrisponde a un oggetto o elemento, che si tratti di una parola, un'immagine, un video, un film, un documento o qualsiasi altro dato. È probabile che questi vettori siano lunghi e complessi, ed esprimano la posizione di ciascun oggetto su decine o addirittura centinaia di dimensioni.
Ad esempio, un database vettoriale di film può individuare i film su dimensioni come durata, genere, anno di uscita, valutazione del controllo genitori, numero di interpreti in comune, numero di spettatori in comune e così via. Se questi vettori vengono creati con precisione, è probabile che nel database vettoriale vengano raggruppati film simili.
Gli incorporamenti sono vettori generati dalle reti neurali. Un tipico database vettoriale per un modello di deep learning è composto da incorporamenti. Una volta che una rete neurale è stata adeguatamente messa a punto, può generare autonomamente gli incorporamenti in modo che non debbano essere creati manualmente. Questi incorporamenti possono quindi essere utilizzati per ricerche di similarità, analisi contestuale, IA generativa e così via, come descritto sopra.
Eseguire query sul solo modello di machine learning, senza un database vettoriale, non è né un'operazione rapida né vantaggiosa in termini di costi. I modelli di machine learning non possono ricordare nulla oltre a quello su cui sono stati addestrati. Devono essere il contesto ogni singola volta (che è il modo in cui funzionano molti chatbot semplici).
Trasmettere ogni volta il contesto di una query al modello è molto lento, poiché è probabile che si tratti di molti dati; e costoso, poiché i dati devono spostarsi e la potenza di elaborazione deve essere ampliata ripetutamente in modo che il modello analizzi gli stessi dati. E nella pratica, la maggior parte delle API di machine learning è probabilmente limitata nella quantità di dati che possono accettare contemporaneamente.
È in questo caso che un database vettoriale torna utile: un set di dati transita nel modello solo una volta (o periodicamente quando cambia) e gli incorporamenti di tali dati da parte del modello vengono memorizzati in un database vettoriale.
In questo modo, è possibile risparmiare un'enorme quantità di tempo di elaborazione. Rende possibile la creazione di applicazioni rivolte all'utente basate su ricerca semantica, classificazione e rilevamento delle anomalie, perché i risultati vengono restituiti entro decine di millisecondi, senza attendere che il modello elabori l'intero set di dati.
Per le query, gli sviluppatori chiedono al modello di machine learning una rappresentazione (incorporamento) solo di quella query. Quindi l'incorporamento può essere trasmesso al database vettoriale e può restituire incorporamenti simili, che sono già stati eseguiti attraverso il modello. Tali incorporamenti possono quindi essere mappati di nuovo al loro contenuto originale, indipendentemente dal fatto che si tratti di un URL di una pagina, di un collegamento a un'immagine o di SKU di prodotti.
Per riassumere, i database vettoriali funzionano su larga scala, e in tempi rapidi. Sono inoltre più economicamente vantaggiosi rispetto alle query su modelli di machine learning in loro assenza.
Vectorize è un database vettoriale distribuito a livello globale offerto da Cloudflare. Le applicazioni basate su Cloudflare Workers possono utilizzare Vectorize per eseguire query di documenti archiviati in Workers KV, immagini archiviate in R2 o profili utente archiviati in D1. Proprio come Workers consente agli sviluppatori di creare applicazioni senza avviare alcuna infrastruttura di backend, Vectorize permette agli sviluppatori di integrare funzionalità di intelligenza artificiale nelle loro applicazioni senza creare la propria infrastruttura di database vettoriale. E per la creazione di incorporamenti, Cloudflare offre Workers AI.
Scopri come creare applicazioni basate sull'intelligenza artificiale su Cloudflare.