I modelli di embedding sono diventati la spina dorsale di moltissime applicazioni NLP (Natural Language Processing), dal recupero di informazioni tramite RAG (Retrieval Augmented Generation) alla classificazione e al clustering di documenti e informazioni.
Questi modelli trasformano il testo in vettori numerici che ne catturano il significato semantico: testi simili avranno vettori vicini nello spazio.
Tuttavia, modelli diversi, magari addestrati su dati differenti o con architetture eterogenee, producono embedding in spazi vettoriali completamente incompatibili tra loro.
Immagina di avere due scatole di LEGO. Entrambe contengono mattoncini per costruire la stessa casa. Però, i mattoncini della prima scatola hanno incastri quadrati, mentre quelli della seconda scatola hanno incastri rotondi.
Anche se servono allo stesso scopo (costruire una casa) e rappresentano le stesse parti (pareti, tetto, ecc.), non puoi scambiare i mattoncini tra le due scatole perché gli incastri sono diversi.
Gli embedding sono come questi mattoncini: vettori che rappresentano il significato del testo. E i modelli diversi che li creano sono come le scatole: ognuno usa un suo “tipo di incastro” (cioè un suo modo di organizzare i vettori nello spazio), rendendoli incompatibili tra loro.
Recentemente, un gruppo di ricercatori ha introdotto un metodo chiamato vec2vec che promette di abbattere queste barriere. La loro ricerca (Harnessing the Universal Geometry of Embeddings) presenta la prima tecnica in grado di tradurre embedding testuali da uno spazio vettoriale all’altro senza bisogno di dati appaiati, encoder o set predefiniti di corrispondenze, praticamente non c’è bisogno di fare supervised learning
Questo approccio si basa sull’ipotesi, definita “Strong Platonic Representation Hypothesis” che suggerisce che il linguaggio in sé, nella sua essenza più profonda, possa essere rappresentato in uno spazio universale di significato, indipendentemente dalla lingua specifica o dal modello che lo elabora (che figata!).
In pratica, esiste una struttura semantica latente universale condivisibile tra tutte le lingue e tutti i modelli di embedding sufficientemente grandi.
Un altro paper precedente (Discovering Universal Geometry in Embeddings with ICA) del 2023, esplora concetti simili e tecniche di analisi per rivelare questa struttura semantica universale negli embedding.
Vec2Vec
L’idea di base di vec2vec è quella di “imparare” una rappresentazione latente condivisa in cui gli embedding provenienti da modelli diversi, e relativi a testi diversi, possano essere allineati.
Immagina di avere due libri scritti in linguaggi diversi, da autori diversi, ma che parlano degli stessi concetti. “Imparare una rappresentazione latente condivisa” significa che il sistema trova un modo per “tradurre” entrambi i libri in un linguaggio universale che permette di capire facilmente come i concetti in un libro si relazionano a quelli nell’altro, senza aver bisogno di un dizionario pre-esistente per ogni coppia di lingue.
Il sistema, attraverso l’addestramento (non supervisionato), scopre autonomamente queste regole di trasformazione.
I risultati ottenuti sono notevoli: le traduzioni di vec2vec raggiungono similarità elevate rispetto ai vettori originali nello spazio di destinazione e riescono ad accoppiare correttamente migliaia di embedding mescolati senza conoscere le corrispondenze in anticipo. Il metodo funziona bene anche tra modelli con architetture, numero di parametri e dataset di addestramento differenti.
Implicazioni per la Sicurezza
La capacità di tradurre embedding “sconosciuti” in uno spazio differente preservandone la geometria ha serie implicazioni per la sicurezza dei vector database.
Immaginate uno scenario del genere: un attaccante riesce a ottenere un dump di un vector db compromesso; normalmente, senza il modello originale, quei vettori sarebbero una black-box, dati incomprensibili.
- L’attaccante usa vec2vec per tradurre gli embedding “sconosciuti” nello spazio di un modello a lui noto.
- Una volta “comprensibili”, questi embedding possono essere interrogati con tecniche standard di inferenza di attributi (es. recuperare informazioni categoriche come sesso, età, tema del documento) o, peggio ancora, di inversione degli embedding (tentativo di ricostruire porzioni del testo originale).
Ad esempio, applicando queste tecniche ad un dataset di email della Enron (dataset pubblico di email interne di una defunta compagnia energetica), vec2vec è stato in grado di estrarre informazioni sensibili come nomi di persone e aziende, date, informazioni finanziarie e persino l’argomento di specifiche email, il tutto partendo solo dagli embedding e senza conoscere il modello che li aveva prodotti.
La percentuale di email per cui è stato possibile estrarre informazioni significative arriva fino all’80%!
In un altro esperimento, utilizzando un dataset di cartelle cliniche (MIMIC), il sistema è riuscito a inferire attributi relativi a descrizioni di malattie MedCAT, anche se queste erano scarsamente presenti nei dati di addestramento di vec2vec.
Questo suggerisce che lo spazio latente appreso da vec2vec è effettivamente una rappresentazione universale, capace di generalizzare anche a concetti molto specifici.
È pazzesco come, nonostante siamo noi a progettare queste AI, pezzo per pezzo, neurone dopo neurone, alla fine ci ritroviamo ad osservare i loro comportamenti come se stessimo studiando un fenomeno naturale.
La scoperta di questa “geometria universale” negli embedding ci mostra che c’è ancora moltissimo da capire. E soprattutto, ci ricorda che quando si parla di sicurezza e AI, mai dare nulla per scontato.