Block Diffusion: Interpolando entre Modelos de Linguagem Autoregressivos e de DifusãoBlock Diffusion: Interpolating Between Autoregressive and Diffusion
Language Models
Os modelos de linguagem baseados em difusão oferecem benefícios únicos em relação aos modelos autoregressivos devido ao seu potencial para geração paralelizada e controlabilidade. No entanto, eles ficam atrás na modelagem de verossimilhança e são limitados à geração de sequências de comprimento fixo. Neste trabalho, introduzimos uma classe de modelos de linguagem de difusão em blocos que interpola entre a difusão de ruído discreta e os modelos autoregressivos. A difusão em blocos supera limitações-chave de ambas as abordagens ao suportar geração de comprimento flexível e melhorar a eficiência de inferência com cache de KV e amostragem paralela de tokens. Propomos uma receita para construir modelos de difusão em blocos eficazes, que inclui um algoritmo de treinamento eficiente, estimadores de variância de gradiente e cronogramas de ruído baseados em dados para minimizar a variância. A difusão em blocos estabelece um novo estado da arte entre os modelos de difusão em benchmarks de modelagem de linguagem e permite a geração de sequências de comprimento arbitrário. Disponibilizamos o código, juntamente com os pesos do modelo e um post no blog na página do projeto: https://m-arriola.com/bd3lms/