My IBM Accedi Iscriviti

Cos'è l'incorporamento vettoriale?

12 giugno 2024

Autori

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

Gather

Cos'è l'incorporamento vettoriale?

Gli incorporamenti vettoriali sono rappresentazioni numeriche di punti dati che esprimono diversi tipi di dati, inclusi dati non matematici come parole o immagini, come un array di numeri che i modelli di machine learning (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 su cui un modello AI opera, compresi i dati non strutturati come testo, audio o immagini, devono essere espressi numericamente. L'incorporamento vettoriale è un modo per convertire un punto dati non strutturato in un array di numeri che esprime ancora il significato originale di quel dato.

L'addestramento dei modelli per produrre rappresentazioni vettoriali di punti dati che corrispondono esattamente alle loro caratteristiche reali ci consente di fare ipotesi utili su come gli incorporamenti vettoriali si relazionino tra loro.

Intuitivamente, maggiore è la somiglianza tra due punti dati reali, maggiore dovrebbe essere la somiglianza tra i rispettivi incorporamenti vettoriali. Le caratteristiche o le qualità condivise da due punti dati dovrebbero riflettersi in entrambi i loro incorporamenti vettoriali. Punti dati diversi dovrebbero avere incorporamenti vettoriali diversi.

Basati su tali presupposti logici, gli incorporamenti vettoriali possono essere utilizzati come input per modelli che eseguono operazioni utili nel mondo reale attraverso operazioni matematiche che confrontano, trasformano, combinano, ordinano o manipolano in altro modo queste rappresentazioni numeriche.

L'espressione dei punti dati come vettori consente inoltre l'interoperabilità di diversi tipi di dati, fungendo da lingua franca tra diversi formati di dati rappresentandoli nello stesso spazio di incorporamento. Ad esempio, gli assistenti vocali degli smartphone "traducono" gli input audio dell'utente in incorporamenti vettoriali, che a loro volta utilizzano incorporamenti vettoriali per l'elaborazione del linguaggio naturale (NLP) di tale input.

Gli incorporamenti vettoriali sono quindi alla base di quasi tutto il ML moderno: alimentano i modelli utilizzati nei campi dell'NLP e della computer vision e fungono da elementi costitutivi fondamentali dell'AI generativa.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Cos'è un vettore?

I vettori appartengono alla più ampia categoria dei tensori. Nel machine learning (ML), "tensore" è un termine generico usato per indicare un array di numeri, o un array di array di numeri, in uno spazio n-dimensionale, che funziona come uno strumento matematico per la registrazione e l'organizzazione dei dati.

È utile notare che alcune parole vengono utilizzate in modo diverso in un contesto di ML rispetto al linguaggio quotidiano o ad altri contesti matematici. La parola "vettore", ad esempio, ha una connotazione più specifica in fisica, in cui si riferisce solitamente a una grandezza caratterizzata sia da una direzione che da un'intensità, rispetto all'uso che ne viene fatto nel ML.

Allo stesso modo, la parola "dimensione" ha implicazioni diverse nel ML, a seconda del suo contesto. Quando si descrive un tensore, ci si riferisce al numero di array contenuti in quel tensore. Quando si descrive un vettore, ci si riferisce al numero di componenti e numeri individuali contenuti in quel vettore. Termini analoghi come "ordine" o "grado" possono aiutare a ridurre l’ambiguità.

  • 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 Celsius) in forma scalare come 33.

  • Un vettore è un tensore monodimensionale (o di primo grado o primo ordine), contenente più scalari dello stesso tipo di dati. Ad esempio, il modello meteorologico potrebbe rappresentare le temperature minime, medie e massime di quella singola giornata in forma vettoriale come (25, 30, 33). Ogni componente scalare è una caratteristica, cioè una dimensione, del vettore, che corrisponde a una caratteristica del meteo di quel giorno.

  • Una tupla è un tensore di primo ordine che contiene scalari di più tipi di dati. Ad esempio, il nome, l'età e l'altezza di una persona (in pollici) potrebbero essere rappresentati in forma di tupla come (Jane, Smith, 31, 65).

  • Una matrice è un tensore bidimensionale (o di secondo rango o di secondo ordine), contenente più vettori dello stesso tipo di dati. Può essere visualizzata in modo intuitivo come una griglia bidimensionale di scalari in cui ogni riga o colonna è un vettore. Ad esempio, il modello meteorologico già citato potrebbe rappresentare l'intero mese di giugno come una matrice 3x30, in cui ogni riga è un vettore di caratteristiche che descrive le temperature minime, medie e massime di un singolo giorno.

  • I tensori con tre o più dimensioni, come i tensori tridimensionali usati per rappresentare le immagini a colori negli algoritmi di computer vision, sono chiamati array multidimensionali o tensori N-dimensionali .

Diverse trasformazioni semplici possono essere applicate anche alle matrici o ad altri tensori n-dimensionali per rappresentare i dati che contengono in forma vettoriale. Ad esempio, una matrice 4x4 può essere appiattita in un vettore a 16 dimensioni; un tensore tridimensionale di un'immagine di 4x4 pixel può essere appiattito in un vettore a 48 dimensioni. Gli incorporamenti assumono prevalentemente la forma di vettori nel ML moderno.

Al contrario, i vettori in altri contesti, come la fisica, non sono necessariamente incorporamenti. Ma nel machine learning, i vettori sono generalmente incorporamenti e gli incorporamenti sono di solito vettori.

Vettori e incorporamenti:

Sebbene i due termini siano spesso usati in modo intercambiabile nel machine learning, "vettori" e gli "incorporamenti" non sono la stessa cosa.

Un incorporamento è qualsiasi rappresentazione numerica dei dati che cattura le loro qualità rilevanti in modo tale che gli algoritmi di machine learning possano elaborarli. I dati sono incorporati in uno spazio n-dimensionale.

In teoria, non è necessario che i dati siano incorporati come vettori. Ad esempio, alcuni tipi di dati possono essere incorporati in forma di tupla.1 Ma in pratica, nel ML moderno gli incorporamenti assumono prevalentemente la forma di vettori.

Al contrario, i vettori in altri contesti, come la fisica, non sono necessariamente incorporamenti. Ma nel machine learning, i vettori sono generalmente incorporamenti e gli incorporamenti sono di solito vettori.

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Come funziona l'incorporamento vettoriale?

Un incorporamento vettoriale trasforma un punto dati, come una parola, una frase o un'immagine, in un array n-dimensionale di numeri che rappresentano le caratteristiche (features) di quel punto dati. Ciò si ottiene addestrando un modello di incorporamento su un ampio set di dati pertinenti al compito da svolgere o utilizzando un modello pre-addestrato.

Per comprendere gli incorporamenti vettoriali è necessario spiegare alcuni concetti chiave:

  • In che modo gli incorporamenti vettoriali rappresentano i dati.

  • Come avviene il confronto tra incorporamenti vettoriali.

  • Come è possibile utilizzare i modelli per generare incorporamenti vettoriali.

In che modo gli incorporamenti vettoriali rappresentano i dati

Nel machine learning, le "dimensioni" dei dati non si riferiscono alle dimensioni familiari e intuitive dello spazio fisico. Nello spazio vettoriale, ogni dimensione corrisponde a una caratteristica individuale dei dati, allo stesso modo in cui lunghezza, larghezza e profondità sono caratteristiche di un oggetto nello spazio fisico.

Gli incorporamenti vettoriali in genere gestiscono dati ad alta dimensionalità. In pratica, la maggior parte delle informazioni non numeriche è ad alta dimensionalità. Ad esempio, anche una piccola e semplice immagine in bianco e nero di 28x28 pixel di una cifra scritta a mano dal set di dati MNIST può essere rappresentata come un vettore a 784 dimensioni, in cui ogni dimensione corrisponde a un singolo pixel il cui valore in scala di grigi varia da 0 (per il nero) a 1 (per il bianco).

Tuttavia, non tutte queste dimensioni dei dati contengono informazioni utili. Nell'esempio del MNIST, la cifra stessa rappresenta solo una piccola frazione dell'immagine. Il resto è uno sfondo vuoto o "rumore". Sarebbe quindi più corretto dire che stiamo "incorporando una rappresentazione dell'immagine in uno spazio a 784 dimensioni" piuttosto che dire che stiamo "rappresentando 784 diverse caratteristiche dell'immagine".

Un incorporamento vettoriale efficiente di dati ad alta dimensionalità spesso comporta quindi un certo grado di riduzione della dimensionalità: la compressione di dati ad alta dimensionalità fino a uno spazio di dimensioni inferiori che omette informazioni irrilevanti o ridondanti.

La riduzione della dimensionalità aumenta la velocità e l'efficienza del modello, anche se con un potenziale compromesso in termini di accuratezza o precisione, perché vettori più piccoli richiedono una potenza di calcolo inferiore per le operazioni matematiche. Può anche aiutare a ridurre il rischio di overfitting dei dati di addestramento. Diversi metodi di riduzione della dimensionalità, come gli autoencoder, le convoluzioni, l'analisi delle componenti principali e il t-SNE (T-distributed stochastic neighbor embedding), sono più adatti a diversi tipi di dati e compiti.

Mentre le dimensioni dei dati vettoriali delle immagini sono relativamente oggettive e intuitive, determinare le caratteristiche rilevanti di alcune modalità di dati, come i significati semantici e le relazioni contestuali del linguaggio, è più astratto o soggettivo. In questi casi, le caratteristiche specifiche rappresentate dalle dimensioni degli incorporamenti vettoriali possono essere definite mediante il feature engineering manuale o, più comunemente nell'era del deep learning, determinate implicitamente attraverso il processo di addestramento di un modello per fare previsioni accurate.

Come confrontare gli incorporamenti vettoriali

La logica di base degli incorporamenti vettoriali è che gli incorporamenti n-dimensionali di punti dati simili dovrebbero essere raggruppati strettamente insieme nello spazio n-dimensionale. Tuttavia, gli incorporamenti possono avere decine, centinaia o persino migliaia di dimensioni. Ciò va ben oltre gli spazi bidimensionali o tridimensionali che la nostra mente può visualizzare intuitivamente.

Invece, vengono utilizzate più misure per dedurre la similarità relativa di diversi incorporamenti vettoriali. La migliore misura della similarità per una situazione specifica dipende in gran parte dalla natura dei dati e dall'uso che viene fatto dei confronti.

  • La distanza euclidea misura la distanza media in linea retta tra i punti corrispondenti di vettori diversi. La differenza tra due vettori n-dimensionali a e b viene calcolata sommando prima i quadrati delle differenze tra ciascuna delle loro componenti corrispondenti, quindi, (a1–b1)2 + (a2–b2)2 + ... (an–bn)2 e poi prendendo la radice quadrata di quella somma. Poiché la distanza euclidea è sensibile alla magnitudine, è utile per dati che riflettono elementi come dimensioni o conteggi. I valori vanno da 0 (per i vettori identici) a ∞.
     

  • La distanza del coseno, chiamata anche similarità del coseno, è una misura normalizzata del coseno dell'angolo tra due vettori. La distanza del coseno varia da -1 a 1, in cui 1 rappresenta vettori identici, 0 rappresenta vettori ortogonali (o non correlati) e -1 rappresenta vettori completamente opposti. La similarità del coseno è ampiamente utilizzata nelle attività di PNL perché normalizza naturalmente le grandezze dei vettori ed è meno sensibile alla frequenza relativa delle parole nei dati di addestramento rispetto alla distanza euclidea.
     

  • Un prodotto di punti è, in termini algebrici, la somma del prodotto delle componenti corrispondenti di ciascun vettore. Geometricamente parlando, è una versione non normalizzata della distanza del coseno che riflette anche la frequenza o la magnitudine.

Modelli di incorporamento

I modelli di incorporamento autonomi possono essere offerte pre-addestrate o addestrate da zero su compiti specifici o dati di addestramento. Ogni forma di dati in genere trae vantaggio da una specifica architettura di rete neurale, ma nella maggior parte dei casi si tratta di best practice piuttosto che di regole esplicite. 

A volte, il processo di incorporamento è parte integrante di una rete neurale più ampia. Ad esempio, nelle reti neurali convoluzionali (CNN) encoder-decoder utilizzate per compiti come la segmentazione delle immagini, l'atto di ottimizzare l'intera rete per fare previsioni accurate implica addestrare gli strati dell'encoder a produrre incorporamenti vettoriali efficaci delle immagini di input.

Modelli pre-addestrati
per molti casi d'uso e campi di studio, i modelli pre-addestrati possono fornire incorporamenti utili che possono fungere da input per modelli personalizzati o database vettoriali. Questi modelli open source sono in genere addestrati su un ampio e vasto set di dati di addestramento per apprendere incorporamenti utili per molti compiti a valle, come il few-shot learning o il zero-shot learning.

Per i dati di testo, i modelli di incorporamento di parole open source di base come Word2Vec di Google o Global Vectors (GLove) della Stanford University possono essere addestrati da zero, ma sono disponibili anche in versioni pre-addestrate su dati di testo pubblici come Wikipedia e Common Crawl. Allo stesso modo, i modelli linguistici di grandi dimensioni (LLM) encoder-decoder spesso utilizzati per gli incorporamenti, come BERT e le sue numerose varianti, sono pre-addestrati su un'enorme quantità di dati di testo. 

Per le attività di computer vision, i modelli di classificazione delle immagini pre-addestrati come ImageNet, ResNet o VGG possono essere adattati agli incorporamenti di output semplicemente rimuovendo il loro ultimo strato di previsione completamente connesso.

Modelli di incorporamento personalizzati
Alcuni casi d'uso, in particolare quelli che coinvolgono concetti esoterici o nuove classi di dati, traggono vantaggio dalla messa a punto di modelli pre-addestrati o dall'addestramento di modelli di incorporamento completamente personalizzati. 

I settori legale e medico sono esempi importanti di settori che spesso si basano su un vocabolario esoterico e altamente specializzato, su basi di conoscenza o su immagini che difficilmente sarebbero inclusi nei dati di addestramento di modelli più generici. Integrare la conoscenza di base dei modelli pre-addestrati con un ulteriore addestramento su esempi specifici del settore può aiutare il modello a produrre incorporamenti più efficaci.

Sebbene questo obiettivo possa essere raggiunto anche progettando un'architettura di rete neurale su misura o addestrando da zero un'architettura nota, farlo richiede risorse e conoscenze istituzionali che potrebbero essere fuori portata per la maggior parte delle organizzazioni o degli hobbisti.

Incorporamento vettoriale per le immagini

Gli incorporamenti di immagini convertono le informazioni visive in vettori numerici utilizzando i valori dei pixel di un'immagine come componenti vettoriali. Di solito si basano sulle CNN, anche se negli ultimi anni i modelli di computer vision utilizzano sempre più spesso reti neurali basate su trasformatori.2

Le immagini con un tipico schema di colori RGB sono rappresentate numericamente come una matrice tridimensionale, in cui le tre matrici corrispondono ai rispettivi valori di rosso, verde e blu di ciascun pixel. Le immagini RGB sono generalmente a 8 bit, il che significa che ogni valore di colore per un pixel può variare da 0 a 256 (o 28). Come abbiamo visto, le immagini in bianco e nero sono rappresentate numericamente come una matrice bidimensionale di pixel in cui ogni pixel ha un valore compreso tra 0 e 1.

Le convoluzioni utilizzano filtri numerici bidimensionali, chiamati kernel, per estrarre le caratteristiche dall'immagine. I pesi dei kernel più adatti all'estrazione delle caratteristiche rilevanti sono di per sé un parametro apprendibile durante l'addestramento del modello. Queste convoluzioni producono una mappa delle caratteristiche dell'immagine.

Quando necessario, si ricorre al padding per mantenere la dimensione originale dell'input, aggiungendo strati extra di zeri alle righe e alle colonne esterne dell'array. Al contrario, il pooling, che essenzialmente riassume le caratteristiche visive prendendo solo i loro valori minimi, massimi o medi, può essere utilizzato per un'ulteriore riduzione della dimensionalità.

Infine, la rappresentazione compressa viene appiattita in un vettore.

Ricerca di immagini

Un'applicazione intuitiva dell'incorporamento delle immagini è la ricerca di immagini: un sistema che acquisisce dati di immagini come input e restituisce altre immagini con incorporamenti vettoriali simili, come un'app per smartphone che identifica una specie vegetale da una fotografia.

Un'esecuzione più complessa è la ricerca multimodale di immagini, che prende in input un testo e restituisce immagini correlate a quel testo. Non è possibile ottenere questo risultato prendendo un incorporamento di testo da un modello linguistico e usandolo come input per un modello di computer vision separato. I due modelli di incorporamento devono essere addestrati in modo esplicito per essere correlati l'uno con l'altro.

Un importante algoritmo utilizzato per l'incorporamento di immagini e testo è il contrastive language-image pretraining (CLIP), originariamente sviluppato da OpenAI. CLIP è stato addestrato su un enorme set di dati non etichettati di oltre 400 milioni di coppie di immagini e didascalie prese da internet. Questi accoppiamenti sono stati utilizzati per addestrare congiuntamente un codificatore di immagini e un codificatore di testo da zero, utilizzando la perdita contrastiva per massimizzare la similarità del coseno tra gli incorporamenti di immagini e gli incorporamenti per le didascalie corrispondenti.

Generazione di immagini

Un'altra importante applicazione dell'incorporamento di immagini è la generazione di immagini, ovvero la creazione di nuove immagini.

Un metodo per generare nuove immagini a partire da incorporamenti di immagini è quello degli autoencoder variazionali (VAE). I VAE codificano due diversi incorporamenti vettoriali di dati di input: un vettore di medie e un vettore di deviazioni standard. Attraverso un campionamento casuale dalla distribuzione di probabilità che questi incorporamenti vettoriali rappresentano, i VAE possono utilizzare la loro rete di decodifica per generare variazioni di tali dati di input.

Uno dei principali metodi di generazione di immagini basato sull'incorporamento, soprattutto negli ultimi anni, utilizza il già citato algoritmo CLIP. I modelli di sintesi delle immagini come DALL-E, Midjourney e Stable Diffusion accettano prompt di testo come input, utilizzando CLIP per incorporare una rappresentazione vettoriale del testo; lo stesso incorporamento vettoriale, a sua volta, viene utilizzato per ricostruire essenzialmente una nuova immagine.

Incorporamento vettoriale per l'NLP

Gli incorporamenti di testo sono più complessi. Devono rappresentare numericamente concetti astratti come significato semantico, connotazioni variabili e relazioni contestuali tra parole e frasi.

Rappresentare semplicemente le parole in termini di lettere, allo stesso modo in cui gli incorporamenti di immagini rappresentano elementi visivi in termini di valori di pixel, non produrrebbe incorporamenti significativi.

Mentre i modelli di computer vision vengono addestrati per la maggior parte attraverso l'apprendimento supervisionato convenzionale, l'integrazione di modelli per l'NLP richiede l'apprendimento auto-supervisionato su una quantità davvero enorme di dati di addestramento per catturare adeguatamente i molti potenziali significati del linguaggio in diversi contesti. 

Gli incorporamenti risultanti sono alla base di molte delle attività comunemente associate all'AI generativa, dalla traduzione linguistica ai chatbot conversazionali fino al riepilogo dei documenti e ai servizi di risposta alle domande.

Modelli di incorporamento di testo

I modelli utilizzati per generare incorporamenti vettoriali di dati di testo spesso non sono gli stessi utilizzati per generare il testo vero e proprio.

Gli LLM più diffusi, comunemente utilizzati per la generazione di testo e altre attività di AI generativa, come ChatGPT o Llama, sono modelli autoregressivi decoder-only, chiamati anche modelli linguistici causali. Durante l'addestramento, viene presentato loro l'inizio di un particolare campione di testo e viene chiesto loro il compito di prevedere continuamente la parola successiva fino alla fine della sequenza. Sebbene ciò si presti bene all'apprendimento della generazione di testo coerente, non è ottimale per l'apprendimento di incorporamenti vettoriali autonomi utili.

Invece, gli incorporamenti di testo si basano in genere su modelli linguistici mascherati, come il modello BERT (bidirectional encoder representations from transformers), rilasciato per la prima volta nel 2018. Nell'addestramento, a questi modelli encoder-decoder vengono fornite sequenze di testo con determinate parole mascherate o nascoste, e il compito di completare gli spazi vuoti.

Questo esercizio premia gli incorporamenti che catturano meglio le informazioni su una parola o una frase specifica e su come si relazionano al contesto che la circonda. Word2vec persegue un compito di addestramento simile, anche se con un'architettura di rete neurale a due strati più semplice.

A giugno 2024, BERT rimane il modello linguistico più popolare su Hugging Face, con oltre 60 milioni di download nel mese precedente.3 Diverse importanti varianti di BERT sono state adattate a tipi specifici di incorporamenti e scenari linguistici:

  • SBERT: conosciuto anche come Sentence BERT e Sentence transformers, SBERT è una variante di BERT con una struttura adattata di rete neurale siamese, messa a punto su coppie di frasi per migliorare la sua capacità di codificare gli incorporamenti di frasi.

  • DistilBERT: Una variante leggera di BERT, creata attraverso la distillazione della conoscenza del modello base BERT in un modello più piccolo che funziona il 60% più velocemente preservando oltre il 95% delle prestazioni di BERT secondo alcune metriche.4

  • RoBERTa: acronimo di robustly optimized BERT pretraining approach, RoBERTa ha perfezionato la procedura di addestramento di BERT per ottimizzarne le prestazioni.

Tipi di incorporamento di testo

Gli incorporamenti vettoriali possono essere utilizzati per rappresentare vari dati in linguaggio naturale.

Incorporamento di parole
Gli incorporamenti di parole mirano a catturare non solo il significato semantico delle singole parole, ma anche la loro relazione contestuale con altre parole con cui spesso cooccorrono. In questo modo, gli incorporamenti di parole possono generalizzare bene a nuovi contesti e persino a parole rare o mai viste prima.

GLoVE, un popolare modello di incorporamento di parole, è stato addestrato su una "matrice globale di cooccorrenza parola-parola", che deduce il significato semantico e le relazioni semantiche dalla frequenza con cui parole specifiche vengono usate l'una vicino all'altra. Ad esempio, il significato può essere derivato dal modo in cui "ghiaccio" e "vapore" coincidono con "acqua" all'incirca alla stessa frequenza, ma coincidono con "solido" e "gas" con tassi molto diversi.5

Il modo in cui le dimensioni di un vettore di incorporamento di parole catturano implicitamente queste relazioni ci consente di manipolarle matematicamente in modi utili e intuitivi. In uno schema di incorporamento di parole ben configurato, sottraendo il vettore di "uomo" dal vettore di "re" e aggiungendo il vettore di "donna" si dovrebbe essenzialmente produrre il vettore di "regina".

Incorporamenti di frasi
gli incorporamenti di frasi incorporano il significato semantico di intere frasi, piuttosto che singole parole. In genere vengono generati con SBERT o altre varianti di trasformatori di frasi.

  • Gli incorporamenti di frasi possono incorporare rappresentazioni delle query degli utenti, da utilizzare nei motori di ricerca o nelle applicazioni di risposta alle domande.

  • Nella traduzione automatica, l'incorporamento vettoriale di una frase in una lingua può essere utilizzato per produrre una frase in una lingua diversa con un incorporamento vettoriale simile.

  • Gli incorporamenti di frasi sono spesso utilizzati nell'analisi del sentiment. I classificatori possono essere addestrati su esempi etichettati di ogni categoria di sentiment o utilizzando l'apprendimento supervisionato, e possono quindi classificare nuovi campioni confrontando il loro incorporamento vettoriale all'incorporamento appreso per ciascuna classe. L'analisi del sentiment può essere condotta anche attraverso il zero-shot learning, in cui l'incorporamento di una frase specifica viene confrontato con l'incorporamento di parole di una particolare categorizzazione.

Incorporamento di documenti
Gli incorporamenti di documenti sono spesso utilizzati per classificare documenti o pagine web per l'indicizzazione nei motori di ricerca o nei database vettoriali. I modelli tipici per l'incorporamento di documenti includono varianti BERT, Doc2vec (che è un'espansione del modello Word2vec) o altri modelli di incorporamento open source come Instructor (link esterno a ibm.com).

Altri tipi di incorporamenti vettoriali

Sebbene i dati di immagini e testo tendano a ricevere la massima attenzione, in particolare per i casi d'uso dell'AI generativa, un'ampia varietà di modalità di dati può trarre vantaggio dall'incorporamento vettoriale.

  • Gli incorporamenti audio vengono utilizzati per varie applicazioni, dagli assistenti vocali ai sistemi di raccomandazione delle canzoni fino ai sistemi di riconoscimento musicale come Shazam. Rappresentano il suono attraverso le proprietà numeriche dei dati della sua forma d'onda. L'audio può essere incorporato utilizzando reti neurali ricorrenti (RNN), CNN o architetture basate su trasformatori.

  • Gli incorporamenti di prodotti sono spesso utilizzati per alimentare i sistemi di raccomandazione per le piattaforme di e-commerce. In genere vengono generati tramite algoritmi di apprendimento non supervisionato.

  • Gli incorporamenti di grafi possono essere utilizzati per modellare e rappresentare strutture relazionali complesse come i social network o i sistemi biologici. Le dimensioni di un vettore di incorporamento di grafi rappresentano il modo in cui i vari nodi ed edge di un sistema sono collegati.

Database vettoriali

I database tradizionali sono raramente ottimizzati per elaborare i dati ad alta dimensionalità tipici degli incorporamenti vettoriali. Database vettoriali come IBM® watsonx.data sono soluzioni avanzate progettate per l'organizzazione e il recupero di oggetti dati in uno spazio vettoriale ad alta dimensionalità.

Ricerca vettoriale

Uno dei principali vantaggi di un'efficace soluzione di database vettoriale è l'ottimizzazione dell'efficienza e dell'accuratezza delle operazioni di ricerca vettoriale: ricerca, ordinamento e recupero di dati e documenti rilevanti attraverso la similarità semantica dei rispettivi incorporamenti vettoriali con quelli dei termini di ricerca.

Questo tipo di ricerca di similarità avviene in genere attraverso semplici algoritmi nearest-neighbor, che deducono connessioni tra i punti dati in base alla loro vicinanza nello spazio vettoriale ad alta dimensionalità.

Ricerca semantica
la ricerca semantica utilizza gli incorporamenti vettoriali per consentire ricerche che vanno oltre la semplice corrispondenza di parole chiave. Ad esempio, vengono restituiti risultati per "mele" e "arance" anche se la query originale era "frutta". 

Retrieval Augmented Generation (RAG)

Questo tipo di ricerca semantica viene utilizzato anche per abilitare la Retrieval Augmented Generation (RAG), un framework utilizzato per integrare la base di conoscenza degli LLM senza ulteriori ottimizzazioni.

Nella RAG, la ricerca vettoriale viene utilizzata per rilevare fonti di dati esterne, ad esempio fonti di dati che non facevano parte dei dati di addestramento di un foundation model e le cui informazioni non potrebbero quindi essere riflesse altrimenti nell'output dell'LLM, per recuperare informazioni rilevanti e utilizzarle successivamente per migliorare le risposte generate dall'LLM.

Soluzioni correlate

Soluzioni correlate

IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

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

Tutti i link sono esterni a ibm.com.

"Stable Tuple Embeddings for Dynamic Databases", arXiv, 11 marzo 2021.
"Leaderboard: Image Classification on ImageNet", Papers With Code, consultato il 5 giugno 2024.
"Models" (ordinato per "I più scaricati"), Hugging Face, consultato il 5 giugno 2024.
"DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter", arXiv, 2 ottobre 2019.
"GloVe: Global Vectors for Word Representation", Stanford University, agosto 2014.