Speculative Decoding
Decodificación especulativa
En una frase
Speculative Decoding: acelerar la generación haciendo que un modelo pequeño proponga varios tokens y que el modelo grande los verifique de una sola vez.
¿Demasiado técnico? Ver explicación sencilla¿Quieres profundizar? Ver explicación técnica
Explícamelo fácil
Un asistente rápido escribe un borrador de las siguientes palabras; el experto lento solo revisa y acepta las que estén bien. Como revisar es más rápido que escribir palabra por palabra, el resultado final llega antes y es el mismo que habría producido el experto.
Nivel técnico
Profundizando
Un modelo borrador genera k tokens; el modelo objetivo los evalúa en paralelo en un solo forward pass y acepta el prefijo más largo compatible mediante un esquema de muestreo por rechazo que garantiza la misma distribución de salida que el modelo objetivo (Leviathan et al., 2022). La aceleración depende de la tasa de aceptación. Variantes usan cabezas de predicción extra o n-gramas del propio prompt en lugar de un modelo separado.
¿Por qué importa?
Reduce la latencia sin sacrificar calidad, algo poco común en optimización.
¿Dónde se utiliza?
- Chat de baja latencia
- Autocompletado de código
- Servidores de inferencia