Block Diffusion: Interpolazione tra Modelli Linguistici Autoregressivi e di DiffusioneBlock Diffusion: Interpolating Between Autoregressive and Diffusion
Language Models
I modelli linguistici basati su diffusione offrono vantaggi unici rispetto ai modelli autoregressivi grazie al loro potenziale per la generazione parallelizzata e alla controllabilità, tuttavia sono inferiori nella modellazione della verosimiglianza e sono limitati alla generazione di sequenze a lunghezza fissa. In questo lavoro, introduciamo una classe di modelli linguistici a diffusione a blocchi che interpola tra la diffusione discreta di denoising e i modelli autoregressivi. La diffusione a blocchi supera le principali limitazioni di entrambi gli approcci supportando la generazione di sequenze a lunghezza flessibile e migliorando l'efficienza inferenziale con la memorizzazione in cache delle chiavi-valori (KV) e il campionamento parallelo di token. Proponiamo una ricetta per costruire modelli di diffusione a blocchi efficaci che include un algoritmo di addestramento efficiente, stimatori della varianza del gradiente e schemi di rumore basati sui dati per minimizzare la varianza. La diffusione a blocchi stabilisce un nuovo stato dell'arte tra i modelli di diffusione nei benchmark di modellazione linguistica e consente la generazione di sequenze di lunghezza arbitraria. Forniamo il codice, insieme ai pesi del modello e a un post sul blog, sulla pagina del progetto: https://m-arriola.com/bd3lms/