Vai al contenuto
Capitolo 04 · 10 min

Dalle parole ai numeri

Una rete neurale capisce solo i numeri. Perciò, prima che un'IA possa leggere la tua frase, deve trasformarla in vettori. Il modo in cui lo fa è più interessante di quanto sembri, ed è qui che le parole iniziano ad avere una geometria.

A map of meaningA 2D plane scattered with small dots in three labeled clusters: finance, food, and music. Similar concepts sit close together; unrelated ones are far apart.FINANCEFOODMUSICSIMILAR MEANINGS LIVE CLOSE TOGETHER

Una mappa del significato dove le idee simili abitano vicine tra loro.

I token: l'unità di linguaggio per un modello

Un LLM non legge parole. Legge token. Un token è un pezzo di testo, di solito un sotto-parola: «ciao» è un token, «incredibile» ne è tre («in», «credi», «bile»), un'emoji ne è uno o due, un carattere cinese ne è uno. La suddivisione esatta è decisa da un tokenizer addestrato in parallelo con il modello.

Perché sotto-parole e non parole intere? Due ragioni. (1) Il vocabolario resta piccolo (circa 50-100 mila token) anziché di milioni, il che mantiene la rete gestibile. (2) Il modello può trattare parole nuove che non ha mai visto durante l'addestramento, componendole a partire da pezzi familiari. «Sden-izzato» è inedito, ma «sden», «izz» e «ato» figurano tutti nel vocabolario.

Tokenization splits a word into piecesThe word "unbelievable" is split into three sub-word tokens ("un", "believ", "able"), each mapped to a numeric token id from the model's vocabulary.unbelievableunID 1986believID 2113ableID 4041 WORD → 3 TOKENS
Una singola parola inglese può dividersi in più token. Ogni pezzo è associato a un id numerico preso da un vocabolario fisso.

Gli embedding: trasformare i token in significato

Ogni token del vocabolario è associato a un vettore, una lista di, diciamo, 4096 numeri. Quel vettore si chiama embedding del token. Viene *appreso durante l'addestramento*, non progettato a mano. Dopo l'addestramento, le parole simili finiscono con vettori simili.

Concretamente: i vettori per «re» e «regina» sono vicini. Lo stesso vale per «Parigi» e «Berlino». Notoriamente, si può fare aritmetica: vettore(«re») − vettore(«uomo») + vettore(«donna») ≈ vettore(«regina»). Il significato è stato compresso in geometria.

Embedding arithmeticFour word-points in a 2D space. The vector from "man" to "woman" is parallel to the vector from "king" to "queen", visualising the famous king − man + woman ≈ queen relationship.manwomankingqueenking − man + woman ≈ queen2D PROJECTION OF EMBEDDING SPACE
Il significato compresso in geometria. Il vettore da «uomo» a «donna» si allinea con il vettore da «re» a «regina».

Embedding statici contro embedding contestuali

I primi metodi di embedding (word2vec 2013, GloVe 2014) davano a ogni parola *un* vettore permanente. Utile ma limitato: «banca» (del fiume) e «banca» (dei soldi) avevano lo stesso vettore. Gli LLM moderni usano embedding contestuali: il vettore per «banca» in «riva della banca» è genuinamente diverso da «banca» in «conto in banca». Il vettore che ottieni dipende dall'intera frase.

Come? L'embedding iniziale di un token è solo una ricerca in tabella, ma poi attraversa strati di attention (capitolo 5) che lo *mescolano* con gli embedding dei token vicini. All'ultimo strato, il vettore di ogni token ha assorbito informazioni sul suo contesto. Questo è l'embedding contestuale in una frase.

Cosa c'è davvero in quei numeri

Ogni dimensione del vettore non è «la dimensione del genere» o «la dimensione del cibo». Le direzioni che portano significato non sono allineate con gli assi. Sono apprese, distribuite su molte dimensioni. A volte si possono trovare direzioni interpretabili («regalità», «plurale», «capitale»), ma non sono pre-etichettate. La ricerca sull'interpretabilità è un campo giovane che cerca di rileggere i vettori in concetti umani.

Cosine similarityTwo vectors A and B drawn from a shared origin, with the small angle θ between them marked. Cosine similarity is the cosine of that angle, close to 1 when vectors point the same way, 0 when perpendicular.θABcos(θ) = (A · B) / (‖A‖·‖B‖)1 = same direction · 0 = perpendicular
La similarità del coseno misura l'angolo tra due vettori, non la distanza. Due idee possono quindi corrispondere in direzione anche se le loro magnitudini differiscono.

Gli embedding al di fuori degli LLM

Gli embedding non sono solo un artefatto interno degli LLM. Sono un prodotto a sé. Puoi chiamare una API, darle un frammento di testo, e ottenere un vettore da 1024 o 4096 dimensioni. Quel vettore è l'input per:

  • La ricerca semantica: «trovami documenti sulle assunzioni del quarto trimestre» invece di «cerca le parole esatte».
  • Il RAG (generazione aumentata da recupero): trova i documenti giusti, poi passali all'LLM.
  • Il clustering: raggruppare i ticket di assistenza per argomento senza etichette.
  • La raccomandazione: prodotti il cui embedding è vicino a ciò che è piaciuto all'utente.
  • Il rilevamento di anomalie: segnalare gli input il cui embedding è lontano da tutto il resto.

Gli embedding si rivelano una delle applicazioni più utili, più economiche e meno rischiose della tecnologia LLM. Torniamo al RAG nel capitolo 7.

Una riga per ciascuno

  • I modelli leggono token, non parole. Le tariffe, i limiti e molti bug sottili si collocano a questo livello.
  • Ogni token è associato a un vettore appreso (embedding) in modo che i significati simili finiscano vicini nello spazio vettoriale.
  • Gli embedding moderni sono contestuali: la stessa parola ha vettori diversi in frasi diverse.
  • Gli embedding sono utili di per sé: ricerca semantica, RAG, clustering, raccomandazione, rilevamento di anomalie.
Dalle parole ai numeri · Corsi di IA · SDEN