Skip to main content
PromptQuorumPromptQuorum

¿Qué es la decodificación especulativa?

Respuesta rápida

La decodificación especulativa combina un modelo borrador pequeño con un modelo objetivo más grande. El modelo borrador propone varios tokens por adelantado, y el modelo objetivo los verifica todos en un único paso paralelo en lugar de un paso secuencial por token, lo que acelera la generación cuando se aceptan las propuestas del borrador.

  • Un modelo borrador pequeño propone varios tokens antes que el modelo principal.
  • El modelo objetivo más grande verifica los tokens propuestos en un único paso paralelo.
  • La calidad de salida coincide exactamente con la del modelo objetivo: la decodificación especulativa no cambia lo que se genera, solo la velocidad.

Actualizado: 14 de julio de 2026

Technique & Concept ExplainersIntermedio

Puntos clave

  • Un modelo borrador pequeño propone tokens por adelantado; el modelo objetivo más grande los verifica en un único paso paralelo
  • La calidad de salida es idéntica a ejecutar el modelo objetivo solo: solo cambia la velocidad
  • La mejora de velocidad es mayor en texto predecible (código, estructura repetitiva) donde el modelo borrador acierta con más frecuencia
  • El modelo borrador debe compartir el mismo tokenizador y vocabulario que el modelo objetivo

Cómo funciona

Un modelo borrador, mucho más pequeño y rápido que el modelo objetivo, genera una secuencia corta de tokens candidatos. El modelo objetivo evalúa toda esa secuencia en un único paso, aceptando los tokens que coinciden con lo que habría generado por sí mismo y descartando el resto, junto con todo lo generado después de la primera discrepancia.

Como verificar varios tokens en paralelo cuesta aproximadamente lo mismo que generar un token secuencialmente en el modelo objetivo, las propuestas aceptadas se traducen directamente en una ganancia de velocidad sin cambiar la salida final. El modelo objetivo siempre tiene la última palabra: una propuesta incorrecta del borrador solo cuesta el (breve) tiempo empleado en generarla, nunca llega a la salida final.

Cuándo ayuda más la decodificación especulativa

Usa la decodificación especulativa al generar código, datos estructurados u otro texto predecible, donde las propuestas del modelo borrador se aceptan con alta frecuencia y la mejora de velocidad es mayor. Úsala cuando ya estés limitado por la velocidad de generación y no por el procesamiento del prompt, ya que la decodificación especulativa acelera específicamente el paso de generación token por token.

Evita la decodificación especulativa al generar texto muy creativo e impredecible (ficción abierta, lluvia de ideas), donde las propuestas del modelo borrador se aceptan con menos frecuencia y la mejora de velocidad se reduce; en el peor de los casos, la sobrecarga adicional del modelo borrador puede anular la ganancia. Evítala también si no tienes un modelo más pequeño compatible de la misma familia disponible como modelo borrador.

Configurar un modelo borrador

El modelo borrador debe compartir el mismo tokenizador y vocabulario que el modelo objetivo: combinar modelos de familias distintas (o incluso tamaños diferentes de un modelo cuyo vocabulario cambió entre versiones) no funcionará. La configuración más habitual usa un modelo más pequeño de la misma familia que el objetivo (por ejemplo, un modelo de clase 1B como borrador para un modelo de clase 13B de la misma familia).

Varias herramientas de inferencia local (incluida llama.cpp) admiten la decodificación especulativa de forma nativa: la configuración normalmente solo requiere indicar tanto el modelo objetivo como el modelo borrador al iniciar, sin cambios en cómo escribes tus prompts.

Preguntas frecuentes

¿La decodificación especulativa reduce la calidad de salida?
No: el modelo objetivo sigue determinando cada token aceptado. La decodificación especulativa solo cambia la velocidad a la que se producen los tokens, no cuáles se producen.
¿La decodificación especulativa requiere VRAM adicional?
Sí: necesitas cargar tanto el modelo borrador como el modelo objetivo simultáneamente, por lo que el uso total de VRAM es mayor que ejecutar solo el modelo objetivo. El modelo borrador se elige deliberadamente pequeño para mantener manejable esta sobrecarga.
¿Puedo usar cualquier modelo pequeño como modelo borrador?
No: el modelo borrador debe compartir el tokenizador y el vocabulario del modelo objetivo para que la verificación a nivel de token funcione. En la práctica, esto suele significar usar un modelo más pequeño de la misma familia que el objetivo.
¿Cuánto más rápida es la decodificación especulativa en la práctica?
La mejora depende en gran medida de la frecuencia con la que se aceptan las propuestas del modelo borrador, que varía según el tipo de contenido: el texto predecible (código, salida estructurada) obtiene una mejora mayor que el texto creativo abierto. No hay un multiplicador fijo único; prueba con tu propia carga de trabajo para ver la ganancia real.