Lezione 1 di 8 · 7 min

I token, unità di base del modello

Perché un modello non legge né lettere né parole, ma token, e cosa cambia per voi.

ObiettivoSpiegare cos’è un token, come viene suddiviso un testo e perché la lunghezza di un testo si conta in token.

Un modello linguistico gestisce soltanto numeri. Prima di qualsiasi calcolo, il testo viene quindi suddiviso in frammenti chiamati token, e ogni token riceve un numero in un vocabolario fisso. Questa suddivisione si chiama tokenizzazione.

I token non sono né lettere né parole intere. Una parola comune sta spesso in un solo token. Una parola rara, un nome proprio o un termine tecnico viene spezzato in più frammenti frequenti. Il metodo più diffuso, detto byte pair encoding (codifica per coppie di byte), parte dai caratteri e fonde passo dopo passo le coppie che ricorrono più spesso in un grande corpus.

L’43appr9811end306imento22109␣dist1891ribu7356ito12340␣funziona710.13
Una suddivisione a titolo illustrativo. Ogni frammento riceve un numero, il modello vede solo questi numeri.

Cosa spiega tutto questo

  • Le dimensioni di un documento, il limite di una conversazione e spesso il costo si contano in token, non in parole.
  • Un testo in italiano o in tedesco richiede in genere più token dello stesso testo in inglese, perché i vocabolari sono stati costruiti su corpora prevalentemente inglesi.
  • Contare le lettere di una parola o scriverla al contrario è difficile per un modello. Non vede le lettere, vede frammenti.
Meno efficace

Quante «r» ci sono in «raffreddore»?

Più efficace

Compita «raffreddore» lettera per lettera, poi conta le «r».

Chiedendo prima di compitare, obbligate il modello a produrre le lettere una per una, cosa che sa fare, prima di contare.

Riferimenti

  1. Sennrich, Haddow, Birch (2016). Neural Machine Translation of Rare Words with Subword Units. Proceedings of the 54th Annual Meeting of the ACL, p. 1715–1725. doi.org/10.18653/v1/P16-1162