MemServe: Caché de contexto para el servicio de LLM desagregado con un grupo de memoria elástica
MemServe: Context Caching for Disaggregated LLM Serving with Elastic Memory Pool
June 25, 2024
Autores: Cunchen Hu, Heyang Huang, Junhao Hu, Jiang Xu, Xusheng Chen, Tao Xie, Chenxi Wang, Sa Wang, Yungang Bao, Ninghui Sun, Yizhou Shan
cs.AI
Resumen
El servicio de modelos de lenguaje de gran escala (LLM) ha evolucionado de sistemas sin estado a sistemas con estado, utilizando técnicas como el almacenamiento en caché de contexto y la inferencia desagregada. Estas optimizaciones extienden la vida útil y el dominio de la caché KV, lo que requiere un nuevo enfoque arquitectónico. Presentamos MemServe, un sistema unificado que integra optimizaciones tanto entre solicitudes como dentro de las solicitudes. MemServe introduce MemPool, un grupo de memoria elástico que gestiona la memoria distribuida y las cachés KV entre instancias de servicio. Utilizando las API de MemPool, MemServe combina por primera vez el almacenamiento en caché de contexto con la inferencia desagregada, respaldado por un planificador global que mejora la reutilización de la caché mediante una política consciente de la localidad basada en un árbol de prompts global. Las pruebas muestran que MemServe mejora significativamente el tiempo de finalización de trabajos y el tiempo hasta la primera respuesta.
English
Large language model (LLM) serving has transformed from stateless to stateful
systems, utilizing techniques like context caching and disaggregated inference.
These optimizations extend the lifespan and domain of the KV cache,
necessitating a new architectural approach. We present MemServe, a unified
system that integrates both inter-request and intra-request optimizations.
MemServe introduces MemPool, an elastic memory pool managing distributed memory
and KV caches across serving instances. Using MemPool APIs, MemServe combines
context caching with disaggregated inference for the first time, supported by a
global scheduler that enhances cache reuse through a global prompt tree-based
locality-aware policy. Tests show that MemServe significantly improves job
completion time and time-to-first-time.