media-blend
text-black

fili colorati appuntati su una tavola e disposti in motivi geometrici

Cos'è un database vettoriale?

I database vettoriali memorizzano e cercano incorporamenti di dati ad alta dimensionalità per l'AI di pertinenza aziendale.

default

{}

default

{}

primary

default

{}

secondary

Il database vettoriale è un tipo di database creato per memorizzare e ricercare tipi speciali di dati denominati incorporamenti di vettori. Gli incorporamenti sono numeri che rappresentano il significato o le caratteristiche di entità come testo, immagini, video o audio.

A differenza dei database tradizionali, che funzionano al meglio con dati ordinatamente disposti in righe e colonne, i database vettoriali sono progettati per lavorare con dati non strutturati e multidimensionali. Il loro compito principale è quello di trovare rapidamente oggetti simili gli uni agli altri con una ricerca detta per somiglianza, ossia tesa a rilevare non tanto corrispondenze esatte, quanto a confrontare la vicinanza dei loro incorporamenti nello spazio matematico.

Questo aspetto rende i database vettoriali particolarmente utili per le moderne applicazioni di intelligenza artificiale (AI). Potenziano la ricerca semantica, che restituisce risultati in base al significato piuttosto che a parole identiche, e supportano gli strumenti dell'AI generativa concorrendo a ricavare le informazioni più pertinenti durante la creazione di risposte, immagini o altri contenuti.

I database vettoriali sono utilizzati anche nei motori di suggerimenti, nella ricerca di immagini e video e nella comprensione del linguaggio. In breve, consentono ai sistemi di AI di ricercare e associare le informazioni in un modo molto più vicino a quello usato dagli esseri umani quando pensano e capiscono.

Quali sono i concetti chiave del database vettoriale?

Per comprendere il funzionamento dei database vettoriali è bene soffermarsi inizialmente sui loro tre concetti di base: gli incorporamenti vettoriali, la ricerca per somiglianze e le tecniche di indicizzazione. Ciascun elemento svolge un ruolo critico nel rendere possibile il recupero rapido e intelligente dei dati sulla base del significato anziché sulla semplice corrispondenza.

1. Incorporamenti vettoriali

Al cuore di ogni database vettoriale vi sono gli incorporamenti, ossia rappresentazioni numeriche di dati create da modelli di machine learning. Questi modelli ricevono input non strutturati come testo, immagini o audio e li convertono in lunghi elenchi di numeri (vettori) che catturano l'essenza o il significato del contenuto originale. Le parole “gatto” e “micio”, per esempio, sono due parole diverse che però, per rispecchiare la loro somiglianza semantica, possono essere abbinate a vettori contigui nello spazio.

Tali incorporamenti permettono di confrontare i contenuti in modo più simile al pensiero umano, ossia in base alla somiglianza piuttosto che alla struttura di livello superficiale.

2. Ricerca per somiglianza

Una volta che i dati sono convertiti in incorporamenti vettoriali, il passo successivo è la ricerca per somiglianza, il processo di individuazione dei vettori più simili. L'operazione viene eseguita utilizzando metriche di distanza, ossia formule matematiche che misurano il grado di distanza tra due vettori nello spazio multidimensionale.

I metodi comunemente impiegati sono la somiglianza del coseno, che misura l'angolo tra i vettori, e la distanza euclidea, che calcola la distanza in linea retta che li separa. Queste metriche permettono al database di individuare rapidamente gli elementi memorizzati più simili a una nuova query, anche quando non esiste una corrispondenza esatta tra i dati.

3. Tecniche di indicizzazione

Per rendere rapida e scalabile la ricerca per somiglianza, i database vettoriali applicano metodi di indicizzazione specializzati. Si tratta di algoritmi che organizzano i dati vettoriali in modo da velocizzare la ricerca secondo un compromesso tra precisione e prestazioni. Questi i metodi più diffusi:

Insieme, questi tre pilastri permettono ai database vettoriali di trattare enormi volumi di dati complessi e non strutturati e di trovare i riscontri più pertinenti nel giro di pochi millisecondi.

Come funziona il database vettoriale?

I database vettoriali operano attraverso un processo in tre fasi che permette loro di recuperare le informazioni in base non solo alla corrispondenza delle parole, ma anche al loro significato. Ciò li rende particolarmente efficaci per compiti basati sull'AI come la ricerca semantica e i sistemi di suggerimenti.

1. Codifica dei dati in vettori

In primo luogo, i dati grezzi vengono elaborati dai modelli di machine learning. Questi modelli convertono i dati in incorporamenti vettoriali che acquisiscono le caratteristiche essenziali o il significato del contenuto originale. Per esempio, una frase come “Mi piace fare escursioni in montagna” potrebbe essere trasformata in un vettore che ne rispecchia il tono emotivo e l'argomento.

2. Memorizzazione e indicizzazione dei vettori

Una volta incorporati i dati, i vettori vengono memorizzati nel database vettoriale e organizzati applicando le tecniche menzionate sopra, come HNSW, LSH e PQ. Questi metodi permettono al database di individuare rapidamente vettori simili senza dover confrontare tutti gli elementi uno ad uno.

3. Query con ricerca per somiglianza

Quando un utente invia una query - per esempio una frase, una immagine o un prompt - anche questa viene convertita in un vettore. Il database esegue quindi una ricerca per somiglianza, confrontando il vettore della query con quelli in memoria per trovare risultati semanticamente simili, anche se non condividono esattamente le stesse parole chiave.

Se devi cercare articoli correlati, immagini simili o suggerimenti pertinenti, i database vettoriali rendono possibili esperienze di ricerca più circostanziate e intuitive, concentrandosi sul significato anziché sulla corrispondenza delle parole chiave.

Database tradizionali vs vettoriali

I database tradizionali sono stati a lungo la spina dorsale dell'archiviazione e del recupero dei dati. Questi tipi di database trattano informazioni ben definite e strutturate in righe, colonne e tabelle, utilizzando metodi di query basati sull'esatta corrispondenza delle parole chiave. Questa prerogativa li rende ideali nella gestione di documenti come i record dei clienti o gli elenchi di inventario.

Al contrario, i database vettoriali eccellono nel rinvenire schemi e relazioni in dati complessi e non strutturati per desumerne un significato più profondo rispetto alle informazioni di superficie. Sono ottimizzati per applicazioni basate sull'AI come la ricerca semantica, il riconoscimento di immagini o video, l'AI generativa e in generale qualsiasi casistica d'uso in cui è essenziale la comprensione del contesto.

Quali sono i vantaggi del database vettoriale?

I database vettoriali offrono numerosi vantaggi alle organizzazioni che lavorano con l'AI e grandi volumi di dati non strutturati. In questa sezione ci soffermeremo sui più importanti:

Queste caratteristiche rendono i database vettoriali un componente fondamentale nella distribuzione di sistemi di AI intelligenti, scalabili e capaci di adattarsi.

Una risposta alle difficoltà comuni dei database vettoriali

Oltre alle potenti capacità, i database vettoriali portano con sé anche sfide inedite. Ecco alcuni dei problemi più comuni, e come affrontarli:

Costi di calcolo e archiviazione dei vettori ad alta dimensionalità

L'archiviazione e l'elaborazione di grandi volumi di vettori ad alta dimensionalità possono assorbire notevoli risorse di potenza computazionale e memoria che gravano sui costi infrastrutturali, in particolare per le applicazioni in tempo reale. Questo problema può essere risolto avvalendosi di servizi gestiti che offrono un'infrastruttura ottimizzata, oltre a tecniche di compressione per ridurre l'utilizzo di memoria.

Messa a punto dei parametri di indicizzazione per un richiamo e performance ottimali

Metodi di indicizzazione come HNSW e LSH richiedono un'attenta messa a punto dei parametri per trovare un equilibrio tra velocità e precisione di ricerca. Indici non adeguatamente regolati possono tradursi in un rallentamento delle query o nell'incapacità di fornire risultati pertinenti. Ecco perché è fondamentale iniziare con parametri di messa a punto predefiniti per poi testare e adattare i valori in modo iterativo in base al set di dati e al caso d'uso.

Interoperabilità ed evoluzione delle norme

L'ecosistema di database vettoriali è tutt'ora in fase di maturazione, e non esiste un unico standard universalmente adottato per i formati vettoriali o le API. La conseguenza è un rischio di difficoltà di integrazione con le pipeline di AI o con gli output di modelli appartenenti a framework diversi. Per contrastarlo, le organizzazioni dovrebbero privilegiare la scelta di piattaforme di database con un forte supporto di ecosistemi e API aperte che si integrano nativamente con i framework di machine learning.

Gestione di complesse esigenze di filtraggio

Le applicazioni del mondo reale si trovano spesso a dover mettere insieme somiglianze vettoriali con filtri strutturati quali ID utente, ubicazione o categoria di contenuto. Non tutti i database vettoriali supportano questa modalità in modo nativo. Una soluzione consiste allora nell'utilizzare database che supportano il filtraggio dei metadati e le strategie di filtraggio ibrido, permettendoti di aggiungere alla ricerca vettoriale un livello di logica basata sulle regole. Così facendo avrai la certezza di ottenere risultati più pertinenti e sensibili al contesto.

Casi d'uso dei database vettoriali e applicazioni di AI

I database vettoriali sono il motore di un numero crescente di casi d'uso basati sull'AI nei settori più diversi. Permettendo alle macchine di comprendere e confrontare i dati in base al significato e al contesto, questi sistemi stanno trasformando il modo in cui ricerchiamo, suggeriamo, generiamo e interpretiamo i contenuti. Questi alcuni dei casi d'uso di maggior impatto:

Ricerca

Suggerimento

AI generativa

Visione artificiale

LLM

Questi casi d'uso evidenziano la flessibilità e l'importanza dei database vettoriali nella fasi di ricerca, personalizzazione, generazione e percezione, e ne spiegano il ruolo centrale nelle applicazioni di AI di nuova generazione.

Il futuro dei database vettoriali

Per rispondere alle crescenti esigenze dei sistemi basati sull'AI, i database vettoriali sono in rapida evoluzione. In questo quadro di espansione delle loro capacità, il loro futuro appare influenzato da almeno quattro tendenze chiave:

  1. Adozione nell'enterprise AI e nella ricerca multimodale
    Per potenziare la ricerca intelligente in diversi tipi di dati, le imprese si affidano sempre più spesso ai database vettoriali. Lo scopo è ottenere interazioni più naturali e consapevoli del contesto nei sistemi di supporto clienti, e-commerce e conoscenza interna.
  2. Utilizzo nei sistemi RAG per contenuti generati dall'AI con un fondamento
    I database vettoriali sono centrali per la tecnologia RAG, che migliora l'accuratezza e la pertinenza delle risposte generate dall'AI radicandole nei dati del mondo reale. Questo aspetto risulta particolarmente prezioso in settori come quello legale, sanitario e finanziario, in cui la fedeltà fattuale è cruciale.
  3. Orientamento verso sistemi ibridi che combinano ricerca strutturata e semantica
    Il futuro appartiene ai motori di ricerca ibridi che fondono le tradizionali query basate su parole chiave con la ricerca vettoriale semantica. Questo permette agli utenti di filtrare le ricerche in base ai metadati strutturati recuperando al contempo riscontri basati sul significato e sul contesto.
  4. Standardizzazione di API e linguaggi di query vettoriali
    Con la crescita dell'adozione, il settore si sta orientando verso linguaggi di query vettoriali standardizzati e API interoperabili, che rendono più semplice integrare i database vettoriali negli stack di dati esistenti e nei workflow dell'AI. Questa prospettiva vedrà ridurre l'eccessiva dipendenza dai singoli fornitori e darà una spinta all'innovazione.
Logo SAP

Prodotto SAP

SAP HANA Cloud

Vai oltre le app transazionali e metti i tuoi sviluppatori in condizione di creare app basate sull'AI e consapevoli del contesto.

Scopri tutti i dettagli