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:
- Algoritmo HNSW (Hierarchical Navigable Small World): algoritmo su grafi che consente una navigazione rapida tra vettori simili, nota come "ricerca approssimata del vicino più vicino".
- LSH (Locality-Sensitive Hashing): tecnica che raggruppa vettori simili in buckets utilizzando funzioni di hash per velocizzare i confronti.
- Quantizzazione del prodotto (PQ): metodo che comprime i vettori in rappresentazioni più piccole per ridurre il consumo di memoria senza intaccare la qualità della ricerca.
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:
- Nascono per i dati non strutturati e semi-strutturati
I database vettoriali sono progettati per gestire i tipi di dati con cui i database tradizionali sono in difficoltà, come testo, immagini, audio e video. Convertono questi contenuti in incorporamenti vettoriali, rendendo possibili operazioni significative di confronto e recupero. - Eseguono una rapida ricerca per somiglianza in grandi set di dati
I database vettoriali sfruttano l'indicizzazione avanzata e i parametri di distanza per trovare rapidamente elementi semanticamente simili tra milioni o persino miliardi di record. - Sono strettamente integrati con le pipeline dell'AI
I database vettoriali sono connessi in modo perfettamente integrato con strumenti come i modelli LLM, i sistemi RAG e i motori di suggerimenti, allo scopo di rendere le applicazioni più intelligenti e consapevoli del contesto. - Supportano strategie di filtraggio ibrido e di metadati
I database vettoriali combinano la somiglianza vettoriale con i filtri tradizionali come tag, categorie e timestamp per perfezionare i risultati delle ricerche e migliorarne la pertinenza.
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
- Ricerca semantica: abilita la ricerca in base al significato piuttosto che alle parole chiave esatte, rendendo più pertinenti i risultati nelle knowledge base, nei centri di assistenza e negli strumenti interni.
- Chatbot con tecnologia vettoriale: potenzia l'AI conversazionale recuperando risposte o documenti contestualmente simili a supporto di interazioni più naturali.
Suggerimento
- Suggerimenti di prodotto personalizzati: abbina le preferenze degli utenti ad articoli simili utilizzando la somiglianza vettoriale, rafforzando così l'engagement nelle piattaforme di e-commerce e streaming.
- Suggerimenti di contenuti: suggerisci articoli, video o musica in base alla somiglianza semantica con i contenuti fruiti in precedenza.
AI generativa
- Generazione aumentata dal recupero (RAG, retrieval-augmented generation): fornisce modelli LLM con contesto mirato e radicato su un database vettoriale per migliorare l'accuratezza e l'affidabilità dei contenuti generati.
Visione artificiale
- Recupero di immagini e video simili: trova supporti visivamente simili utilizzando incorporamenti di immagini, che si rivelano estremamente utili nei settori della moda e del design, ma anche nella sorveglianza e nella gestione degli asset multimediali.
LLM
- Memorizzazione e recupero di contesto: gestisce la memoria a lungo termine per i modelli LLM archiviando gli incorporamenti di interazioni o documenti precedenti, attivando una comprensione più profonda e la continuità in conversazioni o compiti di lunga durata.
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:
- 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. - 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. - 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. - 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.
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.