¿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
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.