Fondamenti di IA

Cos’è la ricerca di similarità vettoriale e come funziona?

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Ricerca di similarità vettoriale trova elementi le cui rappresentazioni numeriche sono vicine a un vettore di query secondo una distanza o funzione di similarità scelta. Un modello di embedding mappa testi, immagini, audio, prodotti o utenti in vettori così che gli elementi correlati possano occupare regioni vicine dello spazio di rappresentazione.

L’indice di ricerca non comprende la similarità in modo indipendente dall’embedding e dalla metrica. Se la rappresentazione codifica una nozione errata di rilevanza, un algoritmo veloce di nearest‑neighbor restituirà i vicini sbagliati in modo efficiente.

Punti chiave

  • Il modello di embedding, il preprocessing e la metrica di distanza definiscono cosa significa essere vicini.
  • La ricerca esatta dei k‑nearest‑neighbor esamina tutti i candidati; gli indici approssimativi scambiano parte del recall per velocità e memoria.
  • HNSW, indici a file invertito e product quantization offrono diversi compromessi di costruzione, interrogazione e aggiornamento.
  • Il filtraggio dei metadati, il recupero ibrido e il reranking fanno parte del sistema, non sono considerazioni successive.
What is Vector Similarity Search and How Does It Work? diagram showing content, embed, index, search, filter + rerank, results
La qualità del recupero deriva dall’embedding, dalla metrica, dall’indice, dai filtri e dalla valutazione che operano come un unico sistema.

Embedding e metriche di similarità

Un transformer o altro encoder converte un elemento in un vettore di lunghezza fissa. La similarità coseno confronta l’angolo, il prodotto scalare combina direzione e magnitudine, e la distanza euclidea misura la separazione in linea retta.

La normalizzazione può rendere equivalenti le classifiche basate sulla similarità coseno e sul prodotto scalare. La metrica usata per addestrare l’embedding dovrebbe corrispondere al recupero. Valuta la rilevanza specifica del dominio perché la similarità semantica, la sostituibilità e le preferenze dell’utente sono obiettivi differenti.

Ricerca esatta vs ricerca approssimativa

La ricerca esatta calcola la similarità con ogni vettore idoneo e restituisce i veri candidati più vicini. È semplice e accurata ma diventa costosa man mano che la collezione, la dimensione o il tasso di query aumentano.

Gli indici di nearest‑neighbor approssimativi (ANN) esaminano un insieme di candidati più piccolo. Misura il recall@k rispetto al ground truth esatto insieme a latenza, throughput e memoria. Approssimativo descrive l’algoritmo di ricerca, non la correttezza dell’embedding stesso.

HNSW, file invertiti e compressione

I grafi Hierarchical Navigable Small World collegano i vettori in più livelli. Una query scende da collegamenti sparsi a lungo raggio a collegamenti locali densi. L’ampiezza della ricerca controlla un trade‑off tra recall e latenza, mentre la costruzione del grafo e gli aggiornamenti consumano memoria.

Gli indici a file invertito usano clustering grossolani — spesso correlati al K-means — per cercare regioni selezionate. La product quantization comprime i sottospazi dei vettori, riducendo la memoria a costo di errore nella distanza. Faiss combina diverse di queste tecniche.

Filtraggio, recupero ibrido e reranking

Le query reali richiedono spesso filtri per tenant, lingua, data, permessi o prodotto. Il pre‑filtraggio può lasciare troppo pochi candidati nel grafo; il post‑filtraggio può sprecare lavoro di recupero. I piani di indice e di query dovrebbero essere testati con una selettività dei filtri realistica.

La ricerca ibrida combina il matching lessicale con la similarità vettoriale in modo che nomi esatti e significato semantico contribuiscano entrambi. Un reranker può applicare un cross‑encoder più costoso o regole di business ai migliori candidati. Mantieni i controlli di autorizzazione in ogni fase.

Valutazione, aggiornamenti e drift

Usa giudizi di rilevanza etichettati o il successo di task downstream, non solo cluster visivi. Monitora recall, precision, normalized discounted cumulative gain, percentili di latenza, memoria, tempo di costruzione dell’indice e freschezza.

Gli aggiornamenti del modello di embedding richiedono il re‑embedding e possono spostare ogni punto. Vettori di versione e indici, supportano la migrazione a doppio run e monitorano il drift di query/popolazione. La riduzione della dimensionalità può aiutare la visualizzazione ma può distorcere i quartieri e non dovrebbe essere scambiata per una valutazione del recupero.

Embedding, metriche e strutture d’indice

La ricerca di similarità vettoriale rappresenta gli elementi come embedding numerici e recupera i vettori vicini a una query secondo una metrica come la similarità coseno, il prodotto scalare o la distanza euclidea. Il modello di embedding definisce cosa significhi vicinanza; l’indice si limita ad accelerare tale geometria. Normalizza i vettori quando necessario, conserva la versione del modello e del preprocessing, e non confrontare distanze provenienti da spazi di embedding incompatibili. Un modello potente per la semantica generale può fallire su compatibilità di prodotto, citazioni legali, immagini, codice o terminologia multilingue senza una valutazione di dominio.

La ricerca esatta confronta ogni vettore ed è semplice ma costosa su larga scala. I metodi di nearest‑neighbor approssimativi scambiano recall per velocità e memoria. Gli indici a grafo come HNSW navigano i vicini collegati; i metodi a file invertito partizionano i vettori in celle grossolane; la product quantization comprime i vettori; i metodi basati su disco scambiano spazio di archiviazione e latenza. I parametri di tempo di costruzione, tempo di query e memoria interagiscono. Esegui benchmark su conteggi di vettori, dimensioni, aggiornamenti, filtri, concorrenza e hardware simili a quelli di produzione.

Qualità del recupero e ricerca ibrida

Crea query valutate con elementi rilevanti e non rilevanti, includendo termini rari, ambiguità, testi lunghi, lingue e freschezza. Misura recall@k, precision@k, mean reciprocal rank, normalized discounted gain, latenza e costo. Misura separatamente il recall ANN rispetto ai vicini esatti e la rilevanza semantica rispetto ai giudizi umani. Un indice veloce può recuperare gli elementi matematicamente più vicini ma errati se l’embedding è scadente.

La ricerca per parole chiave rimane efficace per nomi esatti, identificatori, date e token rari. Il recupero ibrido combina classifiche lessicali e vettoriali, mentre i filtri sui metadati impongono tenant, permessi, lingua, data e tipo. Applica l’autorizzazione prima di restituire o generare risultati; il filtraggio post‑recupero può rivelare l’esistenza o il contenuto. I reranker migliorano la precisione a costo di latenza aggiuntiva. Il chunking dovrebbe seguire la struttura del documento e conservare sorgente, versione e offset per la citazione.

Ciclo di vita in produzione

Gli aggiornamenti richiedono ID deterministici, propagazione delle cancellazioni, tombstone o compattazione, e una strategia per il re‑embedding dopo cambiamenti del modello. Non mescolare mai silenziosamente embedding vecchi e nuovi; ricostruisci o versiona gli indici e confrontali offline prima della transizione. Monitora le distribuzioni di query e risultati, ricerche vuote o a basso punteggio, latenza, salute dell’indice e feedback valutati. Proteggi gli embedding perché possono codificare informazioni sensibili e consentire inferenze. La ricerca vettoriale è un’infrastruttura di recupero, non una garanzia di veridicità; i sistemi downstream devono conservare le evidenze e astenersi quando il supporto è insufficiente.

Esempio pratico: recupero vettoriale consapevole dei permessi

Un’azienda suddivide i manuali in sezioni, li embedda con un modello versionato e memorizza ID documento, permessi, lingua, versione e offset. Un set di query valutate confronta il recupero lessicale, vettoriale, ibrido e rerankato. La valutazione misura recall e precision a k, copertura delle citazioni, latenza, costo e risultati per numeri di parte esatti e terminologia multilingue. Il recall ANN è verificato separatamente rispetto ai vicini vettoriali esatti.

Al momento della query, i filtri di autorizzazione selezionano i candidati prima che il contenuto venga restituito. Le ricerche a basso punteggio si astengono, e lo strato di risposta cita le sezioni di origine e indica conflitti. Il re‑embedding costruisce un nuovo indice anziché mescolare versioni di vettori, e gli eventi di cancellazione rimuovono sorgente, chunk e cache. Il monitoraggio traccia query vuote, distribuzioni di punteggio e latenza, negazioni di permesso e rilevanza revisionata. Gli embedding sono protetti come dati derivati sensibili. La similarità recupera evidenze; non stabilisce che le evidenze siano vere o applicabili.

Prove di implementazione e prontezza operativa

Una decisione di produzione richiede più di una dimostrazione di successo. Definisci gli utenti target, l’ambiente operativo, gli input, gli output, le dipendenze, il responsabile e le conseguenze di ogni errore importante. Stabilisci una baseline riproducibile e un set di valutazione versionato prima della messa a punto. Testa casi ordinari, condizioni di confine, input malformati o mancanti, spostamenti di distribuzione, interruzioni di dipendenze, usi impropri e i gruppi o ambienti più probabilmente trascurati. Misura la qualità del compito insieme a calibrazione o incertezza, latenza, throughput, costo delle risorse, accessibilità, privacy e sicurezza. Registra ogni trasformazione e soglia affinché un revisore indipendente possa riprodurre il risultato e distinguere le evidenze da un prototipo attraente.

Prima del lancio, assegna l’autorità per il rilascio, le eccezioni, le modifiche, il rollback e il ritiro. Utilizza un rollout graduale, conserva un fallback sicuro e verifica il monitoraggio con guasti iniettati deliberatamente. La telemetria operativa dovrebbe rivelare la qualità dell’input, il comportamento dell’output, la versione del modello o della regola, lo stato delle dipendenze, le override umane e i risultati confermati senza raccogliere dati sensibili non necessari. Definisci soglie di allerta e un responsabile di risposta, quindi esamina le evidenze reali dopo il deployment anziché presumere che le prestazioni offline persistano. Rivaluta ogni volta che le fonti dati, gli utenti, i modelli, i fornitori, le politiche, l’hardware o gli obiettivi cambiano. Un sistema mantenuto necessita anche di procedure documentate di recupero, apprendimento dagli incidenti, cancellazione e conservazione, e di un punto chiaro in cui debba essere disattivato o sostituito.

Domande frequenti

È necessario un database vettoriale per la ricerca di similarità?

No. Le librerie e i database relazionali possono supportare indici vettoriali. Un database specializzato è utile quando la sua scala, il filtraggio, la durabilità e le funzionalità operative corrispondono al carico di lavoro.

Un embedding ad alta dimensionalità è sempre migliore?

No. Un maggior numero di dimensioni aumenta i costi e può codificare rumore. Confronta i modelli sulla qualità di recupero rappresentativa, latenza e spazio di archiviazione.

Riferimenti principali

Haziqa è uno scienziato dei dati con una vasta esperienza nella scrittura di contenuti tecnici per aziende di intelligenza artificiale e SaaS.