MemServe: Kontext-Caching für disaggregiertes LLM-Serving mit elastischem Speicherpool
MemServe: Context Caching for Disaggregated LLM Serving with Elastic Memory Pool
June 25, 2024
Autoren: Cunchen Hu, Heyang Huang, Junhao Hu, Jiang Xu, Xusheng Chen, Tao Xie, Chenxi Wang, Sa Wang, Yungang Bao, Ninghui Sun, Yizhou Shan
cs.AI
Zusammenfassung
Der Dienst großer Sprachmodelle (LLM) hat sich von zustandslosen zu zustandsbehafteten Systemen transformiert, die Techniken wie Kontextzwischenspeicherung und disaggregierte Inferenz nutzen. Diese Optimierungen verlängern die Lebensdauer und den Anwendungsbereich des KV-Caches und erfordern einen neuen architektonischen Ansatz. Wir stellen MemServe vor, ein vereinheitlichtes System, das sowohl inter-Request- als auch intra-Request-Optimierungen integriert. MemServe führt MemPool ein, einen elastischen Speicherpool, der verteilten Speicher und KV-Caches über Servicestellen verwaltet. Mithilfe von MemPool-APIs kombiniert MemServe erstmals Kontextzwischenspeicherung mit disaggregierter Inferenz, unterstützt durch einen globalen Scheduler, der die Cache-Wiederverwendung durch eine global prompt-baum-basierte lokalitätsbewusste Richtlinie verbessert. Tests zeigen, dass MemServe die Jobabschlusszeit und die Zeit bis zur ersten Ausführung signifikant verbessert.
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.