Diffusion Language Models
Los modelos de lenguaje de difusión generan texto revelando muchos tokens en paralelo durante varios pasos de eliminación de ruido. Incluye la difusión enmascarada, LLaDA y Mercury.
Un modelo de lenguaje de difusión genera texto a partir de una secuencia completamente corrompida, normalmente formada solo por tokens de máscara, y refina muchas posiciones en paralelo a lo largo de una serie de pasos de eliminación de ruido; en cambio, un modelo de lenguaje grande (LLM) convencional escribe un token cada vez, de izquierda a derecha. Traslada al texto discreto la idea de los modelos de difusión de imágenes: un proceso directo destruye gradualmente una secuencia y un Transformer aprende a invertirlo. El enfoque alcanzó escala de producción en 2025. LLaDA, un modelo de difusión de 8000 millones de parámetros entrenado desde cero, compitió con LLaMA3 8B en aprendizaje en contexto; los modelos Mercury Coder de Inception Labs alcanzaron 1109 y 737 tokens por segundo en GPU NVIDIA H100 en pruebas independientes; y la experimental Gemini Diffusion de Google DeepMind indica una velocidad media de muestreo de 1479 tokens por segundo.
Cómo funciona la difusión con máscaras#
LLaDA y la mayoría de los modelos recientes utilizan difusión con máscaras, también llamada difusión de estado absorbente. El proceso directo elige un nivel de ruido t entre 0 y 1 y sustituye cada token por un símbolo de máscara con probabilidad t:
import torch
torch.manual_seed(6)
tokens = ["the", "cat", "sat", "on", "the", "warm", "mat", "by", "the", "door"]
# Forward process of a masked diffusion LM: at noise level t, each token is masked with probability t
for t in [0.25, 0.5, 0.75, 1.0]:
masked = torch.rand(len(tokens)) < t
noisy = ["[M]" if m else token for token, m in zip(tokens, masked)]
print(f"t={t:.2f}: {' '.join(noisy)}")La ejecución muestra la frase con 2, 5, 8 y, por último, las 10 palabras enmascaradas. Durante el entrenamiento, un Transformer sin máscara causal ve una de esas secuencias y predice todos los tokens enmascarados a la vez, con una función de pérdida de entropía cruzada en las posiciones enmascaradas, que LLaDA pondera por 1/t. El objetivo generaliza el modelado del lenguaje enmascarado de BERT, que siempre predice el 15 % de los tokens, a todas las proporciones de enmascaramiento, y establece un límite para la log-verosimilitud del modelo, de modo que el resultado es un modelo generativo completo.
La generación ejecuta el proceso en sentido inverso desde t = 1. En cada paso predice todas las posiciones enmascaradas, confirma las predicciones con mayor confianza y vuelve a enmascarar las demás; LLaDA denomina a esta estrategia remascarado de baja confianza. Las salidas largas suelen generarse bloque a bloque, un enfoque formalizado como difusión por bloques, de modo que se puedan almacenar en caché los bloques anteriores y no sea necesario fijar de antemano la longitud de la salida:
De D3PM a los modelos de producción#
El D3PM de Google definió la difusión sobre estados discretos en 2021, incluido el estado de máscara absorbente que utilizan hoy la mayoría de los modelos. El Diffusion-LM de Stanford aplicó difusión a embeddings continuos de palabras en 2022 para orientar el texto generado hacia restricciones sintácticas y temáticas. El SEDD de Aaron Lou, Chenlin Meng y Stefano Ermon, ganador del premio al mejor artículo de ICML 2024, redujo entre un 25 % y un 75 % la perplejidad de los primeros modelos de difusión de texto y superó a GPT-2. LLaDA demostró después que el enfoque puede escalar a miles de millones de parámetros y, como procesa el contexto en ambas direcciones, superó a GPT-4o en una tarea de completar poemas invertidos que pone a prueba el sesgo de inversión de los modelos de izquierda a derecha. Inception ofrece Mercury mediante una API Chat Completions compatible con OpenAI, por lo que la interfaz de LLM de Ultralytics puede llamarlo con api="chat.completions" y base_url de Inception, por ejemplo, para convertir detecciones de YOLO26 en un informe escrito.
Ventajas y contrapartidas#
El desenmascarado en paralelo requiere menos pasadas hacia delante que tokens hay, lo que explica su velocidad, y la calidad disminuye a medida que se confirman más tokens en menos pasos. Los tokens confirmados en un mismo paso se muestrean de forma independiente, por lo que confirmar muchos a la vez puede producir combinaciones que no encajan entre sí. Además, cada paso presta atención al bloque completo en ambas direcciones, lo que lo hace más costoso que un paso autorregresivo con una caché KV. El contexto bidireccional facilita completar y editar texto: el modelo puede rellenar un hueco en mitad de una función o un documento usando el texto de ambos lados, algo útil para completar código y para las herramientas de programación agéntica que editan archivos existentes.
Modelos de lenguaje de difusión y términos relacionados#
- Generación de texto autorregresiva: Predice cada token a partir de los tokens que lo preceden, con una pasada hacia delante por token.
- Difusión de imágenes: Stable Diffusion y otros modelos de difusión latente añaden ruido gaussiano a píxeles o representaciones latentes continuos, a menudo con un Transformer de difusión (DiT) como eliminador de ruido.
- Forzado de difusión: Asigna a cada token su propio nivel de ruido y combina la predicción del siguiente token con la difusión de la secuencia completa, principalmente para vídeo y planificación.
- Decodificación especulativa: Acelera un modelo autorregresivo redactando varios tokens con un modelo más pequeño y verificándolos en una sola pasada del modelo grande, sin alterar la distribución de salida de este último.










