MemServe: Memorizzazione del Contesto per il Servizio di LLM Disaggregato con un Pool di Memoria Elastica
MemServe: Context Caching for Disaggregated LLM Serving with Elastic Memory Pool
June 25, 2024
Autori: Cunchen Hu, Heyang Huang, Junhao Hu, Jiang Xu, Xusheng Chen, Tao Xie, Chenxi Wang, Sa Wang, Yungang Bao, Ninghui Sun, Yizhou Shan
cs.AI
Abstract
Il servizio di modelli linguistici di grandi dimensioni (LLM) è evoluto da sistemi senza stato a sistemi con stato, sfruttando tecniche come la memorizzazione contestuale (context caching) e l'inferenza disaggregata. Queste ottimizzazioni estendono la durata e il dominio della cache KV, rendendo necessaria un nuovo approccio architetturale. Presentiamo MemServe, un sistema unificato che integra ottimizzazioni sia inter-richiesta che intra-richiesta. MemServe introduce MemPool, un pool di memoria elastico che gestisce la memoria distribuita e le cache KV tra le istanze di servizio. Utilizzando le API di MemPool, MemServe combina per la prima volta la memorizzazione contestuale con l'inferenza disaggregata, supportato da uno scheduler globale che migliora il riutilizzo della cache attraverso una politica basata su un albero di prompt globale e consapevole della località. I test dimostrano che MemServe migliora significativamente il tempo di completamento del lavoro e il tempo alla prima risposta.
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.