ELAI S.r.l.

Decodificación especulativa: por qué corregir un rechazo no es remuestrear del objetivo

Distribuciones, contraejemplo, 200.000 ensayos y modelo de coste: cuándo se conservan las probabilidades y cuándo se acelera realmente.

Decodificación especulativa: por qué corregir un rechazo no es remuestrear del objetivo

Análisis técnico · Inferencia de IA · 24 de septiembre de 2026

Resumen: dos garantías que debemos separar

La decodificación especulativa anticipa tokens con un modelo económico y verifica un bloque con el modelo objetivo. La cuestión decisiva tiene dos partes: qué corrección conserva la distribución objetivo y cuándo el trabajo anticipado reduce realmente el tiempo. Desarrollamos un ejemplo categórico completo, un contraejemplo a la corrección ingenua y un modelo de coste. La exactitud del muestreo y la aceleración son propiedades diferentes, con hipótesis diferentes.

La contribución es didáctica y analítica: cálculos exactos sobre tres símbolos, 200.000 ensayos Monte Carlo y un barrido de parámetros ejecutado en Python. No hemos medido un LLM, una GPU ni un servicio EL-AI. Se requieren probabilidad elemental, sumas finitas y familiaridad con la generación autorregresiva; no es necesario conocer el entrenamiento de Transformers.

1. El contrato probabilístico

Fijemos un prefijo confirmado y un vocabulario finito V. p(x) es la probabilidad del siguiente token según el objetivo; q(x), según el borrador. Ambas son no negativas y suman uno. Son las distribuciones realmente utilizadas para muestrear, después de temperatura, máscaras y truncamiento: usar logits sin normalizar en el cociente de aceptación cambia el problema. Cada token debe representar el mismo evento en ambos vocabularios.

Conservar p significa que, al repetir idealmente el proceso, cada evento mantiene su probabilidad. No implica obtener la misma cadena con la misma semilla: las implementaciones pueden consumir números aleatorios en distinto orden. Tampoco mejora la veracidad: si el objetivo asigna probabilidad a una afirmación falsa, un muestreador exacto conserva esa posibilidad. La garantía se refiere a la ley estadística, no a la corrección semántica.

2. Contabilizar la masa antes de programar

La regla fundamental fue propuesta y demostrada por Leviathan, Kalman y Matias (ICML 2023, secciones 2–3 y apéndice A.1): extraer x de q, aceptarlo con probabilidad min(1,p(x)/q(x)) y, si se rechaza, muestrear del residuo positivo normalizado de p−q. El ejemplo siguiente reconstruye esa contabilidad con números elegidos para este artículo.

p = (0.50, 0.30, 0.20) q = (0.20, 0.50, 0.30) a(x) = min(1, p(x)/q(x)) a = (1, 0.60, 2/3)

Llamemos A, B y C a los símbolos. A se propone en el 20% de los ensayos y siempre se acepta: aporta 0,20. B se propone con probabilidad 0,50, pero solo se acepta el 60% de esas propuestas: aporta 0,30. C aporta 0,30×2/3=0,20. La masa aceptada total es 0,70. Faltan 0,30 para completar la distribución, y todo el déficit respecto al objetivo corresponde a A.

m(x) = q(x)a(x) = min(p(x),q(x)) A = Σx m(x) = 0.70; Z = 1−A = 0.30 r(x) = max(p(x)−q(x),0)/Z r = (1, 0, 0) P(output=x) = m(x)+Zr(x) = p(x)

En la fórmula, A denota la tasa total de aceptación; como etiqueta, A designa el primer símbolo. Son papeles distintos. Z es la probabilidad de rechazo y r es una distribución condicionada al rechazo. No debemos sumar directamente m+r: m es masa sin normalizar y r ya suma uno. Hay que ponderar r por Z. Esta comprobación evita un error frecuente en implementaciones ilustrativas.

Dos casos límite aclaran la construcción. Si p=q, Z=0: se aceptan todas las propuestas y no debe evaluarse la rama residual, evitando 0/0. Si q asigna cero a un evento permitido por p, nunca se propone, pero puede aparecer en el residuo. Ningún token realmente extraído de q exige dividir por q=0. Una máscara incompatible aplicada solo después de la corrección puede eliminar masa y romper el contrato.

3. Contraejemplo: «si rechazo, vuelvo a p»

Usar el objetivo como alternativa parece razonable. Pero con esta regla concreta de aceptación es incorrecto: la rama aceptada ya ha aportado toda la masa necesaria para B y C. Extraer de p tras el rechazo les añade más probabilidad y deja A infrarrepresentado. La distribución final pasa a ser (0,35; 0,39; 0,26). Una frase plausible no revela esta distorsión; la contabilidad de tres eventos sí.

wrong(x) = min(p(x),q(x)) + Zp(x) wrong−p = (−0.15, +0.09, +0.06) TV(wrong,p) = ½Σx |wrong(x)−p(x)| = 0.15

La distancia de variación total TV mide el mayor desacuerdo de probabilidad sobre un conjunto de eventos. Aquí basta {A}: 0,50 frente a 0,35, una diferencia de 0,15. No es redondeo. Incluso con infinitas muestras, la versión incorrecta converge a la distribución incorrecta. Ampliar la prueba sin comprobar la ley límite solo hace más precisa una respuesta sesgada.

4. Experimento reproducible e interpretación del error

Ejecutamos 200.000 ensayos con Python 3.14.0, random.Random y semilla 20260923. Cada ensayo comparte propuesta y decisión de aceptación entre variantes; tras el rechazo, cada una utiliza su distribución de recuperación. Así se controla la comparación, pero los conteos entre variantes no son independientes. La tabla muestra frecuencias, no estimaciones de calidad lingüística. No interviene ningún corpus.

SímboloObjetivoCorrecto, observadoIncorrecto, límiteIncorrecto, observado
A0.50.500090.350.35005
B0.30.298440.390.38831
C0.20.201470.260.26164

En esta ejecución, las frecuencias correctas difieren del objetivo en menos de 0,0016. Para A, el error estándar marginal de la frecuencia es aproximadamente √(0,5×0,5/200000)=0,00112; esta escala permite interpretar las fluctuaciones sin convertir una ejecución en demostración matemática. El script también comprueba la identidad exacta de masas dentro de una tolerancia numérica. La demostración justifica el método; Monte Carlo detecta errores de código.

Este fragmento calcula ambas leyes sin simular. El archivo adjunto contiene el muestreador completo, las comprobaciones y la generación de figuras. Los experimentos son didácticos y se prepararon con asistencia de IA; no afirmamos una revisión científica humana ni una validación empresarial.

p = [.5, .3, .2]
q = [.2, .5, .3]
m = [min(x,y) for x,y in zip(p,q)]
z = 1-sum(m)
r = [max(x-y,0)/z for x,y in zip(p,q)]
print([a+z*b for a,b in zip(m,r)])
print([a+z*b for a,b in zip(m,p)])

5. Del token al bloque: el prefijo forma parte del estado

Un borrador de longitud γ contiene propuestas autorregresivas: cada probabilidad depende de los tokens anteriores. El objetivo evalúa sus posiciones respetando la causalidad y solo se conserva el prefijo aceptado. Tras el primer rechazo, las propuestas posteriores dependen de un token ausente del texto final: reutilizarlas sin recalcular consultaría una distribución condicionada al prefijo equivocado. La caché también debe descartar la cola no confirmada.

El paralelismo afecta a evaluar probabilidades sobre una secuencia ya propuesta; las dependencias autorregresivas no desaparecen. Si se aceptan todas las propuestas, se añade un token del objetivo; en caso contrario, el residuo proporciona el corregido. Un ciclo emite entre uno y γ+1 tokens, salvo paradas anticipadas como fin de secuencia. Contar todo el borrador como salida útil infla artificialmente el rendimiento.

6. Cuándo compensa alargar el borrador

Consideremos ahora un modelo de coste separado. Supongamos aceptaciones independientes con probabilidad constante α, sin parada anticipada, y un coste de verificación del bloque igual a un paso ordinario del objetivo, T. Cada token del borrador cuesta cT. Estas hipótesis aíslan el compromiso; no son mediciones de nuestro equipo. La probabilidad de conservar al menos i propuestas consecutivas es α elevado a i. Sumando probabilidades de cola obtenemos el número esperado E de tokens emitidos.

Eγ = 1 + α + α² + … + α^γ Sγ = Eγ / (1+cγ) Eγ+1 = Eγ + α^(γ+1) Sγ+1 > Sγ ⇔ α^(γ+1)(1+cγ) > cEγ

La última desigualdad resulta de multiplicar en cruz los denominadores positivos de ambas aceleraciones. A la izquierda está la contribución marginal del nuevo intento; a la derecha, su precio. Con α<1, el beneficio marginal cae geométricamente, mientras el coste de un paso del borrador sigue siendo positivo. No hay razón general para maximizar γ. En el límite α=0, el borrador no produce tokens útiles, pero su coste permanece.

El barrido ejecutado considera γ de 1 a 16, α en {0,3; 0,7; 0,9} y c en {0,05; 0,20}. Con α=0,7, el máximo de la cuadrícula es γ=6 para c=0,05: E=3,058819 y S≈2,353. Si el borrador cuesta cuatro veces más, el máximo pasa a γ=3 y S≈1,583. El mismo acuerdo probabilístico no implica el mismo ahorro temporal. Son máximos del modelo y la cuadrícula, no configuraciones óptimas certificadas para un servidor.

Arriba: leyes exactas del objetivo y de la corrección incorrecta. Abajo: aceleración teórica del barrido ejecutado; sin mediciones de hardware. Líneas continuas c=0,05, discontinuas c=0,20.
Arriba: leyes exactas del objetivo y de la corrección incorrecta. Abajo: aceleración teórica del barrido ejecutado; sin mediciones de hardware. Líneas continuas c=0,05, discontinuas c=0,20.

7. Cuándo deja de bastar el modelo simplificado

Si verificar γ tokens cuesta g(γ)T, el denominador debe ser g(γ)+cγ más los gastos normalizados. Por ejemplo, con α=0,7, γ=6 y c=0,05, el numerador sigue siendo 3,058819; si g=3, el cociente cae a aproximadamente 0,927. El método es entonces más lento pese al muestreo exacto. Emitir al menos un token por ciclo limita el número de llamadas seriales, no su duración.

También α constante es una simplificación. Un nombre propio, una fórmula o un cambio de idioma pueden alterar el acuerdo entre modelos. En general E es uno más la suma de probabilidades conjuntas de aceptar los primeros i tokens; sustituirlas por potencias del promedio ignora dependencias y selección de prefijos. Dos cargas con igual aceptación media pueden tener distintas distribuciones de longitud aceptada. Registrar solo α oculta esa diferencia.

8. De la investigación a las mediciones necesarias

El trabajo ICML de 2023 midió, entre otros experimentos, T5-XXL con borradores menores en traducción y resumen, lote uno y TPU-v4. Es una referencia histórica, no una predicción para hardware actual. Como dirección reciente consultamos Learning to Draft, versión arXiv v1 del 2 de marzo de 2026, incluidos métodos y resultados: propone políticas de profundidad y tamaño de verificación optimizadas por tiempo, no solo por longitud aceptada.

Ese estudio usa dos políticas entrenadas con PPO y evalúa varios modelos y tareas; compararlo con búsqueda en cuadrícula permite distinguir adaptación de una mera elección de mejores parámetros. No reproducimos su benchmark ni extendemos sus conclusiones a todos los sistemas. Su tabla incluye casos con mayor velocidad y menor longitud aceptada: una razón para medir el denominador, además del numerador.

En un servicio multilingüe conviene separar pruebas en italiano, inglés, chino y español, manteniendo comparables solicitudes y longitudes. Medir tiempo al primer token, latencia entre tokens, tiempo total, rendimiento agregado, memoria y percentiles bajo carga. Una mejora con lote uno puede desaparecer con concurrencia: el borrador ocupa recursos que otros usuarios podrían utilizar. Indicar modelo, versión, precisión, muestreo, hardware y distribución de prompts permite interpretar la comparación.

Para EL-AI es un posible criterio de evaluación de inferencia, no el anuncio de una función ya implementada. La conclusión técnica resulta más útil que prometer velocidad: primero verificar que la corrección conserva la ley deseada y después encontrar el punto operativo que reduce el coste de la carga real. Las dos comprobaciones requieren herramientas distintas y ninguna sustituye a la otra.

Fuentes y materiales reproducibles

Leviathan, Kalman, Matias (2023), Fast Inference from Transformers via Speculative Decoding, ICML / PMLR 202, 19274–19286. Learning to Draft: Adaptive Speculative Decoding with Reinforcement Learning, arXiv:2603.01639v1 (2026).

Fuentes consultadas el 24 de septiembre de 2026; la segunda cita identifica expresamente la versión preprint leída. Descargar código, resultados e instrucciones. Resultados JSON. Portada original generada con ImageGen, ilustrativa: no representa una instalación EL-AI.