Qwen 3.6 27B y 35B MTP frente a estándar en GPU de 16 GB

MTP frente a la decodificación estándar en RTX 4080: benchmarks reales

Índice

Probé el rendimiento de la decodificación especulativa (Predicción Multitoken, MTP) en Qwen 3.6 27B y 35B en una RTX 4080 con 16 GB de VRAM.

Para una visión más amplia de las velocidades de tokens y los compromisos de VRAM en más modelos en el mismo hardware, consulte Benchmarks de LLM con llama.cpp en 16 GB de VRAM.

Benchmarks de Qwen 3.6 MTP vs decodificación estándar en RTX 4080

Qué es la MTP (Predicción Multitoken)

La Predicción Multitoken es una forma de decodificación especulativa integrada directamente en ciertos checkpoints de modelos. En lugar de predecir un token por pasada hacia adelante, el modelo lleva “cabezas MTP” adicionales que proponen varios tokens futuros en un solo paso, y luego los verifica en paralelo. Si las suposiciones son aceptadas, el rendimiento efectivo aumenta sin cambiar la calidad de la salida.

La familia Qwen 3.6 incluye archivos GGUF estándar y variantes habilitadas para MTP. En llama.cpp, la MTP se activa mediante:

--spec-type draft-mtp --spec-draft-n-max 3

--spec-draft-n-max es el parámetro clave de ajuste. Establece cuántos tokens especulativos propone la cabeza MTP en cada paso. Los valores más altos ofrecen un aumento potencial de velocidad, pero cuestan VRAM adicional para los búferes de borrador; una restricción real en tarjetas de 16 GB.

Qué y Cómo Probé

Probé cómo se comportan los dos modelos Qwen 3.6 con MTP habilitado versus la decodificación estándar en una GPU con 16 GB de VRAM (RTX 4080).

Para ajustar los pesos del modelo y la caché KV en la VRAM, utilicé variantes fuertemente cuantizadas:

  • Qwen3.6-27B-UD-IQ3_XXS y Qwen3.6-27B-UD-IQ3_XXS-MTP
  • Qwen3.6-35B-A3B-UD-IQ3_S y Qwen3.6-35B-A3B-UD-IQ3_S-MTP

Se rastrean dos presupuestos de contexto por ejecución:

  • Ctx Promedio — el tamaño de contexto en el que llama.cpp ocupa ~14.8 GB de VRAM, dejando a otras aplicaciones (Xorg, GNOME Shell, Cursor) un cómodo margen de ~500 MB.
  • Ctx Máximo — el contexto más grande que llama.cpp pudo asignar dado que las mismas aplicaciones de escritorio ya retienen ~500 MB de VRAM.

Una razón clave para mantener el contexto promedio en un objetivo práctico es que Hermes Agent — que uso como asistente de IA principal conectado a llama.cpp en esta máquina — requiere al menos 64 K de contexto por defecto y rechazará modelos con una ventana más pequeña al inicio. Los modelos por debajo de ese umbral no pueden mantener suficiente memoria de trabajo para flujos de trabajo de llamada de herramientas en múltiples pasos. Para llama.cpp, esto significa pasar --ctx-size 65536 o mayor. Cualquier configuración de MTP que comprima el contexto utilizable promedio significativamente por debajo de 64 K es, por lo tanto, inadecuada para las cargas de trabajo diarias de Hermes, por lo que los números de Ctx Promedio en las tablas a continuación son los más relevantes para la toma de decisiones.

Se probaron ambos niveles de cuantización de caché KV: q8 (mayor calidad, más VRAM) y q5 (menor VRAM, contexto más largo). Tenga en cuenta que pasar de q8 a q5 en la caché KV puede causar una caída notable en la calidad; en mis pruebas, la degradación fue lo suficientemente significativa como para hacer que q5 no fuera adecuado para mis cargas de trabajo. Las cifras de velocidad y contexto para q5 se incluyen por completitud, pero debe probar la calidad de las respuestas en sus propias tareas antes de comprometerse con ello.

Qwen 3.6 27B MTP vs Estándar

Caché KV q8

MTP max 1 MTP max 2 MTP max 3 MTP max 4 Estándar (IQ3_XXS)
Vel. Prompt 148 t/s 151 t/s 148 t/s 147 t/s 200 t/s
Vel. Gen 65 t/s 75 t/s 73 t/s 75 t/s 45 t/s
Ctx Promedio 40 K 40 K 40 K 30 K 80 K
Ctx Máximo 60 K 60 K 60 K 50 K 100 K

Con caché KV q8, la MTP en --spec-draft-n-max 2 ofrece ~67 % más de velocidad de generación (75 vs 45 t/s) a costa de reducir a la mitad la ventana de contexto promedio de 80 K a 40 K. La velocidad de ingestión del prompt disminuye de 200 a ~150 t/s porque la MTP requiere transferencias de dispositivo a anfitrión durante la fase de prellenado.

Caché KV q5

MTP max 1 MTP max 2 MTP max 3 MTP max 4 Estándar (IQ3_XXS)
Vel. Prompt 145 t/s 144 t/s 141 t/s 139 t/s 191 t/s
Vel. Gen 57 t/s 62 t/s 67 t/s 66 t/s 41 t/s
Ctx Promedio 70 K 60 K 60 K 50 K 130 K
Ctx Máximo 100 K 100 K 90 K 80 K 160 K

Cambiar a caché KV q5 recupera un contexto significativo: --spec-draft-n-max 1 ofrece 70 K de contexto promedio a 57 t/s; un aumento de velocidad de generación del 39 % sobre la decodificación estándar, manteniendo la ventana de contexto en un tamaño útil. En --spec-draft-n-max 3, el contexto cae a 60 K, pero la generación alcanza 67 t/s (+63 %).

Conclusión para Qwen 3.6 27B

La MTP es genuinamente útil para el modelo denso de 27B. El punto dulce en 16 GB de VRAM es:

  • KV q8 + --spec-draft-n-max 2 — mejor velocidad bruta (75 t/s), contexto reducido a 40–60 K
  • KV q5 + --spec-draft-n-max 1 — mejor equilibrio velocidad-contexto (57 t/s, 70 K de contexto promedio)

Qwen 3.6 35B MTP vs Estándar

El modelo de 35B es una arquitectura de Mezcla de Expertos (MoE) (35B-A3B significa 35B de parámetros totales, ~3B activos por token). Los modelos MoE suelen beneficiarse más de la MTP porque el enrutamiento disperso mantiene la cabeza MTP computacionalmente barata en relación con una pasada hacia adelante completa.

Caché KV q8

MTP max 1 MTP max 2 MTP max 3 MTP max 4 Estándar (IQ3_S)
Vel. Prompt 277 t/s 277 t/s 265 t/s 275 t/s 368 t/s
Vel. Gen 186 t/s 189 t/s 180 t/s 171 t/s 146 t/s
Ctx Promedio 15 K 10 K 80 K
Ctx Máximo 80 K 70 K 60 K 50 K 150 K

La arquitectura MoE ofrece una impresionante velocidad bruta de generación con MTP (+27 % en max 1, +29 % en max 2 vs 146 t/s estándar). Pero el problema práctico es el contexto promedio. Con caché KV q8, incluso --spec-draft-n-max 1 solo da 15 K de contexto promedio; apenas suficiente para tareas modestas. Las profundidades de borrador más altas no tienen ningún contexto promedio viable en una tarjeta de 16 GB.

Esta es la pregunta central del costo de VRAM para la MTP en hardware de consumo: los búferes de borrador adicionales consumen directamente el presupuesto de VRAM restante, y el modelo 35B-A3B con caché KV q8 deja muy poco margen.

Caché KV q5

MTP max 1 MTP max 2 MTP max 3 MTP max 4 Estándar (IQ3_S)
Vel. Prompt 264 t/s 266 t/s 270 t/s 264 t/s 343 t/s
Vel. Gen 151 t/s 147 t/s 137 t/s 131 t/s 122 t/s
Ctx Promedio 10 K 120 K
Ctx Máximo 120 K 110 K 110 K 80 K 200 K

La caché KV q5 mejora marginalmente la situación del contexto promedio. --spec-draft-n-max 1 ofrece 10 K de contexto promedio a 151 t/s. La decodificación estándar en q5 ofrece 122 t/s con 120 K de contexto promedio.

Conclusión para Qwen 3.6 35B

En una GPU de 16 GB, el modelo MoE de 35B con MTP se enfrenta a un límite duro: el contexto utilizable promedio se colapsa a 10–15 K tokens, lo que lo hace impráctico para cargas de trabajo reales. La decodificación estándar a 122–146 t/s con 80–120 K de contexto es significativamente más útil.

Si tiene 24 GB+ de VRAM, la combinación 35B + MTP se vuelve mucho más atractiva; el problema de la ventana de contexto desaparece y se mantiene el beneficio de velocidad.

Eligiendo el Valor Correcto de --spec-draft-n-max

La pregunta de cuántos tokens especulativos proponer por paso (--spec-draft-n-max) no tiene una única respuesta correcta; depende tanto de la arquitectura del modelo como de la VRAM disponible:

  • Para 27B denso en 16 GB: --spec-draft-n-max 2 con KV q8 es el más rápido, --spec-draft-n-max 1 con KV q5 es el más amigable con el contexto.
  • Para 35B MoE en 16 GB: --spec-draft-n-max 1 es la única opción que mantiene algún contexto utilizable, y aún así solo marginalmente.
  • Los valores más altos (3, 4) aumentan la presión de VRAM sin ganancias de velocidad proporcionales; en max 4, está gastando aproximadamente la misma cantidad extra de VRAM que en max 2, pero la velocidad de generación no mantiene el ritmo.

Cómo Habilitar MTP en llama.cpp

Asegúrese de usar un GGUF habilitado para MTP (el nombre del archivo contiene MTP). Si es nuevo en las banderas de llama.cpp, la Guía de Inicio Rápido de llama.cpp con CLI y Servidor cubre todos los fundamentos. Luego inicie llama-server o llama-cli con:

llama-server \
  --model Qwen3.6-27B-UD-IQ3_XXS-MTP.gguf \
  --ctx-size 40000 \
  -ngl 99 --flash-attn on \
  --cache-type-k q8_0 --cache-type-v q8_0 \
  --spec-type draft-mtp \
  --spec-draft-n-max 2

Para caché KV q5, reemplace q8_0 con q5_1 o q5_0 y ajuste --ctx-size hacia arriba:

llama-server \
  --model Qwen3.6-27B-UD-IQ3_XXS-MTP.gguf \
  --ctx-size 80000 \
  -ngl 99 --flash-attn on \
  --cache-type-k q5_1 --cache-type-v q5_1 \
  --spec-type draft-mtp \
  --spec-draft-n-max 1

La MTP se activa automáticamente una vez que llama.cpp ve las cabezas MTP en el archivo GGUF y --spec-type draft-mtp está configurado. Por lo tanto, el estándar Qwen3.6-27B-UD-IQ3_XXS.gguf no funcionará en modo MTP, necesitará Qwen3.6-27B-UD-IQ3_XXS-MTP.gguf. Pero el Qwen3.6-27B-UD-IQ3_XXS-MTP.gguf puede funcionar tanto en modo de decodificación especulativa como en autorregresivo.

Conclusión

En una GPU de 16 GB (RTX 4080), con estas cuantizaciones, la MTP de llama.cpp es una clara victoria para Qwen 3.6 27B y un resultado negativo neto para Qwen 3.6 35B en uso práctico:

Qwen 3.6 27B (IQ3_XXS) — La MTP vale la pena:

  • KV q8 + MTP max 2 → ~67 % más de velocidad de generación, contexto 40–60 K (vs 80–100 K sin MTP)
  • KV q5 + MTP max 1 → ~39 % más de velocidad de generación, contexto 70–100 K (vs 130–160 K sin MTP)
  • Buen equilibrio de velocidad y eficiencia de VRAM en --spec-draft-n-max 2

Qwen 3.6 35B (IQ3_S) — La MTP no es práctica en 16 GB:

  • La velocidad de generación es un 27–29 % más alta, pero el contexto promedio se colapsa a 10–15 K en q8, 10 K en q5
  • La decodificación estándar a 122–146 t/s con 80–120 K de contexto es más útil para tareas reales
  • La situación mejora sustancialmente en 24 GB+ de VRAM

En teoría, la caché KV q5 es la respuesta obvia para maximizar la ventana de contexto mientras se mantienen las ganancias de velocidad de la MTP; pero en la práctica, la caída de calidad al pasar de q8 a q5 puede ser significativa. Pruebe q5 en sus propias tareas antes de adoptarlo; para mis cargas de trabajo, la degradación fue inaceptable, y q8 con un presupuesto de contexto más ajustado sigue siendo el mejor compromiso.

Para ver la imagen más amplia de las opciones de alojamiento de LLM y los compromisos de infraestructura, consulte el pilar Alojamiento de LLM en 2026 y Rendimiento de LLM en 2026. Si está ajustando los parámetros del muestreador de Qwen 3.6 junto con MTP, la Referencia de Parámetros de Inferencia para LLM Agenticos para Qwen 3.6 y Gemma 4 es un compañero útil.

Suscribirse

Recibe nuevas publicaciones sobre sistemas, infraestructura e ingeniería de IA.