Vai a Mappa Corsi Laboratorio Glossario Come funziona Problemi comuni Inizia →
ITEN
← Corso 05 · Capire il linguaggio (Lezione 05.01 · 16 minuti · Nessun sensore · Per tutti)

Le parole diventano numeri.

Una rete neurale sa solo moltiplicare numeri. Qui vedi come una frase diventa pezzi, i pezzi diventano numeri, e perché alla fine gatto finisce vicino a micio e lontano da bullone.

Cosa impari
  1. Cosa sono i token e perché le parole si spezzano
  2. Cos'è un embedding e perché le parole simili finiscono vicine
  3. Come si misura quanto sono vicine due frasi
Ti serve sapere

Se non ti ricordi una di queste cose, il link ti porta al capitolo che la spiega.

Come vuoi seguirla
Preparo la scena…
  1. 01 Il problema

    Un modello conosce solo numeri, non parole.

    Una rete neurale01.03 fa moltiplicazioni. Una foto è già fatta di numeri, i pixel, e anche un suono. Una frase invece no. Prima di tutto il testo va tagliato in pezzi, e ogni pezzo va trasformato in numeri che il modello possa usare. Da come lo fai dipende quanto il modello potrà capire.

    In pratica. Quando un modello per il testo sbaglia in modo strano, controlla prima come ha tagliato la frase. Spesso il problema nasce lì.

01 / 07
(Approfondisci)

Qualche numero in più.


(01)

Come nasce un vocabolario di token

Il metodo più usato si chiama byte pair encoding. Si parte dalle singole lettere e si guarda, in un'enorme raccolta di testi, quale coppia di pezzi capita più spesso vicina. Quella coppia diventa un pezzo nuovo. Si ripete finché il vocabolario arriva alla misura voluta.

GPT-2, nel 2019, aveva 50.257 token. Llama 3 ne ha 128.256, Gemma 3 circa 262.000, per coprire meglio tante lingue. Un vocabolario più grande spezza meno le parole, ma rende più pesante il modello, perché ogni token ha il suo embedding.

  • 50.257token di GPT-2
  • 128.256token di Llama 3
  • 262.000token di Gemma 3, circa
(02)

Il re meno uomo più donna

Nel 2013 Tomas Mikolov e colleghi di Google pubblicarono word2vec, un modo veloce per imparare gli embedding delle parole. Si scoprì che le direzioni avevano un senso. L'embedding di re, meno quello di uomo, più quello di donna, finiva vicino a regina.

Nel 2016 un altro gruppo mostrò il rovescio. Con la stessa aritmetica, programmatore meno uomo più donna finiva vicino a casalinga. Gli embedding imparano dai testi anche i pregiudizi di chi li ha scritti. Un modello che li usa li porta con sé, a meno che qualcuno li cerchi e li corregga.

(03)

La similarità del coseno, in codice

Per due liste di numeri della stessa lunghezza si moltiplicano gli elementi a coppie e si sommano. Poi si divide per la lunghezza delle due liste. Il risultato è il coseno dell'angolo tra loro. Uno vuol dire stessa direzione, zero nessun legame, meno uno direzioni opposte.

Con gli embedding di frase i valori veri stanno quasi sempre tra 0,2 e 0,9. Per questo la soglia che separa simile da diverso non si sceglie a priori. Si prova su qualche coppia di frasi di cui conosci già la risposta.

function coseno(a, b) {
  let ab = 0, aa = 0, bb = 0;
  for (let i = 0; i < a.length; i++) { ab += a[i] * b[i]; aa += a[i] * a[i]; bb += b[i] * b[i]; }
  return ab / Math.sqrt(aa * bb);
}
(Prova sul telefono)

Il testo che il telefono capisce da solo


Metti il telefono in modalità aereo e prova queste funzioni. Quelle che rispondono lo stesso usano modelli per il testo che stanno dentro il telefono.

  1. (01) Scrivi l'inizio di una frase e guarda le parole suggerite dalla tastiera
  2. (02) Scrivi una parola sbagliata apposta e guarda se viene corretta
  3. (03) Cerca nelle foto una parola come spiaggia, cane o torta
  4. (04) Seleziona il testo dentro una foto e copialo
  5. (05) Traduci una frase con l'app di traduzione

La ricerca nelle foto è il caso più interessante. Non cerca la parola nel nome del file, confronta il significato della parola con quello delle foto, come gli embedding di questa lezione.

(Verifica)

4 domande per chiudere la lezione.

Quando rispondi a tutte, la lezione risulta fatta e sulla mappa la sua pietra diventa gialla. Conta rispondere, non il punteggio.


  1. (01)

    Perché il testo va tagliato in token prima di arrivare al modello?

  2. (02)

    Gatto è il token 18.402 e gatta il 18.403. Vuol dire che sono vicini nel significato?

  3. (03)

    Perché gatto e micio hanno embedding vicini?

  4. (04)

    Cerchi spiaggia tra le foto e compare il mare. Cosa è successo?

Per chiudere la lezione rispondi alla verifica

← Prevedere un numero Torna alla mappa
(Prossima lezione · 05.02) Classificare e cercare testi sul telefono