← Ultimi articoli
🤖 AI

PRESTO: Prefix-Aligned Tree Drafting for Diffusion Speculative Decoding

Il documento introduce PRESTO, un framework fondato su principi che migliora il decoding speculativo basato sulla diffusione implementando lo scoring allineato al prefisso e la ricerca ad albero basata sulla priorità per risolvere il disallineamento tra i marginali della diffusione e la verifica autoregressiva, migliorando così significativamente il throughput end-to-end.

Autori originali: Zheng Wang, Zhifan Ye, Qi Cheng, Yonggan Fu, Ziyan Wang, Feng Zhu, Haozhe Zhao, Jan Kautz, Pavlo Molchanov, Humphrey Shi, Minjia Zhang

Pubblicato 2026-07-28
📖 10 min di lettura🧠 Approfondimento

Autori originali: Zheng Wang, Zhifan Ye, Qi Cheng, Yonggan Fu, Ziyan Wang, Feng Zhu, Haozhe Zhao, Jan Kautz, Pavlo Molchanov, Humphrey Shi, Minjia Zhang

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina di cercare di prevedere la parola successiva in una storia. Per molto tempo, i computer più intelligenti (chiamati Large Language Models) hanno fatto questo una parola alla volta, come una persona che legge un libro ad alta voce, fermandosi dopo ogni singola parola per pensare a cosa venire dopo. Questo è accurato, ma è lento. Recentemente, gli scienziati hanno scoperto un nuovo modo per scrivere queste storie usando i modelli di "diffusione". Immaginali come uno scultore che parte da un blocco di marmo e scolpisce l'intera statua tutta in una volta, invece di sbozzare un pezzettino alla volta. Questo permette al computer di indovinare molte parole simultaneamente, il che è incredibilmente veloce.

Tuttove, c'è un problema. Quando indovini molte parole tutte insieme, potresti sbagiarne alcune. Per risolvere il problema, esiste un trucco astuto chiamato "speculative decoding" (decodifica speculativa). È come avere un assistente junior veloce che indovina le prossime parole, e poi un capo super intelligente e lento che controlla se quelle intuizioni sono corrette. Se il capo concorda, accetta l'intero gruppo di parole istantaneamente, risparmiando un sacco di tempo. Il problema è che l'assistente junior (il modello di diffusione) è bravo a indovinare le singole parole, ma non sempre sa come queste parole si incastrino in un ordine specifico. È come se l'assistente fosse bravo a scegliere gli ingredienti singoli per una torta, ma non sappia sempre quale combinazione di ingredienti risulterà davvero buona da mangiare.

È qui che entra in gioco un nuovo articolo scientifico. I ricercatori, guidati da Zheng Wang e colleghi, si sono resi conto che l'attuale modo di utilizzare questi assistenti veloci sta lasciando molta velocità sul tavolo. Hanno scoperto che, mentre l'assistente può generare una enorme varietà di combinazioni di parole, il metodo attuale ne controlla una singola sequenza, come camminare lungo un unico corridoio sperando che la porta alla fine sia aperta. Gli autori propongono un nuovo sistema chiamato PRESTO (Prefix-Aligned Tree Drafting). Invece di camminare lungo un unico corridoio, PRESTO costruisce un albero di possibilità, esplorando molti percorsi contemporaneamente. Ma ecco la magia: corregge un difetto fondamentale nel modo in cui viene misurata la fiducia dell'assistente. La fiducia originale dell'assistente è "cieca rispetto al prefisso" (prefix-blind), il che significa che non le importa di quali parole siano venute prima. PRESTO aggiunge un punteggio "allineato al prefisso", che agisce come una bussola, assicurando che i percorsi scelti per l'esplorazione siano quelli più probabili di essere accettati dal capo.

Il risultato è un sistema significativamente più veloce. Nei loro test, PRESTO ha aiutato il computer ad accettare più parole in ogni round di indovinazione. Su alcune delle migliori configurazioni esistenti, ha reso l'intero processo 1,5 volte più veloce. Su altre configurazioni, ha fornito un'accelerazione di 1,12 volte. L'articolo suggerisce che trattando il processo di indovinazione come un'avventura a ramificazioni d'albero piuttosto che come una linea retta, e assicurandosi che i rami siano scelti in base a quanto si adattano alla storia finora, possiamo ottenere il meglio dei due mondi: la velocità della diffusione e l'accuratezza del controllo attento.

Il Problema: La Trappola del "Percorso Singolo"

Per capire perché PRESTO è necessario, immagina di giocare a un gioco di "Mad Libs" con un amico che sta cercando di indovinare le parole mancanti. Il tuo amico è un modello di diffusione. È incredibile nel guardare uno spazio vuoto e dire: "Scommetto che la parola qui è 'gatto'!" oppure "Forse è 'cane'?" o "O forse 'razzo'?". Può urlare tutte queste opzioni esattamente nello stesso momento.

Tuttavia, l'attuale metodo di utilizzo di questo amico è molto rigido. Prende la sua ipotesi migliore, la scrive e poi chiede al "capo" (il modello target) se la sua ipotesi è corretta. Se il capo dice "No", tutto viene scartato e devi ricominciare da capo. Se il capo dice "Sì", passi alla parola successiva e ripeti. Questo è chiamato linear drafting (bozza lineare). È come camminare in una foresta e guardare solo il sentiero direttamente davanti a te.

Gli autori hanno osservato che questo approccio è inefficiente. Poiché il modello di diffusione genera molte opzioni simultaneamente, esiste un enorme "spazio combinatorio" di possibilità. È come avere una mappa con mille sentieri diversi, ma ti è permesso di percorrerne solo uno. L'articolo mostra che, attenendosi a un solo percorso, il sistema perde molti percorsi validi. Infatti, su problemi matematici come GSM8K, il metodo attuale accettava circa 6,5 parole in media, ma i ricercatori hanno calcolato che, se avessero potuto controllare tutti i percorsi migliori, avrebbero potuto accettarne quasi 10. Questo è un enorme divario!

Il Disallineamento: La Bussola "Cieca"

I ricercatori hanno scavato più a fondo e hanno scoperto un motivo specifico per cui semplicemente controllare più percorsi (costruire un albero) non funzionava perfettamente con i vecchi metodi. Hanno identificato un "disallineamento fondamentale".

Nel mondo della IA standard (modelli autoregressivi), il punteggio di fiducia per una parola dipende fortemente dalle parole che l'hanno preceduta. Se la frase è "Il gatto si è seduto sul...", il modello sa che "tappeto" è una parola molto probabile, ma "pizza" non lo è. Questo è allineato al prefisso (prefix-aligned).

Ma i modelli di diffusione lavorano diversamente. Generano una probabilità "marginale" per ogni posizione in modo indipendente. È come se il modello dicesse: "Alla posizione 5, 'gatto' è probabile all'80%", senza curarsi se alla posizione 4 c'era "Il" o "Il veloce marrone". Questo è cieco rispetto al prefisso (prefix-blind).

Quando provi a costruire un albero di ipotesi usando questi punteggi ciechi, ottieni un problema di classificazione. Potresti scegliere un percorso che sembra ottimo per la prima parola ma terribile per la seconda parola perché il modello non ha realizzato che la prima parola ha cambiato il contesto. È come un GPS che ti dà indicazioni basandosi solo sulla strada attuale, ignorando il fatto che hai appena girato a sinistra e sei ora su una strada a senso unico. L'articolo sostiene che usare questi punteggi ciechi per costruire un albero porta a una "classificazione inaffidabile dei percorsi", il che significa che il sistema esplora i rami sbagliati e spreca tempo.

La Soluzione: PRESTO

PRESTO (Prefix-Aligned Scoring and priority-based Tree search for diffusion Speculative decOding) risolve questo problema aggiungendo una "correzione" ai punteggi del modello di diffusione.

  1. Punteggio Allineato al Prefisso (Prefix-Aligned Scoring): Gli autori hanno capito che dovevano combinare il forte segnale "marginale" del modello di diffusione (quanto è probabile una parola da sola) con un segnale "condizionato al prefisso" (quanto è probabile data la sequenza di parole precedenti). Hanno creato una nuova formula di punteggio che moltiplica la probabilità di diffusione per un fattore di correzione derivato da un semplice modello n-gram (uno strumento leggero che analizza le combinazioni di parole). Questo crea un punteggio che rispetta il flusso della storia.
  2. Ricerca ad Albero basata sulla Priorità (Priority-Based Tree Search): Invece di scegliere solo il percorso principale, PRESTO costruisce un albero. Utilizza i nuovi punteggi corretti per decidere quali rami far crescere. Dà priorità ai percorsi che hanno la maggiore potenzialità di essere accettati dal capo. È come un escursionista che, invece di camminare dritto, guarda una mappa e sceglie il sentiero che ha più probabilità di portarlo alla vetta, anche se quel sentiero non è il più ovvio all'inizio.

L'articolo ha testato due modi per far crescere questo albero: Beam Search (mantenere un numero fisso di percorsi principali ad ogni passaggio) e Best-First Search (espandere sempre l'unico miglior percorso trovato finora). Hanno scoperto che, per il loro setup specifico, la Beam Search funzionava bene quanto la più complessa Best-First Search, quindi hanno optato per l'opzione più semplice ed efficiente.

I Risultati: Più Veloci e Più Intelligenti

Gli autori hanno messo alla prova PRESTO in varie attività, tra cui problemi matematici (GSM8K, Math500), sfide di programmazione (HumanEval, LiveCodeBench) e conversazioni in chat. Hanno utilizzato due tipi diversi di sistemi:

  • Drafter di Diffusione Dedicati: Un piccolo e veloce modello di diffusione che indovina per un modello autoregressivo più grande (come dFlash).
  • LLM di Diffusione Auto-Speculativi: Un singolo modello di diffusione che indovina e controlla se stesso (come Nemotron-Labs-Diffusion).

I risultati sono stati coerenti in tutti i casi. PRESTO ha aumentato costantemente la Lunghezza Media di Accettazione (Average Acceptance Length), ovvero il numero di parole che il capo accetta in un colpo solo.

  • Sul sistema dFlash (usando Qoven3-8B), la lunghezza media di accettazione è passata da circa 6,6 parole a 9,6 parole. Ciò si è tradotto in un'accelerazione end-to-end di 1,5 volte.
  • Sul sistema Nemotron-Labs-Diffusion, la lunghezza di accettazione è aumentata da 8,8 a 9,9 parole, con un'accelerazione di 1,12 volte.

Forse la cosa più impressionante è che l'articolo mostra che PRESTO funziona anche quando il sistema è "stocastico" (randomizzato), il che di solito è più difficile da prevedere. In questi casi, l'accelerazione è stata ancora più pronunciata, con alcuni benchmark che hanno visto quasi il doppio del throughput.

Gli autori hanno anche controllato il "costo" di questo nuovo metodo. Hanno scoperto che il lavoro extra richiesto per costruire l'albero e calcolare i nuovi punteggi era minimo, meno del 4% del tempo totale. La stragrande maggioranza del tempo (oltre il 90%) veniva ancora spesa nella verifica effettiva da parte del modello "capo". Ciò significa che PRESTO è un aggiornamento altamente efficiente che non rallenta il sistema con l'overhead.

Cosa NON è PRESTO

È importante notare cosa l'articolo non afferma. Gli autori dichiarano esplicitamente che applicare semplicemente una struttura ad albero ingenua (senza il loro punteggio allineato al prefisso) è subottimale. Se prendi semplicemente i punteggi grezzi del modello di diffusione e costruisci un albero, non ottieni il pieno beneficio a causa della natura "cieca" dei punteggi. PRESTO riguarda specificamente la correzione di questo disallineamento del punteggio.

Inoltre, l'articolo non sostiene di aver risolto interamente il problema dei modelli di diffusione. Ammettono che il loro metodo si affida a un "segnale di allineamento al prefisso trattabile" (come il modello n-gram che hanno usato) per svolgere il lavoro pesante della correzione. Suggeriscono che i lavori futuri potrebbero esplorare segnali ancora più ricchi, ma per ora, la loro semplice correzione è sufficiente per vedere guadagni massicci.

Perché Questo è Importante

Nella corsa a rendere l'IA più veloce ed efficiente, ogni briciolo di velocità conta. La codifica speculativa è un argomento caldo perché ci permette di usare i modelli migliori e più accurati senza pagare l'intero costo temporale. Tuttavia, i metodi attuali erano limitati dal fatto che trattavano i modelli di diffusione come macchine lineari, ignorando la loro capacità unica di generare molte opzioni contemporaneamente.

PRESTO cambia le regole del gioco trattando i modelli di diffusione come gli esploratori multi-percorso che sono. Allineando il punteggio al modo in cui il "capo" controlla il lavoro, sblocca il pieno potenziale della generazione parallela del modello di diffusione. Il risultato è un sistema che non è solo leggermente più veloce, ma significativamente più efficiente, permettendoci di generare testo, risolvere problemi matematici e scrivere codice a velocità che prima erano ritenute impossibili per questo tipo di modelli. Come dicono gli autori, hanno trasformato una passeggiata su un "percorso singolo" in una spedizione "basata su un albero", assicurando che ogni passo compiuto sia un passo verso la risposta corretta.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →