Byte Latent Transformer (2024): addio al tokenizer

Prima di leggere anche una sola parola, ogni modello linguistico spezza il testo in token secondo un vocabolario fisso deciso in anticipo. Un lavoro di Meta prova a togliere quel passaggio e a far ragionare il modello direttamente sui byte, raggruppati al volo in base a quanto sono difficili da prevedere.

Prima che un modello linguistico legga anche una sola parola, c’è un passaggio silenzioso che nessuno mette più in discussione: il tokenizer. Un pezzo di software deterministico prende il testo grezzo e lo spezza in unità prese da un vocabolario deciso in anticipo — 128.000 token, nel caso di Llama 3 — prima ancora che la rete neurale entri in gioco. Da lì in poi il modello non vede più lettere né byte: vede numeri di token. È una scelta così radicata che la diamo per scontata, come la punteggiatura. Byte Latent Transformer, pubblicato da un gruppo di Meta a dicembre 2024, prova a toglierla di mezzo.

La domanda che il paper si pone è semplice e un po’ eretica: e se il modello lavorasse direttamente sui byte, senza vocabolario fisso, decidendo lui stesso quanto testo raggruppare volta per volta? La risposta, per la prima volta a questa scala, è che si può fare senza pagare pegno in prestazioni.

Il problema di un vocabolario deciso prima

Il tokenizer risolve un problema pratico. Dare in pasto a un transformer un byte alla volta significa sequenze lunghissime, e il costo dell’attenzione cresce con il quadrato della lunghezza: impraticabile. Raggruppare i byte in token accorcia le sequenze e rende l’addestramento sostenibile. Il prezzo, però, è nascosto in una serie di fastidi noti.

Il vocabolario è fisso e viene costruito statisticamente su un corpus: le lingue poco rappresentate finiscono spezzettate in molti più token, e quindi costano di più a parità di contenuto. Il modello, inoltre, diventa in parte cieco alle lettere. È il motivo per cui i sistemi faticano su compiti banali come contare quante r ci sono in «strawberry» o manipolare i caratteri di una parola: quella parola, per loro, è un unico simbolo atomico, non una sequenza di lettere. Un refuso, uno spazio di troppo, un carattere raro possono cambiare la tokenizzazione in modo imprevedibile e destabilizzare l’output.

È come consegnare a un traduttore un testo già ritagliato in tessere da un altro ufficio, con la regola di non poter mai guardare dentro le tessere. Per la maggior parte del lavoro va bene. Ma quando il senso sta nei dettagli sotto la tessera — una lettera, un accento — quel confine diventa un muro.

L’idea: patch al posto di token

La proposta di BLT è di sostituire i token con le patch: gruppi di byte a lunghezza variabile, formati durante l’elaborazione invece che pescati da un vocabolario. La differenza cruciale è che il taglio non è fisso, ma dipende da quanto il testo è prevedibile in quel punto.

L’analogia più onesta è la lettura umana. Quando leggete una parola comune e attesa, l’occhio ci scivola sopra in un colpo solo; quando arriva un nome proprio straniero o una sigla, rallentate e la decifrate lettera per lettera. BLT fa esattamente questo con il calcolo: dove il testo è routine, allunga la patch e spende poco; dove il testo è difficile, accorcia la patch e concentra lì la capacità del modello. Il calcolo viene allocato dove serve, invece di essere distribuito uniformemente come fa il tokenizer.

Dal token fisso alla patch dinamica Tokenizer: taglia a lunghezza fissa, indifferente al contenuto token token token token token Gli stessi byte grezzi BLT: un modellino stima l’entropia del byte successivo e taglia dove il testo si fa difficile entropia patch patch patch lunga patch patch inizio difficile: patch corta, piu calcolo testo prevedibile: patch lunga, meno calcolo

Lo stesso flusso di byte, tagliato in due modi. In alto il tokenizer impone confini a lunghezza sostanzialmente fissa; in basso BLT lascia che siano i picchi di entropia — quanto è imprevedibile il byte successivo — a decidere dove chiudere una patch. Dove il testo è routine la patch si allunga e costa poco; dove si fa difficile si accorcia e concentra il calcolo.

L’entropia come paio di forbici

La domanda pratica è: chi decide dove tagliare? Qui sta il meccanismo centrale. BLT usa un modello ausiliario piccolo — nel paper un transformer da circa 100 milioni di parametri — che a ogni posizione stima l’entropia del byte successivo, cioè quanto è incerta la previsione in quel punto. Quando l’entropia supera una certa soglia, il testo è «difficile» e si apre un nuovo confine di patch. Dove l’entropia è bassa, i byte scorrono dentro la stessa patch.

Attorno a questa idea l’architettura è organizzata in tre pezzi. Un encoder locale, leggero, trasforma i byte grezzi in rappresentazioni di patch. Un transformer globale latente, la parte pesante del modello, ragiona sulla sequenza di patch e gestisce le dipendenze a lungo raggio — ma lavorando su molte meno unità, perché le patch sono più lunghe dei singoli byte. Infine un decoder locale, di nuovo leggero, riconverte le rappresentazioni di patch in byte concreti. Il grosso della capacità di calcolo vive nel transformer globale; i due moduli locali fanno da traduttori economici tra il mondo dei byte e quello delle patch.

Il tokenizer distribuisce il calcolo in modo uniforme, ignorando dove il testo è facile o difficile. BLT lo distribuisce dove il modello è più incerto: è questa, non l’abolizione del vocabolario in sé, la vera leva.

Cosa dicono i numeri

Il contributo che rende il paper solido non è un singolo record, ma il metodo di confronto. Gli autori presentano quello che descrivono come il primo studio di scaling a FLOP controllati per modelli byte-level, spingendosi fino a 8 miliardi di parametri e 4.000 miliardi di byte di addestramento. «A FLOP controllati» significa che le architetture sono confrontate a parità di budget di calcolo, non su condizioni scelte a favore di una delle due.

Il risultato principale: a parità di prestazioni sul confronto controllato con Llama 3, BLT usa fino al 50% di FLOP in meno in inferenza, sfruttando patch più lunghe (nel paper, dimensione media 8) dove il testo lo consente. In parallelo, il modello mostra miglioramenti qualitativi proprio dove i sistemi a token soffrono: robustezza rispetto a input rumorosi, compiti a livello di carattere, generalizzazione sulla «coda lunga» delle sequenze rare. Sono i vantaggi che ci si aspetta togliendo il muro della tokenizzazione: se il modello vede i byte, i byte tornano manipolabili.

Cosa resta aperto

Vale la pena leggere questi risultati senza trasformarli in una condanna del tokenizer. BLT eguaglia i modelli a token nel confronto controllato: è un pareggio ottenuto per una strada diversa, non un sorpasso netto su tutta la linea. L’architettura aggiunge inoltre un componente — il modellino di entropia — che va addestrato e fatto girare, e l’efficienza in inferenza dipende da quanto il testo permette patch lunghe. Non a caso i lavori successivi si sono concentrati proprio sulla velocità di inferenza, il punto meno maturo dell’impianto. Nel 2024 il tokenizer resta lo standard di fatto, e cambiarlo tocca l’intera filiera di addestramento.

Perché allora dovrebbe interessarvi, se non addestrate modelli da otto miliardi di parametri? Perché la tokenizzazione è la fonte silenziosa di una lunga lista di comportamenti bizzarri che incontrate ogni giorno: i conteggi di lettere sbagliati, la fragilità sui refusi, il costo sproporzionato di certe lingue. BLT mostra che quei difetti non sono legge di natura del linguaggio, ma conseguenze di una scelta di ingegneria fatta a monte — e che quella scelta, per la prima volta a scala seria, si può rimettere in discussione.

Il paper originale

Questo articolo è una rilettura divulgativa di Byte Latent Transformer: Patches Scale Better Than Tokens, di Artidoro Pagnoni, Ram Pasunuru, Pedro Rodriguez, John Nguyen e colleghi (Meta), pubblicato su arXiv a dicembre 2024. Il testo integrale, con la metodologia di scaling e tutte le tabelle, è disponibile su arXiv:2412.09871.

I commenti sono riservati agli iscritti.

Accedi per commentare