Un desarrollador ha implementado optimizaciones en llama.cpp que aceleran la decodificación mediante búsqueda de prompts (prompt lookup decoding) hasta 42 veces más rápido y reducen el uso de memoria hasta 2,6 veces. Esta mejora se basa en técnicas de optimización de rendimiento inspiradas en el trabajo de Daniel Lemire y Martin Ankerl. La técnica utiliza modelos n-gram simples para predecir tokens futuros, seleccionando el token más probable según la frecuencia de aparición en un corpus de texto. El sistema mantiene tres tipos de cachés: contexto, dinámico y estático. Las optimizaciones modifican cómo se calculan las puntuaciones y se aplican los umbrales de aceptación para cada n-gram, priorizando la eficiencia sin alterar la tasa de aceptación de tokens. Los resultados se evaluaron utilizando el corpus WikiText-103 y un Apple M4 Pro, mostrando mejoras significativas en la latencia por token, el tiempo de carga de la caché estática y el consumo de memoria. Un posterior parche de Daniel Lemire añade una aceleración adicional de 4,2 veces, elevando el rendimiento total a 140 veces más rápido. El código y los resultados están disponibles en un repositorio público para su verificación y uso.
