NVIDIA AI lanza Nemotron-Labs-Diffusion: un modelo de lenguaje trimodal con 6 tokens por avance sobre Qwen3-8B

Los investigadores de NVIDIA han lanzado Nemotron-Labs-Diffusion, una familia de modelos de lenguaje que unifica tres modos de decodificación en una arquitectura. El modelo admite decodificación autorregresiva (AR), decodificación paralela basada en difusión y decodificación de autoespeculación. Está disponible en tamaños de parámetros 3B, 8B y 14B. La familia incluye variantes de lenguaje básico, de instrucción y de visión.

La decodificación secuencial limita el rendimiento

Los modelos de lenguaje autorregresivo (AR) estándar generan texto un token a la vez, de izquierda a derecha. Cada token depende de todos los tokens anteriores. Esta dependencia secuencial limita el paralelismo de la GPU por paso de generación. El resultado es una baja utilización del hardware en tamaños de lote bajos, la configuración típica para la implementación de un solo usuario o en el borde.

Los modelos de lenguaje de difusión (LM) ofrecen un enfoque diferente. En lugar de generar tokens secuencialmente, eliminan el ruido de varios tokens en paralelo por paso hacia adelante. Esto permite un mayor rendimiento. La compensación ha sido la precisión: los LM de difusión se han quedado constantemente rezagados con respecto a los modelos AR en los puntos de referencia, lo que requiere sustancialmente más datos para alcanzar un rendimiento comparable. Una razón clave es que el entrenamiento de difusión trata todas las permutaciones de tokens de manera uniforme, en lugar de aprovechar la fuerte priorización de izquierda a derecha inherente al lenguaje natural.

https://d1qx31qr3h6wln.cloudfront.net/publications/Nemotron_Diffusion_Tech_Report_v1.pdf?VersionId=db8_EMO8B.vmU26.jr7Le9pN3MqcUDNL

¿Qué es un modelo de lenguaje trimodal?

Nemotron-Labs-Diffusion está entrenado en un objetivo conjunto de difusión AR. En el momento de la inferencia, opera en tres modos según el contexto de implementación. No hay modificaciones arquitectónicas específicas del modo: los mismos pesos sirven para los tres modos.

El modo AR es una decodificación autorregresiva estándar de izquierda a derecha que utiliza atención causal. Este modo es más adecuado para el servicio en la nube de alta concurrencia.

El modo de difusión elimina el ruido de varios tokens en paralelo dentro de un bloque de longitud fija. La secuencia se divide en bloques contiguos. Dentro de cada bloque, los tokens asisten de forma bidireccional. Entre bloques, la atención sigue siendo causal, por lo que los bloques anteriores pueden reutilizar su caché KV. Un muestreador entrenado liviano predice, por posición enmascarada, si la predicción principal del modelo en el paso de eliminación de ruido actual es correcta. Las posiciones previstas como correctas se comprometen en ese paso. Esto permite que el modelo confirme varios tokens por pase directo.

El modo de autoespeculación utiliza la vía de difusión para redactar tokens candidatos y la vía AR para verificarlos, dentro del mismo modelo único. No se requiere ningún modelo de borrador auxiliar ni cabezal de predicción separado. La vía de difusión genera un bloque de k tokens candidatos en paralelo. Luego, la ruta AR ejecuta un segundo paso hacia adelante sobre esos candidatos usando atención causal, verificando el prefijo contiguo más largo que coincide con las predicciones AR. Cada ciclo produce entre 1 y k+1 tokens verificados. Esto contrasta con los métodos de predicción multitoken (MTP) como Eagle3, que utilizan pequeños cabezales de tiro auxiliares conectados a una columna vertebral AR.

Capacitación

El objetivo de entrenamiento conjunto combina una pérdida de predicción del siguiente token AR y una pérdida de eliminación de ruido por difusión en bloque:

ℒ(θ) = ℒ_AR(θ) + α · ℒ_diff(θ)

El coeficiente α se establece en 0,3 en todas las etapas de entrenamiento. Los experimentos de ablación que varían α de 0,1 a 1,0 muestran que la precisión tanto del modo AR como del modo de difusión alcanza un máximo de α = 0,3. Ningún valor en el rango [0,1, 0,5] mejora un modo a expensas del otro: los dos objetivos suben y bajan juntos.

El entrenamiento en dos etapas primero entrena el modelo exclusivamente en el objetivo de AR para 1 billón de tokens, construyendo sólidos antecedentes lingüísticos de izquierda a derecha. Luego, la etapa 2 introduce el objetivo conjunto de 300 mil millones de tokens adicionales. En las ablaciones, el entrenamiento en dos etapas contribuyó con un +5,74% de precisión promedio. Agregar la pérdida de AR contribuyó a la mayor ganancia con un +7,48%. El promedio de pérdidas globales (tratar todos los tokens de un lote por igual en lugar de promediar primero por secuencia) contribuyó con un +2,12 % al reducir la variación del gradiente de los índices de enmascaramiento de difusión variables. En conjunto, el proceso de capacitación completo mejoró la línea de base en un 16,05% de precisión promedio.

Todos los modelos se inicializan a partir de modelos base Ministral3 previamente entrenados, no entrenados desde cero. La capacitación se realizó en 256 GPU NVIDIA H100. Los modelos de instrucción se entrenan mediante ajuste fino supervisado (SFT) en 45 mil millones de tokens además de los modelos base, utilizando el mismo objetivo conjunto de difusión AR con α = 0,3. El canal de entrenamiento e inferencia se libera a través del Puente Megatron.

Autoespeculación lineal mejorada por LoRA

La alineación de la difusión base a AR en la autoespeculación se puede mejorar con un adaptador LoRA. Este adaptador está ajustado en la ruta de difusión del tiro para alinear mejor su salida con el verificador AR. Se dirige únicamente a la capa o_proj del módulo de atención (rango 128, α = 512, aproximadamente 36 millones de parámetros entrenables, 0,4 % de la red troncal). El ajuste de LoRA mejora los tokens por avance (TPF) en un 14,4 %, 32,5 % y 27,6 % en las escalas 3B, 8B y 14B respectivamente, con un cambio de precisión insignificante.

Análisis de la velocidad de la luz

El equipo de investigación informa un análisis de la velocidad de la luz (SOL): un límite superior teórico de tokens por pase hacia adelante que se puede lograr mediante el modo de difusión, asumiendo un muestreador de Oracle que identifica correctamente todas las posiciones que se pueden cometer de forma segura en paralelo.

En una longitud de bloque de 32, la tasa de aceptación de SOL alcanza 7,60 × en promedio, superando 10 × en tareas de codificación y multilingües. El muestreo actual basado en la confianza logra aproximadamente 3 × TPF con una precisión comparable, dejando una gran brecha con respecto al techo SOL.

En comparación con la autoespeculación lineal: ambos se acercan a tasas de aceptación similares (6,82 × para la autoespeculación lineal frente a 7,60 × SOL). Sin embargo, la brecha real de tokens por pase directo (TPF) es mucho mayor: 6,02 veces para SOL versus 3,41 veces para la autoespeculación lineal, una diferencia del 76,5%. La autoespeculación lineal requiere dos pases hacia adelante por ciclo (un borrador de difusión, una verificación AR) y acepta solo un prefijo contiguo. Estas dos limitaciones limitan su TPF real muy por debajo de SOL, incluso cuando el redactor y el verificador están bien alineados.

NVIDIA presenta Nemotron-Labs-Diffusion, una familia de modelos 3B/8B/14B que logra 5,99 veces más tokens por reenvío que Qwen3-8B mediante decodificación de autoespeculación.
https://d1qx31qr3h6wln.cloudfront.net/publications/Nemotron_Diffusion_Tech_Report_v1.pdf?VersionId=db8_EMO8B.vmU26.jr7Le9pN3MqcUDNL

Resultados de referencia

En la evaluación de instrucciones de 10 tareas (HumanEval, MBPP, LiveCodeBench-CPP, GSM8K, Math500, AIME24, AIME25, GPQA, IFEval, MMLU):

Modo AR NLD-8B: 63,61 % de precisión promedio, frente al 62,75 % de Qwen3-8B y el 58,02 % de Ministral3-8B-Instruct. Modo de difusión NLD-8B: 63,18% de precisión promedio con 2,57× TPF. Autoespeculación lineal ajustada por LoRA de NLD-8B: precisión promedio del 62,81% con 5,99× TPF. Autoespeculación cuadrática del NLD-8B: 64,04% de precisión promedio con 6,38× TPF.

En SPEED-Bench con SGLang en una GPU NVIDIA GB200, la autoespeculación lineal logra un rendimiento 4 veces mayor que Qwen3-8B y una aceleración de 3,3 veces respecto al modo AR NLD-8B en simultaneidad 1 (3,97 veces con un kernel CUDA optimizado). En comparación con Qwen3-8B-Eagle3, la autoespeculación lineal ofrece una aceleración de 2,4×, 2,3× y 1,8× en tamaño de lote 1 en GB200, RTX Pro 6000 y DGX Spark respectivamente.

La duración de la aceptación es la razón subyacente de esta ventaja. En todas las categorías de SPEED-Bench, NLD logra longitudes de aceptación promedio de 5,46 (nativo) y 6,82 (con LoRA) tokens por paso del borrador. Eagle3 tiene un promedio de 2,75 y Qwen3-9B-MTP tiene un promedio de 4,24. En las cuatro categorías de fácil difusión (codificación, matemáticas, razonamiento y multilingüe), la brecha se amplía aún más: 8,69 para NLD-LoRA frente a 2,81 para Eagle3.

En la escala 14B con autoespeculación lineal sintonizada por LoRA, el NLD-14B logra una precisión promedio del 66,36 % con 5,96 × TPF, superando al Qwen3-14B con una precisión del 65,17 % en modo AR.

El modelo de visión y lenguaje, Nemotron-Labs-Diffusion-VLM-8B, extiende el mismo marco a tareas multimodales. En el modo de autoespeculación lineal, alcanza de 3,63× a 7,45× TPF (el extremo superior para respuestas de más de 200 tokens) con una caída de precisión promedio del 0,1 % en comparación con el modo AR.

Explicador visual de Marktechpost

Descripción general Tres modos Instalar Uso básico Autoespeculación Producción Servicio Cuándo utilizar

¿Qué es Nemotron-Labs-Difusión?

Un único puesto de control modelo. Tres modos de decodificación. Sin cambios de arquitectura.

Nemotron-Labs-Diffusion es una familia de modelos de lenguaje de NVIDIA que combina decodificación autorregresiva (AR), decodificación paralela basada en difusión y decodificación de autoespeculación en un conjunto de pesos. Puede cambiar de modo en el momento de la inferencia cambiando el patrón de atención; no se necesitan archivos de modelo separados.

Tallas: 3B · 8B · 14B

Variantes: Base · Instruct · VLM

Requiere: transformadores ≥ 5.0.0

Licencia: Modelo abierto NVIDIA Nemotron

5,99×

Tokens por delantero vs Qwen3-8B (Autoespeculación lineal, 8B)

3,3×

Rendimiento en modo AR en simultaneidad 1 (GB200)

2,4×

Más rápido que Qwen3-8B-Eagle3 en tamaño de lote 1 (GB200)

63,61%

Precisión promedio, modo AR 8B frente al 62,75% Qwen3-8B

Los tres modos de decodificación

Mismos pesos. Patrón de atención diferente. Elija según su implementación.

Modo 1

Decodificación AR

Generación estándar de izquierda a derecha utilizando atención causal. Una ficha por pase hacia adelante. Compatible con toda la infraestructura de servicio AR existente.

Ideal para: servicio en la nube de alta concurrencia donde el procesamiento de GPU está completamente saturado mediante procesamiento por lotes.

Modo 2

Decodificación de difusión

Elimina el ruido de varios tokens por bloque en paralelo. Ajuste el valor de umbral para cambiar la precisión por un mayor rendimiento. 2,57× TPF en el umbral 0,9.

Ideal para: compensación flexible entre precisión y rendimiento de un modelo.

Modo 3

Autoespeculación

La difusión extrae k tokens en paralelo. AR los verifica en una segunda pasada. Acepta el prefijo coincidente más largo. No se necesitan modelos auxiliares ni cabezales adicionales.

Ideal para: baja concurrencia o inferencia de un solo usuario, donde la velocidad por usuario es más importante.

Cómo funciona el cambio de modo: llamas a un método diferente en el mismo objeto modelo: ar_generate(), generate() o linear_spec_generate(). Los pesos del modelo no cambian.

Instalación

Instalaciones de dos pipas. Se requiere GPU compatible con CUDA.

El modelo usa trust_remote_code=True porque el código de modelado personalizado se incluye con el punto de control en Hugging Face. Instale peft solo si planea utilizar el modo de autoespeculación mejorado por LoRA.

Paso 1: dependencias principales

Copiar pip instalar "transformadores>=5.0.0" aceleración de antorcha

Paso 2: opcional: autoespeculación mejorada por LoRA

Copiar pip instalar peft

Paso 3: cargar el modelo (intercambiar el ID del modelo por 3B o 14B)

Copia de transformadores importa AutoModel, AutoTokenizer importa antorcha # Disponible: nvidia/Nemotron-Labs-Diffusion-3B # nvidia/Nemotron-Labs-Diffusion-8B # nvidia/Nemotron-Labs-Diffusion-14B repo = "nvidia/Nemotron-Labs-Diffusion-8B" tokenizer = AutoTokenizer. from_pretrained (repositorio, trust_remote_code= True ) modelo = AutoModel. from_pretrained (repositorio, trust_remote_code= True ) modelo = modelo. cuda (). a (antorcha.bfloat16)

Uso básico: los tres modos

Prepare el mensaje una vez. Elija una llamada generada.

Los tres modos comparten el mismo paso de tokenización. La variable nfe (evaluaciones de función numérica) devuelta junto con los ID de salida le permite medir cuántos pases directos se utilizaron para producir la salida.

Compartido: compilar Prompt_ids

Copiar historial = [{"role": "user" , "content": "Explicar el descenso del gradiente". }] indicador = tokenizador. apply_chat_template (historial, tokenize= False , add_generación_prompt= True ) Prompt_ids = tokenizer(prompt, return_tensors= "pt" ).input_ids. a ( "cuda" )

Modo AR: autorregresivo estándar

Copia out_ids, nfe = modelo. ar_generate (prompt_ids, max_new_tokens = 512 )

Modo de difusión: decodificación paralela (el umbral ajusta la velocidad frente a la precisión)

Copia out_ids, nfe = modelo. generar (prompt_ids, max_new_tokens= 512 , block_length= 32 , umbral= 0.9 , eos_token_id=tokenizer.eos_token_id)

Salida de decodificación: igual para todos los modos

Copiar texto = tokenizador. lote_decode ( out_ids[:, Prompt_ids.shape[ 1 ]:], skip_special_tokens= True )[ 0 ] print ( f "Salida: {texto}nNFE: {nfe}" )

Autoespeculación + Redactor de LoRA

El mayor rendimiento por usuario. LoRA opcional para mayor longitud de aceptación.

Sin LoRA, la duración promedio de aceptación es de 5,46 tokens por paso de borrador. Con LoRA sube a 6,82, frente a 2,75 de Eagle3 y 4,24 de Qwen3-9B-MTP. El adaptador LoRA se almacena dentro del mismo repositorio de Hugging Face en linear_spec_lora/.

Autoespeculación lineal: sin LoRA

Copia out_ids, nfe = modelo. linear_spec_generate (prompt_ids, max_new_tokens= 512 , block_length= 32 , eos_token_id=tokenizer.eos_token_id)

Autoespeculación lineal: con el redactor LoRA (recomendado)

Copiar desde peft import PeftModel repo = "nvidia/Nemotron-Labs-Diffusion-8B" model = AutoModel. from_pretrained (repositorio, trust_remote_code= True ) modelo = modelo. cuda (). a (torch.bfloat16) # Conecte el adaptador LoRA del mismo modelo de repositorio = PeftModel. from_pretrained (modelo, repositorio, subcarpeta = "linear_spec_lora" ). eval () # Desenvolver para llamar directamente a linear_spec_generate base = model.model out_ids, nfe = base. linear_spec_generate (prompt_ids, max_new_tokens= 512 , block_length= 32 , eos_token_id=tokenizer.eos_token_id) print (tokenizer. decode (out_ids[ 0 , Prompt_ids.shape[ 1 ]:], skip_special_tokens= True )) print ( f "NFE: {nfe}" )

Servicio de producción: vLLM y SGLang

API compatible con OpenAI. Las llamadas curl estándar funcionan de inmediato.

SGLang se utilizó para todas las mediciones de SPEED-Bench en el artículo y es el marco de referencia recomendado para el modo de autoespeculación. Ambos marcos exponen un punto final /v1/chat/completions compatible con OpenAI.

vLLM: instalar y servir

Copiar pip instalar vllm vllm servir "nvidia/Nemotron-Labs-Diffusion-8B"

SGLang: instalar y servir

Copiar pip install sglang python3 -m sglang.launch_server –model-path "nvidia/Nemotron-Labs-Diffusion-8B" –host 0.0.0.0 –port 30000

Llame a cualquiera de los servidores: compatible con OpenAI

Copiar curl -X POST "http://localhost:30000/v1/chat/completions" -H "Content-Type: application/json" –data '{ "model": "nvidia/Nemotron-Labs-Diffusion-8B", "messages": [{ "role": "user", "content": "Su mensaje aquí". }] }'

SGLang con Docker

Copiar docker run –gpus all –shm-size 32g -p 30000 : 30000 -v ~/.cache/huggingface:/root/.cache/huggingface –env "HF_TOKEN=" –ipc=host lmsysorg/sglang:latest python3 -m sglang.launch_server –model-path "nvidia/Nemotron-Labs-Diffusion-8B" –host 0.0.0.0 –puerto 30000

Cuándo usar cada modo

Haga coincidir el modo con su contexto de implementación.

Escenario Modo Motivo API de alta concurrencia (muchos usuarios) ar_generate() La GPU está completamente saturada mediante procesamiento por lotes. La decodificación secuencial no es el cuello de botella. Inferencia de borde o de usuario único linear_spec_generate() + LoRA 3,3 × sobre AR en GB200. 2,4 veces más que Eagle3 en un tamaño de lote 1. Velocidad ajustable versus precisión generar () – Umbral de sintonización de difusión entre 0 y 1. Umbral inferior = más tokens por pasada = menor precisión. Pila de servicio de AR existente ar_generate() Reemplazo directo. No se necesitan cambios de infraestructura. Codificación, matemáticas, tareas multilingües linear_spec_generate() + LoRA Picos de longitud de aceptación en contenido estructurado: 8,57 × codificación, 8,14 × matemáticas. VLM de respuestas largas en lenguaje visual: linear_spec_generate() Hasta 7,45 × TPF en respuestas de más de 200 tokens. Caída de precisión del 0,1% frente a AR.

Colección de modelos en Hugging Face: huggingface.co/collections/nvidia/nemotron-labs-diffusion: incluye puntos de control base, de instrucción y VLM 3B, 8B, 14B.

Conclusiones clave

Nemotron-Labs-Diffusion unifica la decodificación de AR, difusión y autoespeculación en un modelo, sin cambios arquitectónicos específicos del modo. El entrenamiento conjunto de difusión de AR no es una compensación: ambos objetivos alcanzan un máximo de α=0,3 y mejoran juntos. El modo de autoespeculación alcanza 5,99 × TPF en el modelo 8B, con un rendimiento 2,4 veces mayor que Qwen3-8B-Eagle3 en tamaño de lote 1 en GB200. Una mayor duración de aceptación es el diferenciador clave: NLD-LoRA promedia 6,82 tokens por paso de draft versus 2,75 para Eagle3 y 4,24 para MTP. El análisis de la velocidad de la luz muestra que el modo de difusión tiene un techo teórico de 7,60× TPF; el muestreo actual basado en la confianza realiza solo ~3×, lo que deja un margen significativo para mejoras en el muestreador.

Consulte el papel, los pesos de los modelos y los detalles técnicos. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 150.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.

¿Necesita asociarse con nosotros para promocionar su repositorio de GitHub O su página principal de Hugging O su lanzamiento de producto O seminario web, etc.? Conéctate con nosotros