Diffusion Language Models
I modelli linguistici a diffusione generano testo sbloccando molti token in parallelo attraverso varie fasi di rimozione del rumore. Panoramica di diffusione mascherata, LLaDA e Mercury.
Un modello linguistico a diffusione genera testo partendo da una sequenza completamente corrotta, di solito composta interamente da token di mascheramento, e perfeziona molte posizioni in parallelo attraverso una serie di passaggi di denoising; un modello linguistico di grandi dimensioni (LLM) convenzionale, invece, scrive un token alla volta, da sinistra a destra. Trasferisce al testo discreto l'idea alla base dei modelli di diffusione per immagini: un processo diretto distrugge gradualmente una sequenza e un Transformer impara a invertirlo. L'approccio ha raggiunto la scala di produzione nel 2025. LLaDA, un modello a diffusione da 8 miliardi di parametri addestrato da zero, era competitivo con LLaMA3 8B nell'apprendimento in contesto; i modelli Mercury Coder di Inception Labs hanno raggiunto 1.109 e 737 token al secondo su GPU NVIDIA H100 in test indipendenti; e Gemini Diffusion, il modello sperimentale di Google DeepMind, riporta una velocità media di campionamento di 1.479 token al secondo.
Come funziona la diffusione con mascheramento#
LLaDA e la maggior parte degli altri modelli recenti usano una diffusione con mascheramento, o a stato assorbente. Il processo diretto sceglie un livello di rumore t tra 0 e 1 e sostituisce ogni token con un simbolo di mascheramento con probabilità t:
import torch
torch.manual_seed(6)
tokens = ["the", "cat", "sat", "on", "the", "warm", "mat", "by", "the", "door"]
# Forward process of a masked diffusion LM: at noise level t, each token is masked with probability t
for t in [0.25, 0.5, 0.75, 1.0]:
masked = torch.rand(len(tokens)) < t
noisy = ["[M]" if m else token for token, m in zip(tokens, masked)]
print(f"t={t:.2f}: {' '.join(noisy)}")L'esecuzione stampa la frase con 2, 5, 8 e infine tutte e 10 le parole mascherate. Durante l'addestramento, un Transformer senza maschera causale legge una di queste sequenze e predice tutti i token mascherati contemporaneamente, usando una funzione di perdita di entropia incrociata sulle posizioni mascherate, ponderata da LLaDA per 1/t. L'obiettivo generalizza la modellazione del linguaggio mascherato di BERT, che predice sempre il 15% dei token, a ogni rapporto di mascheramento e pone un limite alla log-verosimiglianza del modello, rendendo il risultato un modello generativo completo.
La generazione esegue il processo al contrario, partendo da t = 1. A ogni passaggio predice tutte le posizioni mascherate, conferma le previsioni più sicure e applica di nuovo la maschera alle altre: una strategia che LLaDA chiama rimasking a bassa confidenza. Gli output lunghi sono spesso generati un blocco alla volta, secondo un approccio formalizzato come diffusione a blocchi, così è possibile memorizzare nella cache i blocchi precedenti e non è necessario fissare in anticipo la lunghezza dell'output:
Da D3PM ai modelli di produzione#
Il D3PM di Google ha definito nel 2021 la diffusione su stati discreti, incluso lo stato di mascheramento assorbente usato oggi dalla maggior parte dei modelli. Nel 2022, Diffusion-LM di Stanford applicava la diffusione agli embedding continui delle parole per orientare il testo generato verso vincoli sintattici e tematici. SEDD di Aaron Lou, Chenlin Meng e Stefano Ermon, premiato come miglior articolo all'ICML 2024, ha ridotto del 25-75% la perplexity dei precedenti modelli di diffusione del testo e ha superato GPT-2. LLaDA ha poi dimostrato che l'approccio è scalabile fino a miliardi di parametri e, poiché legge il contesto in entrambe le direzioni, ha superato GPT-4o in un'attività di completamento di poesie invertite che verifica il reversal curse dei modelli da sinistra a destra. Inception offre Mercury tramite un'API Chat Completions compatibile con OpenAI, quindi l'interfaccia LLM di Ultralytics può chiamarlo con api="chat.completions" e base_url di Inception, per esempio per trasformare i rilevamenti di YOLO26 in un rapporto scritto.
Punti di forza e compromessi#
Il mascheramento parallelo richiede meno passaggi in avanti del numero di token, da cui deriva la velocità; la qualità diminuisce quando un numero inferiore di passaggi conferma più token ciascuno. I token confermati nello stesso passaggio vengono campionati in modo indipendente, quindi confermarne molti contemporaneamente può produrre combinazioni incompatibili. A ogni passaggio si presta attenzione all'intero blocco in entrambe le direzioni, rendendo il passaggio più costoso di un singolo passaggio autoregressivo con cache KV. Il contesto bidirezionale rende naturale il completamento e la modifica: il modello può riempire una lacuna al centro di una funzione o di un documento usando il testo da entrambi i lati, una caratteristica adatta al completamento del codice e agli strumenti di programmazione agentica che modificano file esistenti.
LM a diffusione e termini correlati#
- Generazione autoregressiva del testo: predice ogni token a partire dai token che lo precedono, con un passaggio in avanti per token.
- Diffusione di immagini: Stable Diffusion e altri modelli di diffusione latente aggiungono rumore gaussiano a pixel o latenti continui, spesso usando un Transformer di diffusione (DiT) come denoiser.
- Diffusion forcing: assegna a ogni token un proprio livello di rumore, combinando la predizione del token successivo con la diffusione dell'intera sequenza, soprattutto per video e pianificazione.
- Decodifica speculativa: accelera un modello autoregressivo generando in bozza più token con un modello più piccolo e verificandoli con un solo passaggio del modello grande, senza modificare la distribuzione dell'output.










