Mitchell Stern et al. 2018 introdujeron el concepto prototipo de decodificación especulativa. Este método ha sido posteriormente desarrollado y refinado por diversos enfoques, incluyendo Lookahead Decoding, REST, Medusa y EAGLE, acelerando significativamente el proceso de inferencia de los modelos de lenguaje grandes (LLMs).
Uno podría preguntarse: ¿la decodificación especulativa en los LLMs dañará la precisión del modelo original? La respuesta simple es no.
El algoritmo de decodificación especulativa ortodoxo es sin pérdidas, y lo demostraremos mediante análisis matemático y experimentos.
Prueba Matemática
La fórmula de muestreo especulativo se puede definir de la siguiente manera:

Mientras que:


A continuación se presenta una prueba de la naturaleza sin pérdidas de esta fórmula del artículo de DeepMind:

Si consideras que es demasiado aburrido leer ecuaciones matemáticas, a continuación ilustraré la prueba con algunos diagramas intuitivos.




Experimentos
Aunque hemos demostrado matemáticamente que la decodificación especulativa es sin pérdidas en principio, aún pueden ocurrir errores de implementación. Por lo tanto, también es necesaria la validación experimental. Realizamos experimentos en dos casos: el método determinista de decodificación voraz (greedy decoding) y el método aleatorio de muestreo multinomial.
Decodificación Voraz
Pedimos al LLM que generara un cuento corto dos veces, primero usando inferencia estándar y luego usando decodificación especulativa. Utilizamos la implementación de decodificación especulativa de Medusa. El peso del modelo es medusa-1.0-vicuna-7b-v1.5 y su modelo base vicuna-7b-v1.5. Después de ejecutar las pruebas, obtuvimos dos resultados idénticos. El texto generado es el siguiente:

Muestreo Multinomial
En el caso del muestreo aleatorio, la situación es más compleja. La mayoría de los métodos para reproducir resultados en programas aleatorios utilizan una semilla fija para aprovechar la determinismo de los generadores pseudoaleatorios. Sin embargo, este enfoque no se ajusta a nuestro escenario. Nuestro experimento se basa en la ley de los grandes números: con suficientes muestras, el error entre las distribuciones prácticas y teóricas convergerá a cero.
Realizamos 1,000,000 de iteraciones de muestreo para el primer token generado para cada uno de cuatro prompts. Los pesos del modelo utilizados fueron Llama3 8B Instruct y EAGLE-LLaMA3-Instruct-8B. Los resultados estadísticos se muestran a continuación:


- Azul: softmax de logits del modelo base
- Verde: softmax de logits del modelo borrador
- Naranja: frecuencia de tokens del muestreo especulativo (1,000,000 veces)
La desviación estándar de la distribución de muestreo del modelo base es 9.694e-5. Esto está dentro de lo esperado.
Conclusión
La decodificación especulativa no compromete la precisión de inferencia de los modelos de lenguaje grandes. A través de un riguroso análisis matemático y experimentos prácticos, hemos demostrado la naturaleza sin pérdidas de los algoritmos estándar de decodificación especulativa. La prueba matemática ilustra cómo la fórmula de muestreo especulativo preserva la distribución original del modelo base. Nuestros experimentos, incluyendo tanto la decodificación voraz determinista como el muestreo multinomial probabilístico, validan aún más estos hallazgos teóricos. El experimento de decodificación voraz produjo resultados idénticos con y sin decodificación especulativa, mientras que el experimento de muestreo multinomial mostró diferencias insignificantes en la distribución de tokens sobre un gran número de muestras.
Estos resultados afirman colectivamente que la decodificación especulativa puede acelerar significativamente la inferencia de LLM sin sacrificar la precisión, allanando el camino para sistemas de IA más eficientes y accesibles en el futuro.
¡Puedes visitar Novita AI para más detalles!
