← Ultimi articoli
💬 NLP

DreamOn: Diffusion Language Models For Code Infilling Beyond Fixed-size Canvas

DreamOn è un nuovo framework di diffusione che supera il limite della generazione a lunghezza fissa dei modelli linguistici di diffusione esistenti introducendo stati di controllo della lunghezza dinamica, consentendo un riempimento di codice (infilling) a lunghezza variabile e flessibile che raggiunge prestazioni paragonabili ai modelli autoregressivi allo stato dell'arte senza richiedere modifiche all'architettura.

Autori originali: Zirui Wu, Lin Zheng, Zhihui Xie, Jiacheng Ye, Jiahui Gao, Shansan Gong, Yansong Feng, Zhenguo Li, Wei Bi, Guorui Zhou, Lingpeng Kong

Pubblicato 2026-02-03
📖 4 min di lettura☕ Lettura da pausa caffè

Autori originali: Zirui Wu, Lin Zheng, Zhihui Xie, Jiacheng Ye, Jiahui Gao, Shansan Gong, Yansong Feng, Zhenguo Li, Wei Bi, Guorui Zhou, Lingpeng Kong

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 dover riempire uno spazio vuoto in una storia o in un pezzo di codice. Hai l'inizio (il prefisso) e la fine (il suffisso), e devi scrivere ciò che sta nel mezzo.

Per molto tempo, i programmi per computer più intelligenti (chiamati Modelli Autoregressivi) lo hanno fatto scrivendo una parola alla volta, da sinistra a destra, come una persona che digita una frase. Sono molto bravi in questo.

Poi, è arrivato un nuovo tipo di programma chiamato Modello di Linguaggio a Diffusione (DLM). Immaginali come degli scultori. Invece di scrivere parola per parola, partono da un blocco di argilla dove la parte centrale è completamente nascosta (mascherata). Scolpiscono le parti nascoste, rifinendo la forma finché non appaiono le parole perfette. Questo è utile perché possono correggere gli errori in qualsiasi ordine, non solo da sinistra a destra.

Il Probleo: La Trappola della "Tela a Dimensione Fissa"
Tuttavia, questi scultori avevano un grande difetto. Potevano lavorare solo su un blocco di argilla che fosse esattamente della dimensione che avevi indicato loro.

  • Se davi loro un blocco piccolo (diciamo 4 parole nascoste) ma la risposta richiedeva 20 parole, finivano lo spazio e davano una risposta rotta e incompleta.
  • Se davi loro un blocco enorme (diciamo 64 parole nascoste) ma la risposta richiedeva solo 4 parole, si confondevano e riempivano lo spazio extra con nonsense o spazzatura ripetitiva.

Il documento chiama questo il problema della "Tela a Dimensione Fissa". Il modello è bloccato in attesa che tu indovini l'esatta dimensione del buco prima che inizi a lavorare. Se indovini male, il risultato è scadente.

La Soluzione: DREAMON
Gli autori introducono DREAMON, un nuovo modo per insegnare a questi scultori come cambiare la dimensione del loro blocco di argilla mentre stanno lavorando.

Hanno aggiunto due speciali "comandi magici" al vocabolario del modello:

  1. [expand]: "Ho bisogno di più spazio! Trasforma questo singolo punto nascosto in due punti nascosti."
  2. [delete]: "Ho troppo spazio! Rimuovi interamente questo punto nascosto."

Come Funziona (L'Analogia)
Immagina che il modello stia disegnando un quadro all'interno di una cornice.

  • Vecchio Metodo: Dici al modello, "Disegna dentro un quadrato 10x10". Se il quadro ha bisogno di un 20x20, il modello viene schiacciato. Se ha bisogno di un 2x2, lo spazio è sprecato.
  • Metodo DREAMON: Dai al modello una cornice, ma gli permetti di tenere in mano un telecomando. Mentre disegna, se si rende conto che il quadro sta diventando troppo grande per la cornice, preme [expand] e la cornice cresce magicamente. Se si rende conto che il quadro è minuscolo e la cornice è enorme, preme [delete] e la cornice si restringe.

Il modello fa tutto questo da solo, basandosi su ciò che pensa debba essere la risposta. Non ha bisogno che tu indichi la lunghezza in anticipo.

I Risultati
I ricercatori hanno testato questo su compiti di programmazione (riempire parti mancanti di programmi informatici).

  • Prima di DREAMON: I modelli di diffusione erano terribili in questo se la dimensione del "buco" non corrispondeva perfettamente alla risposta. Le loro prestazioni calavano di circa il 38% solo perché la dimensione era leggermente errata.
  • Dopo DREAMON: I modelli sono diventati bravi quanto i migliori scrittori "parola per parola" (i modelli autoregressivi). Potevano gestire buchi di qualsiasi dimensione, facendo crescere o rimpicciolire la risposta finché non era quella giusta.
  • Efficienza: Hanno anche aggiunto un trucco chiamato "Deletion Broadcasting". Se il modello decide di eliminare un grosso blocco della cornice, non lo fa un pezzetto alla volta; elimina l'intero blocco istantaneamente, rendendo il processo molto più veloce.

In Sintesi
DREAMON prende uno strumento potente ma rigido (i Modelli di Diffusione) e gli conferisce la flessibilità di allungarsi e restringersi. Elimina la necessità per gli umani di indovinare la lunghezza perfetta della risposta, permettendo a questi modelli di competere finalmente con le migliori IA di scrittura di codice che abbiamo oggi, ma con il vantaggio aggiuntivo di poter correggere le cose in qualsiasi ordine.

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 →