promptgarten 🌱
🌍 FR
Término●●●5 min · +60 XP

Speculative decoding: responder más rápido sin pérdida de calidad

Un pequeño modelo borrador adivina varios tokens por adelantado, y el modelo grande los verifica en bloque: se obtiene la misma respuesta de forma notablemente más rápida.

El problema de fondo

Un modelo de lenguaje normalmente genera un token tras otro, y cada uno cuesta una pasada de cálculo completa por el modelo. En un modelo grande, esa pasada es cara: el tiempo de respuesta crece directamente con el número de tokens.

La idea detrás

Speculative decoding usa un "modelo borrador" pequeño y rápido que propone varios tokens seguidos. Luego, el modelo objetivo grande verifica estos tokens propuestos conjuntamente en una única pasada, en lugar de generar cada token por separado.

Por qué esto es más rápido sin cambiar la calidad

Si el borrador y el modelo objetivo coinciden, se aceptan varios tokens a la vez: una pasada de cálculo del modelo grande entrega entonces varios tokens en lugar de solo uno. Si el borrador se desvía, el modelo objetivo descarta los tokens incorrectos y genera él mismo el token correcto en ese punto. El resultado corresponde matemáticamente de forma exacta a lo que el modelo grande habría generado por sí solo; solo el camino hasta ahí está paralelizado.

Qué cambia realmente con esto

Solo baja el tiempo de respuesta, típicamente por un factor de dos a tres. La salida en sí permanece idéntica a la de una ejecución sin modelo borrador: speculative decoding es un procedimiento de aceleración puro del lado del servidor, no una técnica de prompting ni un compromiso de calidad.

EJEMPLO

Sin speculative decoding: un modelo grande genera token por token, cada uno verificado y generado individualmente: 20 tokens requieren 20 pasadas de cálculo completas. Con speculative decoding: un modelo borrador pequeño propone 5 tokens de una vez ('La', 'capital', 'de', 'Francia', 'es'). El modelo objetivo grande verifica los 5 en una sola pasada, está de acuerdo con los 5, y genera él mismo directamente el sexto token ('París') además: 6 tokens en una sola pasada completa del modelo grande en lugar de seis individuales.

🛠️ EJERCICIO — PRUÉBALO TÚ

Averigua si la configuración de modelo que usas emplea speculative decoding, y observa el efecto sobre el tiempo de respuesta.

  1. Comprueba en la documentación de tu proveedor o servidor de inferencia (por ejemplo, vLLM, TensorRT-LLM) si y cómo se puede configurar speculative decoding.
  2. Plantea la misma consulta larga una vez con speculative decoding activado y otra vez sin él, si es posible alternarlo.
  3. Compara el tiempo de respuesta medido de ambas ejecuciones.
  4. Compara el contenido de ambas respuestas carácter por carácter.

AUTOEVALUACIÓN

  • ¿Fue el tiempo de respuesta notablemente más corto con speculative decoding?
  • ¿Fue el contenido de ambas respuestas realmente idéntico, tal como predice la teoría?
  • ¿Puedes explicar por qué un modelo borrador poco adecuado reduce la ganancia de velocidad?

QUIZ RÁPIDO

¿Por qué speculative decoding produce exactamente la misma salida que el modelo grande por sí solo, solo que más rápido?

Compartir:𝕏in💬

FUENTES

TEMAS RELACIONADOS

Cuantización: cómo los modelos grandes caben en tu propio ordenador ●●○Modelos de razonamiento: cuando la IA primero piensa y luego responde ●●○Reducir costes al usar agentes: la checklist práctica ●●○Reducir el tiempo de respuesta: las palancas más eficaces para la latencia ●●○