Block Diffusion : Interpolation entre modèles de langage autorégressifs et de diffusionBlock Diffusion: Interpolating Between Autoregressive and Diffusion
Language Models
Les modèles de langage par diffusion offrent des avantages uniques par rapport aux modèles autorégressifs grâce à leur potentiel de génération parallélisée et de contrôlabilité, mais ils sont moins performants en modélisation de vraisemblance et limités à la génération de séquences de longueur fixe. Dans ce travail, nous introduisons une classe de modèles de langage par diffusion par blocs qui interpolent entre la diffusion discrète de débruitage et les modèles autorégressifs. La diffusion par blocs surmonte les limitations clés des deux approches en permettant une génération de longueur flexible et en améliorant l'efficacité de l'inférence grâce à la mise en cache KV et à l'échantillonnage parallèle de tokens. Nous proposons une méthode pour construire des modèles de diffusion par blocs efficaces, incluant un algorithme d'entraînement performant, des estimateurs de variance de gradient et des plannings de bruit basés sur les données pour minimiser la variance. La diffusion par blocs établit un nouvel état de l'art parmi les modèles de diffusion sur les benchmarks de modélisation du langage et permet la génération de séquences de longueur arbitraire. Nous mettons à disposition le code, ainsi que les poids des modèles et un article de blog sur la page du projet : https://m-arriola.com/bd3lms/