UELLM: A Unified and Efficient Approach for Large Language Model Inference Serving
摘要
In the context of Machine Learning as a Service (MLaaS) clouds, the extensive use of Large Language Models (LLMs) often requires efficient management of significant query loads. When providing real-time inference services, several challenges arise. Firstly, increasing the number of GPUs may lead to a decrease in inference speed due to a heightened communication overhead, while an inadequate number of GPUs can lead to out-of-memory errors. Secondly, different deployment strategies need to be evaluated to guarantee optimal utilization and minimal inference latency. Lastly, inefficient orchestration of inference queries can easily lead to significant Service Level Objective (SLO) violations. To address these challenges, we propose a Unified and Efficient approach for Large Language Model inference serving (UELLM), which consists of three main components: 1) resource profiler, 2) batch scheduler, and 3) LLM deployer. The resource profiler characterizes resource usage of inference queries by predicting resource demands based on a fine-tuned LLM. The batch scheduler effectively batches the queries profiled by the resource profiler based on batching algorithms, aiming to decrease inference delays while meeting SLO and efficient batch processing of inference queries. The LLM deployer can efficiently deploy LLMs by considering the current cluster hardware topology and LLM characteristics, enhancing resource utilization and reducing resource overhead. UELLM minimizes resource overhead, reduces inference latency, and lowers SLO violation rates. Compared with state-of-the-art (SOTA) techniques, UELLM reduces the inference latency by \(72.3\%\) to \(90.3\%\) , enhances GPU utilization by \(1.2\times \) to \(4.1\times \) , and increases throughput by \(1.92\times \) to \(4.98\times \) , it can also serve without violating the inference latency SLO.