Immagine AI

Meta, insieme a ricercatori di Stanford University e University of Washington, ha presentato una nuova evoluzione del Byte Latent Transformer, o BLT, pensata per rendere praticabile una classe di modelli linguistici che lavora direttamente sui byte invece che sui token. Il punto tecnico centrale è molto preciso: eliminare la dipendenza dai tokenizer tradizionali senza pagare il prezzo, finora molto pesante, della generazione byte per byte. La nuova ricerca introduce tre varianti — BLT-D, BLT-S e BLT-DV — che puntano tutte allo stesso obiettivo: produrre più byte per ogni passaggio di inferenza e ridurre drasticamente il numero di chiamate al modello durante la generazione.

La novità è importante perché tocca uno dei presupposti storici dei grandi modelli linguistici moderni. La maggior parte degli LLM non legge il testo come sequenza diretta di caratteri o byte, ma lo trasforma prima in token, cioè unità statistiche ottenute tramite tokenizer come BPE o varianti simili. Un token può rappresentare una parola, una parte di parola, un simbolo, una sequenza ricorrente o un frammento di testo. Questo sistema è molto efficiente dal punto di vista computazionale, perché consente al modello di lavorare su sequenze più corte rispetto ai singoli caratteri. Tuttavia introduce anche limiti strutturali: lingue diverse vengono rappresentate con efficienze diverse, errori ortografici o stringhe insolite possono frammentarsi male, numeri e codice possono diventare fragili e il vocabolario del tokenizer diventa una componente fissa del modello.

BLT nasce proprio per superare questo vincolo. Invece di convertire il testo in token predefiniti, lavora sulla rappresentazione più elementare e universale: i byte. Ogni testo, indipendentemente dalla lingua, dal formato, dalla presenza di emoji, codice, numeri, simboli o caratteri rari, può essere rappresentato come sequenza di byte. Questo elimina la necessità di un vocabolario fisso e rende il modello potenzialmente più robusto davanti a input rumorosi, domini specialistici e lingue meno coperte dai tokenizer più comuni. Meta aveva già descritto BLT come un’architettura capace di raggiungere prestazioni comparabili ai modelli basati su token, ma senza tokenizer fisso, grazie all’uso di patch dinamiche costruite sulla base dell’entropia del testo.

Il problema, però, è sempre stato la velocità. Un modello che genera un token alla volta produce spesso più caratteri con una sola operazione, perché un token può contenere diversi byte. Un modello byte-level, invece, rischia di dover generare una quantità molto maggiore di unità elementari. Anche se il modello è più universale e più pulito dal punto di vista della rappresentazione, l’inferenza può diventare più lenta perché il decoder deve produrre byte in modo autoregressivo, uno dopo l’altro. È questo il collo di bottiglia che la nuova versione “Fast Byte Latent Transformer” cerca di risolvere.

L’architettura BLT non tratta comunque tutti i byte allo stesso modo. Il suo meccanismo principale è il patching dinamico. Le sequenze vengono raggruppate in patch di lunghezza variabile: le parti del testo più prevedibili vengono compattate in segmenti più lunghi, mentre le parti più difficili, ambigue o informative vengono spezzate in unità più corte. Questa scelta consente di allocare più capacità computazionale dove il contenuto è più complesso e meno dove il testo è più regolare. La segmentazione viene guidata dall’entropia, cioè dalla difficoltà stimata nel prevedere il byte successivo. In pratica, il modello non applica una tokenizzazione fissa, ma decide dinamicamente quanto “grande” deve essere l’unità di elaborazione.

La struttura interna è gerarchica. Un local encoder legge i byte e li trasforma in rappresentazioni iniziali; un global transformer lavora sulle rappresentazioni latenti delle patch, cioè sulle unità più compatte e semanticamente rilevanti; un local decoder riconverte infine queste rappresentazioni in sequenze di byte generate. Questo schema permette di evitare che tutta la computazione avvenga direttamente sulla sequenza completa dei byte, che sarebbe troppo lunga, e sposta gran parte del lavoro pesante sul livello latente delle patch. Il limite rimaneva però nella fase finale: il decoder locale, pur essendo più leggero del modello globale, generava ancora i byte uno alla volta.

La nuova ricerca interviene esattamente su questo punto. Gli autori osservano che, nell’inferenza moderna degli LLM, il costo non dipende soltanto dal numero di operazioni matematiche, ma anche dalla memoria. Generare testo significa caricare ripetutamente pesi del modello, accedere alla KV cache e muovere grandi quantità di dati tra memoria e processori. Nei casi in cui la generazione avviene con batch piccoli e latenza bassa, la memoria bandwidth può diventare il fattore dominante. Ridurre il numero di forward pass non significa quindi solo “fare meno calcoli”, ma soprattutto ridurre quante volte il sistema deve ricaricare componenti del modello e accedere alla memoria.

La prima tecnica introdotta è BLT-D, cioè BLT Diffusion. Qui il decoder non genera più necessariamente un byte alla volta in modo strettamente autoregressivo, ma impara a ricostruire blocchi di byte attraverso un obiettivo di diffusione discreta. Durante l’addestramento, il modello riceve sia la sequenza originale sia blocchi di byte parzialmente mascherati. Il compito è recuperare i byte mancanti, in modo simile a quanto avviene nei modelli masked language modeling, ma a un livello molto più basso, direttamente sulla sequenza di byte. La differenza rispetto ai modelli linguistici tradizionali è che questa ricostruzione viene integrata dentro l’architettura gerarchica di BLT e resa compatibile con le patch dinamiche.

In fase di inferenza, BLT-D può inizializzare un blocco di posizioni mascherate e riempirne più di una nello stesso passaggio. Questo consente di generare blocchi da 4, 8 o 16 byte, invece di procedere sempre byte per byte. Il vantaggio è evidente: meno passaggi del decoder, meno chiamate al modello, minore pressione sulla memoria e maggiore velocità potenziale. La ricerca mostra che BLT-D è la variante più rapida tra quelle testate. Nella configurazione a 3 miliardi di parametri, BLT-D-4 mantiene risultati vicini al BLT originale usando meno della metà delle valutazioni e della banda di memoria, mentre BLT-D-16 arriva a riduzioni stimate dell’87-92% della memory bandwidth rispetto a BLT, pur con un peggioramento più visibile nei benchmark di coding.

Questo trade-off è cruciale. Generare blocchi più grandi aumenta l’efficienza, ma rende più difficile mantenere la qualità della generazione. La traduzione, nei test, sembra beneficiare molto della parallelizzazione, mentre il codice è più sensibile agli errori. È comprensibile: nel codice, un singolo carattere sbagliato, una parentesi mancante, un indent errato o un nome variabile alterato possono compromettere l’intero output. Nei testi naturali, invece, piccoli margini di incertezza possono essere assorbiti più facilmente dalla ridondanza linguistica. Per questo BLT-D non va letto come una soluzione uniforme per tutti gli scenari, ma come una famiglia di configurazioni in cui dimensione del blocco, qualità e velocità possono essere bilanciate in base al caso d’uso.

La seconda tecnica è BLT-S, cioè BLT Self-speculation. Qui il riferimento tecnico è la speculative decoding, una metodologia già usata negli LLM per accelerare la generazione. Nella speculative decoding tradizionale, un modello piccolo produce una bozza veloce e un modello più grande la verifica. Se la bozza è coerente con ciò che il modello grande avrebbe generato, viene accettata; se diverge, viene corretta. Il vantaggio è che il modello pesante non deve essere chiamato per ogni singolo token o passaggio.

BLT-S applica questa idea in modo particolare, perché non richiede un modello separato. Usa il local decoder già presente dentro BLT come meccanismo di draft. Normalmente il decoder si ferma quando il sistema rileva un confine di patch e deve richiamare encoder e global transformer. Con BLT-S, invece, il decoder leggero continua a generare per una finestra più lunga, per esempio 8 o 16 byte, anche oltre il punto in cui avrebbe normalmente interrotto la generazione. Successivamente, il modello completo verifica la sequenza candidata. Se i byte prodotti coincidono con la predizione verificata, vengono accettati; al primo mismatch, la generazione viene corretta e riparte dal byte verificato.

Il dettaglio più interessante è che, in modalità greedy decoding, BLT-S può mantenere un output identico a quello della generazione autoregressiva standard. Questo significa che la tecnica non sacrifica qualità per velocità, almeno nel contesto specifico verificato dagli autori. Non cambia l’architettura, non richiede addestramento aggiuntivo e non introduce un secondo modello draft. Riutilizza semplicemente una componente interna già esistente, trasformandola in un acceleratore speculativo. Secondo i risultati riportati, BLT-S può arrivare a una riduzione stimata della banda di memoria fino al 77% senza perdita di prestazione nei task valutati.

La terza tecnica è BLT-DV, cioè BLT Diffusion+Verification. In questo caso, gli autori combinano il meccanismo di generazione parallela di BLT-D con una fase di verifica autoregressiva. La diffusione produce una bozza di blocco, poi il modello verifica la sequenza con predizioni next-byte. È un compromesso tra la velocità aggressiva di BLT-D puro e la maggiore affidabilità dei metodi verificati. BLT-DV è meno veloce della diffusione senza verifica, perché introduce passaggi aggiuntivi, ma recupera parte della qualità persa quando la generazione a blocchi diventa troppo ambiziosa. Nei risultati complessivi, questa variante arriva fino all’81% di riduzione della memory bandwidth rispetto a BLT.

Il valore della ricerca sta anche nel metodo di valutazione. Gli esperimenti sono stati condotti su modelli da 1 e 3 miliardi di parametri, addestrati sul dataset BLT-1T, composto da un trilione di token provenienti da fonti pubbliche. Le valutazioni principali includono traduzione francese-inglese e tedesco-inglese sul benchmark FLORES-101 e task di coding come HumanEval e MBPP. Questo consente di osservare non solo l’efficienza teorica della generazione, ma anche come cambiano qualità e robustezza su compiti diversi.

Il dato da non perdere è che le percentuali di riduzione non vanno confuse con un raddoppio automatico della velocità percepita in ogni ambiente reale. Gli autori usano metriche proxy come il numero di forward pass e la banda di memoria stimata. Sono indicatori molto utili, perché isolano il collo di bottiglia architetturale, ma la velocità effettiva dipenderà dall’implementazione, dall’hardware, dal batch size, dalla gestione della KV cache e dall’ottimizzazione del runtime. Il risultato, quindi, non va interpretato come un prodotto già pronto che dimezza sempre la latenza, ma come una dimostrazione tecnica che la generazione byte-level può diventare molto più competitiva rispetto a quanto si pensava.

La portata industriale, però, è notevole. Se i modelli senza tokenizer diventano efficienti anche in inferenza, uno dei compromessi fondamentali degli LLM potrebbe cambiare. Oggi i tokenizer sono un elemento invisibile ma decisivo dell’intera filiera: condizionano i costi, la lunghezza delle sequenze, la gestione delle lingue, la rappresentazione del codice, la frammentazione dei numeri e persino l’esperienza degli utenti nei sistemi basati su conteggio token. Un modello byte-level efficiente riduce questa dipendenza e rende l’input più uniforme. Tutto diventa byte, senza vocabolari predefiniti e senza segmentazioni diverse da lingua a lingua.

Questo può avere effetti particolarmente importanti sul multilinguismo. I tokenizer basati su corpora dominanti tendono a essere più efficienti per le lingue più rappresentate nei dati di addestramento e meno efficienti per lingue, alfabeti o sistemi di scrittura sottorappresentati. Un testo in inglese può essere compresso in pochi token, mentre un testo in un’altra lingua può richiederne molti di più a parità di contenuto informativo. Il byte-level modeling non elimina automaticamente tutte le disparità linguistiche, perché restano i problemi dei dati e della capacità del modello, ma rimuove una fonte strutturale di asimmetria nella rappresentazione iniziale.

Lo stesso vale per codice, dati strutturati e numeri. I tokenizer subword sono progettati per comprimere sequenze linguistiche frequenti, ma possono comportarsi in modo poco intuitivo con identificatori, path, stringhe tecniche, numeri lunghi, formati serializzati o combinazioni rare di simboli. Un modello byte-level osserva questi contenuti nella loro forma nativa, senza doverli adattare a un vocabolario appreso. Questo può migliorare la generalizzazione su casi di coda lunga, input rumorosi e domini tecnici, anche se i risultati sui benchmark di coding mostrano che la generazione parallela deve essere calibrata con attenzione per non perdere precisione.

Il risultato più concreto è che i modelli byte-level non appaiono più condannati a essere eleganti ma troppo lenti. BLT-D dimostra che la diffusione discreta può rendere parallela una parte della generazione. BLT-S dimostra che l’autospeculazione può ridurre le chiamate costose senza cambiare modello e senza perdere output in greedy decoding. BLT-DV dimostra che la verifica può recuperare qualità quando la generazione parallela diventa troppo aggressiva. Insieme, queste tre tecniche trasformano BLT da architettura alternativa al tokenizer in un possibile candidato per LLM più robusti, più universali e più efficienti.

Di Fantasy