Home topics Database vettoriale Che cos'è un database vettoriale?
Esplora la soluzione di database vettoriale di IBM Iscriviti alla newsletter Think
Illustrazione con collage di pittogrammi di nuvole, grafico a torta, grafici

Data di aggiornamento: 29 luglio 2024
Autori: Jim Holdsworth, Matthew Kosinski

Che cos'è un database vettoriale?

Un database vettoriale memorizza, gestisce e indicizza dati vettoriali altamente dimensionali. I punti dati sono memorizzati come array di numeri chiamati “vettori,” che vengono raggruppati in base alla similarità. Questo tipo di progettazione consente query a bassa latenza, l'ideale per le applicazioni AI.

I database vettoriali sono sempre più popolari perché offrono la velocità e le prestazioni necessarie per promuovere casi d'uso e applicazioni di intelligenza artificiale (AI) generativa. Secondo Gartner®, entro il 2026 oltre il 30% delle imprese adotterà database vettoriali per creare i propri foundation model con dati aziendali rilevanti.1

Confronto tra database vettoriali e database tradizionali 

A differenza dei database relazionali  tradizionali con righe e colonne, i punti di dati in un database vettoriale sono rappresentati da vettori con un numero fisso di dimensioni. Poiché utilizzano incorporamenti vettoriali ad alta dimensionalità, i database vettoriali sono in grado di gestire meglio i set di dati non strutturati.

La natura dei dati ha subito una profonda trasformazione. Non si tratta più di informazioni strutturate facilmente memorizzabili nei database tradizionali. I dati non strutturati, tra cui post sui social media, immagini, video, clip audio e altro ancora, stanno crescendo dal 30% al 60% anno dopo anno.2

I database relazionali eccellono nella gestione di set di dati strutturati e semistrutturati in formati specifici. Caricare origini di dati non strutturati in un database relazionale tradizionale per memorizzare, gestire e preparare i dati per l'intelligenza artificiale (AI) è un processo molto laborioso, soprattutto quando si tratta di nuovi casi d'uso generativi come la ricerca per similarità.

La ricerca tradizionale rappresenta tipicamente i dati utilizzando caratteristiche o token discreti, come parole chiave, tag o metadati. Le ricerche tradizionali si basano sulle corrispondenze esatte per recuperare i risultati rilevanti. Ad esempio, la ricerca di "smartphone" restituirà risultati contenenti la parola "smartphone".

Al contrario, la ricerca vettoriale rappresenta i dati come vettori densi, ovvero vettori in cui la maggior parte o tutti gli elementi sono diversi da zero. I vettori sono rappresentati in uno spazio vettoriale continuo, lo spazio matematico in cui i dati sono rappresentati come vettori.

Le rappresentazioni vettoriali consentono la ricerca per similarità. Ad esempio, una ricerca vettoriale per "smartphone" potrebbe restituire risultati anche per "cellulare" e "dispositivi mobili".

Ogni dimensione del vettore denso corrisponde a una caratteristica latente o a un aspetto dei dati. Una caratteristica latente è una caratteristica o un attributo sottostante che non viene osservato direttamente, ma che viene dedotto dai dati attraverso modelli matematici o algoritmi.

Le caratteristiche latenti acquisiscono i pattern e le relazioni nascoste nei dati, consentendo rappresentazioni più significative e accurate degli elementi come vettori in uno spazio ad alta dimensionalità.

Come scegliere il giusto foundation model di AI

Utilizza questo framework di selezione del modello per scegliere il modello più appropriato bilanciando i requisiti di prestazioni con costi, rischi ed esigenze di implementazione.

Contenuti correlati

Registrati per ricevere l'ebook sugli storage dei dati AI

Cosa sono i vettori?

I vettori sono un sottoinsieme dei tensori, che in machine learning (ML) indicano genericamente un gruppo di numeri, o un raggruppamento di gruppi di numeri, in uno spazio n-dimensionale. I tensori funzionano come uno strumento matematico per la registrazione e l'organizzazione dei dati. Partendo dall'elemento più piccolo:

  • Uno scalare è un tensore adimensionale, contenente un singolo numero. Ad esempio, un sistema di modellazione dei dati meteorologici potrebbe rappresentare la temperatura massima di un singolo giorno (in gradi Fahrenheit) in forma scalare come 85.

  • Quindi, un vettore è un tensore monodimensionale (o di primo grado o primo ordine), contenente più scalari dello stesso tipo di dati. Ad esempio, un modello meteorologico potrebbe utilizzare le temperature minime, medie e massime di un singolo giorno in forma vettoriale: 62, 77, 85. Ogni componente scalare è una caratteristica, cioè una dimensione, del vettore, che rappresenta una caratteristica del meteo di quel giorno.

I numeri vettoriali possono rappresentare oggetti complessi come parole, immagini, video e audio generati da un modello ML. Questi dati vettoriali ad alta dimensionalità, contenenti molteplici caratteristiche, sono essenziali per il machine learning, l'elaborazione del linguaggio naturale (NLP) e altre attività di AI. Alcuni esempi di utilizzo di dati vettoriali comprendono: 

  • Testo: i chatbot devono comprendere il linguaggio naturale. Lo fanno affidandosi a vettori che rappresentano parole, paragrafi e interi documenti.

  • Immagini: i pixel delle immagini possono essere descritti da dati numerici e combinati per costituire un vettore altamente dimensionale per quell'immagine. 

  • Voce o audio: come le immagini, anche le onde sonore possono essere suddivise in dati numerici e rappresentate come vettori, abilitando applicazioni di AI come il riconoscimento vocale. 
Cosa sono gli incorporamenti vettoriali? 

Gli incorporamenti vettoriali sono rappresentazioni numeriche di punti dati che convertono vari tipi di dati, inclusi dati non matematici come parole, audio o immagini, in array di numeri che i modelli ML possono elaborare.

I modelli di intelligenza artificiale (AI), dai semplici algoritmi di regressione lineare alle intricate reti neurali utilizzate nel deep learning, operano attraverso la logica matematica.

Tutti i dati che un modello AI utilizza, compresi i dati non strutturati, devono essere registrati numericamente. L'incorporamento vettoriale è un modo per convertire un punto dati non strutturato in un array di numeri che esprime il significato originale di quel dato.

Ecco un esempio semplificato di incorporamenti di parole per un corpus molto piccolo (2 parole), dove ogni parola è rappresentata come vettore tridimensionale:

  • gatto          [0.2, -0,4, 0,7]
  • cane         [0.6, 0.1, 0.5]

In questo esempio, ogni parola ("gatto") è associata a un vettore univoco ([0,2, -0,4, 0,7]). I valori nel vettore rappresentano la posizione della parola in uno spazio vettoriale tridimensionale continuo.

Si prevede che le parole con significati o contesti simili abbiano rappresentazioni vettoriali simili. Ad esempio, i vettori per "gatto" e "cane" sono vicini tra loro, riflettendo la loro relazione semantica.

I modelli di incorporamento sono addestrati per convertire i punti dati in vettori. I database vettoriali memorizzano e indicizzano gli output di questi modelli di incorporamento. All'interno del database, i vettori possono essere raggruppati o identificati come opposti in base al significato semantico o alle caratteristiche di praticamente qualsiasi tipo di dati.

Gli incorporamenti vettoriali sono la spina dorsale di raccomandazioni, chatbot e app generative come ChatGPT.

Prendiamo ad esempio le parole "auto" e "veicolo". Hanno significati simili, ma sono scritte in modo diverso. Affinché un'applicazione AI consenta una ricerca semantica efficace, le rappresentazioni vettoriali di "auto" e "veicolo" devono acquisire la loro similarità semantica. Nel machine learning, gli incorporamenti rappresentano vettori altamente dimensionali che codificano queste informazioni semantiche. 

Tutorial: Implementa l'AI generativa nell'automazione intelligente dei workflow con la piattaforma IBM® watsonx
Come si utilizzano i database vettoriali?

I database vettoriali svolgono tre funzioni chiave nelle applicazioni di AI e ML:

  • Storage vettoriale
  • Indicizzazione vettoriale
  • Ricerca di similarità basata su query o prompt

In pratica, i database vettoriali funzionano utilizzando più algoritmi per condurre una ricerca di prossimità ANN (Approximate Nearest Neighbor). Gli algoritmi vengono quindi raccolti in una pipeline per recuperare e fornire in modo rapido e preciso i dati vicini al vettore interrogato.

Ad esempio, una ricerca ANN potrebbe cercare prodotti visivamente simili in un catalogo di e-commerce. Altri usi includono il rilevamento delle anomalie, la classificazione e la ricerca semantica. Poiché un set di dati viene esaminato da un modello una sola volta, i risultati vengono restituiti entro alcuni millisecondi.

Storage vettoriale

I database vettoriali memorizzano l'output di un algoritmo di modello di incorporamento, gli incorporamenti vettoriali. Inoltre, memorizzano i metadati di ciascun vettore, tra cui titolo, descrizione e tipo di dati, che possono essere interrogati utilizzando i filtri dei metadati.

Inserendo e memorizzando questi incorporamenti, il database può quindi facilitare il recupero rapido di una ricerca per similarità, abbinando il prompt dell'utente a un incorporamento vettoriale simile. 

Indicizzazione vettoriale

I vettori devono essere indicizzati per accelerare le ricerche all'interno di spazi di dati altamente dimensionali. I database vettoriali creano indici su incorporamenti vettoriali per le funzioni di ricerca.

Il database vettoriale indicizza i vettori utilizzando un algoritmo ML. L'indicizzazione mappa i vettori su nuove strutture dati che consentono ricerche per similarità o distanza più rapide, come la ricerca di prossimità tra vettori.

I vettori possono essere indicizzati utilizzando algoritmi come HNSW (Hierarchical Navigable Small World), LSH (Locality-Sensitive Hashing) o quantizzazione del prodotto (PQ).

  • HNSW è popolare perché crea una struttura ad albero. Ogni nodo dell'albero mostra un insieme di vettori completi delle gerarchie in ciascuno di essi. Le similarità tra i vettori sono mostrate ai margini tra i nodi.

  • LSH indicizza i contenuti utilizzando una ricerca di prossimità. Per una maggiore velocità, l'indice può essere ottimizzato restituendo un risultato approssimativo ma non esaustivo.

  • PQ converte ogni set di dati in una rappresentazione breve ed efficiente in termini di memoria. Vengono memorizzate solo le rappresentazioni brevi, anziché tutti i vettori.
Ricerca di similarità basata su query o prompt

I vettori di query sono rappresentazioni vettoriali delle query di ricerca. Quando un utente esegue query o prompt su un modello AI, il modello calcola un incorporamento della query o del prompt. Il database calcola quindi le distanze tra i vettori di query e i vettori memorizzati nell'indice per restituire risultati simili.

I database possono misurare la distanza tra vettori con vari algoritmi, come la ricerca di prossimità. Le misurazioni possono anche basarsi su varie metriche di similarità, come la similarità del coseno.

Il database restituisce i vettori più simili o i vicini più prossimi al vettore di query in base alla classifica di similarità. Questi calcoli supportano varie attività di machine learning come i sistemi di raccomandazione, la ricerca semantica, il riconoscimento delle immagini e altre attività di elaborazione del linguaggio naturale. 

Vantaggi dei database vettoriali

I database vettoriali sono alla base di molte applicazioni AI aziendali, perché possono offrire molti vantaggi:

  • Velocità e prestazioni
  • Scalabilità
  • Costo di proprietà inferiore
  • Gestione dei dati
  • Flessibilità
Velocità e prestazioni

I database vettoriali utilizzano diverse tecniche di indicizzazione per consentire una ricerca più rapida. Gli algoritmi di indicizzazione vettoriale e calcolo della distanza, come la ricerca per prossimità, possono aiutare a ottimizzare le prestazioni nella ricerca di risultati pertinenti in set di dati di grandi dimensioni con milioni, se non miliardi, di punti dati.

Un aspetto da considerare è che i database vettoriali forniscono risultati approssimativi. Le applicazioni che richiedono una maggiore precisione potrebbero dover utilizzare un tipo di database diverso, al costo di una velocità di elaborazione inferiore.

Scalabilità

I database vettoriali possono archiviare e gestire enormi quantità di dati non strutturati, scalando orizzontalmente con nodi aggiuntivi, mantenendo le prestazioni man mano che le richieste di query e i volumi di dati aumentano.

Costo di proprietà inferiore

Poiché consentono un recupero più rapido dei dati, i database vettoriali velocizzano l'addestramento dei foundation model.

Gestione dei dati

I database vettoriali in genere forniscono funzioni integrate per aggiornare e inserire facilmente nuovi dati non strutturati. 

Flessibilità

I database vettoriali sono progettati per gestire la complessità aggiuntiva dell'utilizzo di immagini, video o altri dati multidimensionali.

Dati i molteplici casi d'uso che vanno dalla ricerca semantica alle applicazioni di AI conversazionale, i database vettoriali possono essere personalizzati per soddisfare i requisiti aziendali e di AI. Le organizzazioni possono iniziare con un modello generico come i modelli della serie IBM® Granite, i modelli Llama-2 di Meta o Google Flan, quindi fornire i propri dati in un database vettoriale per migliorare l'output dei modelli e delle applicazioni AI.

Considerazioni sui database vettoriali e sulle strategie di dati

Le organizzazioni hanno un'ampia gamma di opzioni nella scelta di un database vettoriale. Per trovarne uno che soddisfi le loro esigenze in materia di dati e AI, molte organizzazioni considerano diversi aspetti:

  • Tipi di database vettoriali
  • Integrazione con un ecosistema di dati
  • Quando l'indicizzazione vettoriale non è ottimale
  • Strumenti per la creazione e la distribuzione di database vettoriali
Tipi di database vettoriali

Sono disponibili alcune alternative tra cui scegliere.

  • Database autonomi, proprietari e completamente vettoriali, come Pinecone.

  • Soluzioni open source come Weaviate o Milvus, che forniscono API RESTful integrate e supportano i linguaggi di programmazione Python e Java.

  • Piattaforme con funzionalità di database vettoriali integrate, come IBM® watsonx.data.

  • Database vettoriali ed estensioni per la ricerca nei database come l'estensione open source pgvector di PostgreSQL, che fornisce funzionalità di ricerca per similarità vettoriale. Un database vettoriale SQL può combinare i vantaggi di un database SQL tradizionale con la potenza di un database vettoriale.
Integrazione con un ecosistema di dati

I database vettoriali non devono essere considerati come funzionalità autonome, ma piuttosto come parte integrante di un più ampio ecosistema di dati e AI.

Molti offrono API, estensioni native o possono essere integrati con i database. Poiché i database vettoriali sono creati per utilizzare i dati aziendali al fine di migliorare i modelli, le organizzazioni devono anche disporre di una governance e una sicurezza dei dati adeguate per garantire che i dati utilizzati per addestrare i modelli linguistici di grandi dimensioni (LLM) siano affidabili. 

Oltre alle API, molti database vettoriali utilizzano kit di sviluppo software (SDK) specifici per i linguaggi di programmazione, in grado di integrare le API. Utilizzando gli SDK, gli sviluppatori trovano spesso più facile lavorare con i dati nelle loro app.

Quando l'indicizzazione vettoriale non è ottimale

L'utilizzo di un archivio vettoriale e di un indice è particolarmente adatto per le applicazioni basate su fatti o query basate sui fatti, ad esempio l'estrazione di informazioni specifiche da documenti complessi. 

Tuttavia, la richiesta di un riepilogo degli argomenti non si presta bene a un indice vettoriale. In questo caso, un LLM esaminerebbe tutti i diversi contesti possibili su quell'argomento all'interno dei dati.

Un'opzione più rapida consiste nell'utilizzare un tipo diverso di indice, ad esempio un indice di elenco anziché un indice vettoriale, perché un indice di elenco recupererebbe immediatamente il primo elemento di ogni elenco.

Strumenti per la creazione e la distribuzione di database vettoriali

Per ottimizzare lo sviluppo di un database vettoriale, LangChain è un framework di orchestrazione open source per lo sviluppo di applicazioni che utilizzano LLM.

Disponibili sia in librerie basate su Python che in librerie basate su JavaScript, gli strumenti e le API di LangChain semplificano il processo di creazione di app basate su LLM come chatbot e agenti virtuali.LangChain fornisce integrazioni per oltre 25 metodi di incorporamento diversi e per più di 50 archivi vettoriali diversi (su cloud e locali). 

Per potenziare l'AI di livello aziendale, si potrebbe abbinare un data lakehouse con un database vettoriale integrato. Le organizzazioni possono unificare, curare e preparare incorporamenti vettoriali per le loro applicazioni di AI generativa su larga scala attraverso dati attendibili e governati. Ciò migliora la pertinenza e la precisione dei workload di intelligenza artificiale, inclusi chatbot, sistemi di raccomandazione personalizzati e applicazioni di ricerca per similarità delle immagini.

Casi d'uso dei database vettoriali

Le applicazioni dei database vettoriali sono numerose e in crescita. Alcuni dei principali casi d'uso includono:

  • Retrieval-augmented generation (RAG)
  • AI conversazionale
  • Motori di raccomandazione
  • Ricerca vettoriale
Retrieval-augmented generation (RAG)

La retrieval-augmented generation (RAG) è un framework di AI che consente ai modelli linguistici di grandi dimensioni (LLM) di recuperare fatti da una base di conoscenza esterna. I database vettoriali sono fondamentali per supportare le implementazioni RAG.

Le aziende preferiscono sempre più l'approccio RAG nei workflow di AI generativa per il suo time-to-market più rapido, l'inferenza efficiente e l'output affidabile. Il framework è particolarmente utile in casi d'uso come l'assistenza clienti, la gestione delle risorse umane e dei talenti.

La RAG aiuta a garantire che un modello sia collegato ai fatti più recenti e affidabili e che gli utenti abbiano accesso alle fonti del modello, in modo che le sue affermazioni possano essere verificate. Ancorare il LLM a dati attendibili può aiutare a ridurre le allucinazioni del modello.

La RAG utilizza dati vettoriali altamente dimensionali per arricchire i prompt con informazioni semanticamente rilevanti ai fini dell'apprendimento contestuale da parte dei foundation model. La RAG richiede storage e recupero efficaci durante la fase di inferenza, che gestisce il volume più elevato di dati.

I database vettoriali eccellono nell'indicizzare, memorizzare e recuperare in modo efficiente questi vettori altamente dimensionali, fornendo la velocità, la precisione e la scalabilità necessarie per applicazioni come motori di raccomandazione e chatbot.

AI conversazionale

I database vettoriali, in particolare se utilizzati per implementare framework RAG, possono aiutare a migliorare le interazioni con gli agenti virtuali migliorando la capacità degli agenti di analizzare le basi di conoscenza pertinenti in modo efficiente e accurato. Gli agenti possono fornire risposte contestuali in tempo reale alle query degli utenti, insieme ai documenti di origine e ai numeri di pagina di riferimento.

Motori di raccomandazione

Ad esempio, i siti di e-commerce possono utilizzare i vettori per rappresentare le preferenze dei clienti e gli attributi dei prodotti. In questo modo possono suggerire articoli simili agli acquisti precedenti in base alla similarità vettoriale, migliorando l'esperienza dell'utente e aumentando la fidelizzazione.

Ricerca vettoriale

Questa tecnica di ricerca viene utilizzata per individuare elementi o punti dati simili, in genere rappresentati come vettori, in raccolte di grandi dimensioni. La ricerca vettoriale può acquisire le relazioni semantiche tra gli elementi, consentendo un'elaborazione efficace mediante modelli di machine learning e applicazioni di intelligenza artificiale. 

Queste ricerche possono assumere diverse forme.

  • Ricerca semantica: esegui le ricerche in base al significato o al contesto di una query, per risultati più precisi e rilevanti. Poiché sia le parole che le frasi possono essere rappresentate come vettori, le funzioni di ricerca vettoriale semantica comprendono meglio l'intenzione dell'utente rispetto a parole chiave generiche. 

  • Ricerca per similarità e applicazioni: trova immagini, audio, video o dati di testo simili per supportare il riconoscimento avanzato di immagini e voce e l'elaborazione del linguaggio naturale. Immagini e video possono essere indicizzati e recuperati in base alla similarità.
Soluzioni
watsonx

IBM watsonx è una piattaforma di dati e AI pensata per le imprese. Crea rapidamente applicazioni AI personalizzate, gestisci tutte le fonti di dati e accelera i workflow di AI responsabile, il tutto su un'unica piattaforma. 

Scopri di più su watsonx

IBM Cloud Databases for Elasticsearch

IBM Cloud Databases for Elasticsearch coniuga la flessibilità di un motore di ricerca di testo completo con la potenza dell'indicizzazione di un database di documenti JSON. Combinando modelli di machine learning (ML) integrati con nodi ML specializzati, tipi di dati e algoritmi di ricerca, IBM Cloud Databases for Elasticsearch è lo strumento ideale per potenziare la tua azienda.

Maggiori informazioni su IBM Cloud Databases for Elasticsearch
IBM Cloud Databases for PostgreSQL

IBM Cloud Databases for PostgreSQL, un'offerta database as a service di PostgreSQL, consente ai team di dedicare più tempo alla creazione con elevata disponibilità, orchestrazione del backup, ripristino a orari prestabiliti (PITR) e replica di lettura con facilità.

Maggiori informazioni su IBM Cloud Databases for PostgreSQL
Risorse In che modo i foundation model e gli storage di dati sbloccano il potenziale aziendale dell'AI generativa

Le organizzazioni che utilizzano correttamente i modelli di AI generativa possono riscontrare una miriade di benefici: dall'aumento dell'efficienza operativa e dal miglioramento del processo decisionale alla rapida creazione di contenuti di marketing.

Assistenti di AI generativa IBM: la guida completa all'acquisto per il 2024

Usa questa guida per scoprire quali sono le funzioni degli assistenti di AI generativa IBM più adatte per ogni esigenza, come confrontarli con gli altri modelli sul mercato e come iniziare a usarli.

Che cos'è la retrieval-augmented generation?

Il RAG è un framework di AI per recuperare dati da una knowledge base esterna per basare gli LLM sugli insight più accurati e aggiornati possibile e per fornire agli utenti informazioni sul processo generativo dei LLM.

Fai il passo successivo

Scala i workload AI per tutti i tuoi dati, ovunque, con IBM watsonx.data, uno storage dei dati adatto allo scopo costruito su un'architettura open data lakehouse.

Esplora watsonx.data Prenota una demo live
Note a piè di pagina

Tutti i link sono esterni a ibm.com.

1 Gartner Innovation Insight: Vector DatabasesGartner, 4 settembre 2023.

2 2024 Strategic Roadmap for StorageGartner, 27 maggio 2024.