Diffusion Language Models
Scopri come i modelli linguistici a diffusione generano e modificano il testo attraverso il denoising iterativo, con approfondimenti su transformer, applicazioni, vantaggi e limiti.
I modelli linguistici a diffusione sono modelli generativi che producono o modificano testo attraverso una de-noising iterativa, invece di generare ogni token rigorosamente da sinistra a destra. Iniziano con una sequenza corrotta, spesso contenente token mascherati, sostituiti o incerti, e perfezionano ripetutamente più posizioni finché il testo non diventa coerente. Questo approccio combina idee della modellazione linguistica e dei modelli a diffusione, offrendo un'alternativa alla generazione convenzionale del token successivo.
Come funzionano i modelli linguistici a diffusione#
Il testo viene prima suddiviso tramite la tokenizzazione in parole, sottoparole, caratteri o altre unità discrete. Durante l'addestramento, un processo di corruzione progressiva rimuove gradualmente le informazioni dalle sequenze di token. A seconda dell'implementazione, i token possono essere sostituiti da simboli di mascheramento, alternative campionate o rappresentazioni continue rumorose chiamate embedding.
Il modello apprende il processo inverso: prevedere versioni più pulite delle sequenze corrotte. Al momento dell'inferenza, parte da un blocco fortemente mascherato o rumoroso ed esegue diversi passaggi di perfezionamento. I primi passaggi stabiliscono il significato e la struttura generali, mentre quelli successivi correggono il vocabolario, la grammatica, la formattazione e la coerenza locale.
Molti modelli linguistici a diffusione utilizzano un Transformer per elaborare la sequenza. I Transformer sono adatti a questo compito perché il loro meccanismo di attenzione può mettere in relazione ogni token con il contesto circostante. La documentazione di PyTorch Transformer offre una panoramica utile di questa architettura sottostante.
A differenza di un sistema fisso di completamento degli spazi vuoti, la generazione a diffusione può riconsiderare ripetutamente le previsioni. Un token selezionato durante un passaggio non è necessariamente definitivo; le iterazioni successive possono modificarlo quando il resto della sequenza fornisce un contesto migliore. La panoramica sulla diffusione del testo di Google DeepMind illustra questo schema di generazione iterativa a livello di blocco.
Modelli a diffusione e concetti correlati#
Diversi termini strettamente correlati descrivono obiettivi o architetture differenti:
- Modelli linguistici autoregressivi di grandi dimensioni generano i token in sequenza, con ogni previsione condizionata dall'output precedente. Questo processo causale è illustrato dal tutorial sulla generazione autoregressiva del testo di TensorFlow. I modelli a diffusione possono invece aggiornare molte posizioni durante ogni passaggio di perfezionamento.
- Modelli linguistici mascherati prevedono token deliberatamente nascosti utilizzando il contesto su entrambi i lati. L'esempio di modellazione linguistica mascherata in Keras illustra questo obiettivo di addestramento. I modelli linguistici a diffusione estendono l'idea a un processo di generazione completo con più livelli di corruzione e iterazioni di de-noising.
- Stable Diffusion è un sistema di generazione di immagini, non un modello linguistico di grandi dimensioni. I servizi di immagini Stable Diffusion di Stability AI generano e modificano contenuti visivi, mentre i modelli linguistici a diffusione operano sui token di testo o sulle loro rappresentazioni.
- Transformer a diffusione descrive l'uso dei Transformer all'interno dei sistemi a diffusione, comunemente per la generazione di immagini o video. Un modello linguistico a diffusione è definito dal suo obiettivo di generazione del testo, non esclusivamente dalla sua architettura neurale.
Applicazioni nel mondo reale#
Un'applicazione concreta è la modifica di documenti e codice. Invece di aggiungere testo dopo il cursore, un modello linguistico a diffusione può perfezionare un'intera bozza o una porzione selezionata. Ad esempio, potrebbe ricostruire una funzione mancante modificando al contempo i nomi delle variabili, gli import e i commenti all'interno del blocco. La capacità di utilizzare sia il contesto precedente sia quello successivo è preziosa quando le correzioni in una posizione influiscono su un'altra.
Una seconda applicazione è l'analisi multimodale. Un sistema di visione può estrarre informazioni fattuali da un'immagine, dopodiché un modello linguistico a diffusione può comporre iterativamente un rapporto, una didascalia o una risposta fondata su tali osservazioni. Ad esempio, il rilevamento degli oggetti può identificare veicoli e persone in una scena del traffico prima che il componente linguistico rediga un riepilogo dell'incidente.
Il seguente flusso di lavoro utilizza Ultralytics YOLO26 per creare un contesto visivo strutturato destinato alla generazione linguistica a valle:
from ultralytics import YOLO
# Run object detection on a sample image
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Convert detections into compact language-model context
detections = result.summary()
object_names = sorted({item["name"] for item in detections})
visual_context = ", ".join(object_names)
print(visual_context)Il flusso di lavoro di previsione di YOLO restituisce output strutturati, mentre il metodo Results.summary() converte i rilevamenti in dizionari più semplici da passare a una pipeline linguistica. Questa separazione consente al modello di visione di fornire osservazioni fondate sui dati, mentre il modello linguistico gestisce la composizione iterativa.
Vantaggi, limitazioni e indicazioni pratiche#
I modelli linguistici a diffusione possono proporre più token in parallelo, modificare scelte precedenti e supportare naturalmente il riempimento di porzioni mancanti o la modifica vincolata. Tuttavia, la previsione parallela non garantisce una latenza end-to-end inferiore: la generazione richiede comunque più passaggi di de-noising e la velocità dipende dalla lunghezza della sequenza, dalle dimensioni del modello, dall'hardware e dalla strategia di campionamento.
Il testo è inoltre discreto, il che rende la corruzione graduale meno naturale rispetto all'aggiunta di rumore ai pixel continui delle immagini. I sistemi configurati in modo inadeguato possono produrre ripetizioni, omettere dettagli richiesti, modificare inutilmente testo corretto o avere difficoltà a determinare la lunghezza dell'output.
I team dovrebbero valutare l'accuratezza del compito, la factualità, la stabilità delle modifiche, la latenza e l'utilizzo delle risorse su prompt rappresentativi. Le indicazioni di Google Cloud sulla valutazione dell'AI generativa raccomandano di combinare metriche automatizzate e valutazione umana, poiché la qualità linguistica dipende dal contesto. Le implementazioni ad alto impatto dovrebbero inoltre seguire un processo strutturato come il NIST AI Risk Management Framework.
Per le applicazioni visive, la Ultralytics Platform supporta l'annotazione dei dataset, l'addestramento dei modelli, la distribuzione e il monitoraggio, aiutando i team a realizzare il componente percettivo in grado di fornire il contesto per i flussi di lavoro linguistici a diffusione a valle.






