CaraServe: CPU-Assisted and Rank-Aware LoRA Serving for Generative LLM Inference
Suyi Li, Hanfeng Lu, Tianyuan Wu, Minchen Yu, Qizhen Weng, Xusheng Chen, Yizhou Shan, Binhang Yuan, Wei Wang
TL;DR
CaraServe addresses multi-tenant LoRA serving for generative LLM inference by keeping the base model on GPUs while offloading LoRA adapters from host memory and overlapping adapter loading with CPU-based prefill. It introduces a sync-free, CPU-assisted execution path, shared-memory IPC, and profiling-guided CPU parallelization, together with a rank-aware scheduling model that predicts batch latency for heterogeneous adapters and routes requests to minimize SLO violations. Empirical results on Llama2-7B/13B/70B show up to 1.4x average latency improvement and up to 99% SLO attainment, with further gains in multi-GPU settings. Overall, CaraServe provides a scalable, GPU-efficient, cold-start-free solution for multi-tenant LoRA serving that can be integrated with existing LLM pipelines and extended to various models.
Abstract
Pre-trained large language models (LLMs) often need specialization for domain-specific tasks. Low-Rank Adaptation (LoRA) is a popular approach that adapts a base model to multiple tasks by adding lightweight trainable adapters. In this paper, we present CaraServe, a system that efficiently serves many LoRA adapters derived from a common base model. CaraServe maintains the base model on GPUs and dynamically loads activated LoRA adapters from main memory. As GPU loading results in a cold-start that substantially delays token generation, CaraServe employs a CPU-assisted approach. It early starts the activated adapters on CPUs for prefilling as they are being loaded onto GPUs; after loading completes, it then switches to the GPUs for generative LoRA inference. CaraServe develops a highly optimized synchronization mechanism to efficiently coordinate LoRA computation on the CPU and GPU. Moreover, CaraServe employs a rank-aware scheduling algorithm to optimally schedule heterogeneous LoRA requests for maximum service-level objective (SLO) attainment. We have implemented CaraServe and evaluated it against state-of-the-art LoRA serving systems. Our results demonstrate that CaraServe can speed up the average request serving latency by up to 1.4$\times$ and achieve an SLO attainment of up to 99%.
