Si el modelo principal, el modelo borrador assistant y el framework de inferencia están correctamente emparejados, MTP puede acelerar de forma notable Gemma 4 en una GPU local. En algunas tarjetas con 12GB de VRAM, como la RTX 4070, una cuantización y unos parámetros adecuados pueden acercarse a 120 tokens/s.
Pero no es una cifra que se obtenga necesariamente copiando un comando. Conviene tratarla como un objetivo de ajuste: el modelo debe ejecutarse, la VRAM debe alcanzar, la tasa de acierto del borrador debe ser alta y los parámetros de muestreo deben ser estables para que la velocidad luzca bien.
Qué Hace MTP Aquí
MTP significa Multi-Token Prediction.
Un modelo autorregresivo normal genera un token cada vez. assistant-MTP primero redacta varios tokens futuros para el modelo principal, y luego el modelo principal los verifica en paralelo. Si el borrador acierta, el modelo principal puede aceptar varios tokens a la vez y reducir la espera token por token.
Este mecanismo suele llamarse:
Speculative Decoding- decodificación especulativa
- aceleración con modelo borrador
- draft model / drafter
Su objetivo es acelerar, no mejorar la capacidad del modelo. La decisión final sobre si aceptar un token sigue siendo del modelo principal.
Ejemplo De Línea De Comandos
Este es un comando de referencia algo avanzado para llama-cli:
|
|
Este comando significa:
- Usar
gemma-4-12b-it-qat-GGUF.ggufcomo modelo principal. - Usar
gemma-4-12b-it-qat-assistant-MTP-Q8_0-GGUF.ggufcomo modelo borrador. - Dejar que el modelo borrador prediga como máximo 2 tokens por ronda.
- Intentar descargar tantas capas como sea posible a la GPU.
- Pasar un prompt directamente para probar la velocidad de generación.
Nota: los nombres de parámetros pueden variar entre versiones de llama.cpp. Algunas versiones usan -md, otras recomiendan --model-draft; algunas usan --draft-max, otras --spec-draft-n-max. Antes de medir, revisa:
|
|
O:
|
|
Explicación De Parámetros
-m
|
|
Este es el modelo principal. La salida final la verifica y decide este modelo.
assistant-MTP debe coincidir con el modelo principal. No conviene usar cualquier assistant con un modelo principal de otro tamaño o versión; en el mejor caso no habrá mejora de velocidad, y en el peor puede fallar la carga o producir salidas anómalas.
-md
|
|
-md sirve para montar el draft model, es decir, el modelo borrador assistant-MTP.
Puedes entenderlo como un pequeño ayudante que predice respuestas candidatas. Primero adivina los siguientes tokens, y luego el modelo principal decide si los acepta.
Si tu versión de llama.cpp no reconoce -md, prueba:
|
|
--draft-max
|
|
Controla cuántos tokens puede predecir el modelo borrador como máximo en una vez.
Es mejor empezar con 2, no subirlo mucho desde el inicio. Más tokens borrador no significa necesariamente más velocidad; si aumenta la tasa de error, el modelo principal rechazará candidatos con frecuencia y se desperdiciará cómputo.
Puedes probar así:
|
|
|
|
|
|
Observa tokens/s y la calidad de salida, y luego decide qué valor conservar.
-ngl 99
|
|
Este parámetro intenta descargar capas del modelo a la GPU tanto como sea posible. Con 12GB de VRAM, si la cuantización es suficientemente pequeña, quizá puedas colocar la mayoría o incluso todas las capas en la GPU.
Pero en 8GB de VRAM normalmente no conviene copiarlo sin ajustes. MTP carga además un modelo assistant, así que la presión sobre VRAM es mayor que al ejecutar solo el modelo principal.
Si aparece OOM, baja en este orden:
|
|
|
|
|
|
El valor realmente estable depende de la cuantización del modelo, la longitud de contexto, la VRAM libre de la GPU y el uso del escritorio o del sistema.
-p
|
|
-p pasa el prompt directamente.
Si <|think|> es necesario depende de la plantilla de chat y de la documentación del modelo GGUF actual. No es un interruptor universal para todos los modelos Gemma 4. Para medir velocidad, empieza con un prompt más simple:
|
|
Primero confirma que MTP funciona, y luego revisa plantillas y tokens especiales.
Un Comando De Prueba Más Estable
Para la primera prueba, conviene usar parámetros más conservadores:
|
|
Si funciona de forma estable, aumenta -ngl gradualmente:
|
|
Luego prueba:
|
|
No pongas -ngl al máximo en la primera ejecución. MTP añade un modelo draft, por lo que el margen de VRAM importa más que en una ejecución normal.
Por Qué 120 tokens/s Puede No Reproducirse
120 tokens/s es atractivo, pero depende de muchas condiciones.
| Factor | Explicación |
|---|---|
| GPU | Las GPU de 12GB como RTX 4070 suelen permitir un -ngl más alto que las de 8GB |
| Cuantización | Las combinaciones QAT / Q4 / Q8 del modelo draft afectan VRAM y velocidad |
| Tasa de acierto del draft | Cuanto más acierte el borrador, más tokens acepta el modelo principal de una vez |
| Tipo de prompt | Texto estructurado, código y formatos fijos suelen acelerar mejor |
| temperature | Cuanto más aleatoria la salida, más difícil es acertar para el borrador |
| Longitud de contexto | Cuanto más largo el contexto, mayor presión sobre KV cache |
| Versión de llama.cpp | El soporte MTP sigue evolucionando, y los parámetros y el rendimiento pueden cambiar |
Por eso es mejor verlo como un objetivo de velocidad que se puede intentar alcanzar, no como una promesa.
Prompts Adecuados Para Medir Velocidad
MTP suele mostrar mejor su valor en salidas estructuradas y de baja aleatoriedad. Para medir, no pidas solo prosa libre; prueba también esto:
|
|
|
|
|
|
Si el tokens/s mejora claramente en estas tareas y la estructura de salida no empeora, assistant-MTP tiene valor en tu máquina.
Problemas Comunes
Añadir -md Provoca OOM
Es normal. assistant-MTP también consume VRAM o RAM.
Primero baja:
|
|
Luego baja el contexto:
|
|
Si todavía no es estable, cambia a una cuantización más pequeña o deja MTP para más adelante.
Parámetro No Reconocido
Significa que tu versión de llama.cpp no coincide con el comando del artículo. Mira primero la ayuda:
|
|
Busca especialmente:
|
|
|
|
Si la versión actual no tiene soporte MTP / draft, necesitas actualizar llama.cpp.
La Salida Se Vuelve Extraña
Primero elimina <|think|> y prueba con un prompt normal. Luego baja la temperature:
|
|
Después reduce el número de draft a:
|
|
Si así vuelve a la normalidad, la plantilla, el muestreo o los parámetros draft anteriores eran demasiado agresivos.
Resumen
El modo de alta velocidad de Gemma 4 assistant-MTP es, en esencia, speculative decoding con un modelo principal y un modelo borrador. -md monta el modelo borrador, --draft-max controla cuántos tokens se redactan por vez, y -ngl determina el grado de descarga a GPU.
Las máquinas con 12GB de VRAM pueden intentar velocidades más altas, y 120 tokens/s puede servir como objetivo de ajuste. En máquinas con 8GB de VRAM conviene ser más conservador, porque el modelo draft consume recursos adicionales.
La forma más estable es ejecutar primero y acelerar después: empieza con -ngl bajo, contexto corto y pocos tokens draft; confirma estabilidad y luego aumenta gradualmente.