FlexLLM: Token-Level Co-Serving of LLM Inference and Finetuning with SLO Guarantees

Gabriele Oliaro, Xupeng Miao, Xinhao Cheng, Vineeth Kada, Mengdi Wu +7 more
2/29/2024
cs.DCcs.CLcs.LG

No official code found. Best implementation: flexflow/flexflow-train (1,903 stars, Apache-2.0, last commit 2026-04-29).

Abstract

Finetuning large language models (LLMs) is essential for task adaptation, yet today's serving stacks isolate inference and finetuning on separate GPU clusters -- wasting resources and under-utilizing hardware. We introduce FlexLLM, the first system to co-serve LLM inference and PEFT-based finetuning on shared GPUs by fusing computation at the token level. FlexLLM's static compilation optimizations -- dependent parallelization and graph pruning significantly shrink activation memory, leading to end-to-end GPU memory savings by up to 80%. At runtime, a novel token-level finetuning mechanism paired with a hybrid token scheduler dynamically interleaves inference and training tokens within each co-serving iteration, meeting strict latency SLOs while maximizing utilization. In end-to-end benchmarks on LLaMA-3.1-8B, Qwen-2.5-14B, and Qwen-2.5-32B, FlexLLM maintains inference SLO compliance at up to 20 req/s, and improves finetuning throughput by $1.9-4.8\times$ under heavy inference workloads and $2.5-6.8\times$ under light loads, preserving over 76% of peak finetuning progress even at peak demand. FlexLLM is publicly available at https://flexllm.github.io.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

Automatically Discovering Fast Parallelization Strategies for Distributed Deep Neural Network Training

1,903257C, C++Dec 8, 20185 months agoApache-2.0

Similar Papers

Cite this paper

@article{oliaro2024flexllm,
  title  = {FlexLLM: Token-Level Co-Serving of LLM Inference and Finetuning with SLO Guarantees},
  author = {Gabriele Oliaro and Xupeng Miao and Xinhao Cheng and Vineeth Kada and Mengdi Wu and Ruohan Gao and Yingyi Huang and Remi Delacourt and April Yang and Yingcheng Wang and Colin Unger and Zhihao Jia},
  year   = {2024},
  eprint = {2402.18789},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2402.18789v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2402.18789.svg)](https://codeofpaper.com/paper/2402.18789)

Discussion