Autellix : Un moteur de service efficace pour les agents LLM en tant que programmes généraux
Autellix: An Efficient Serving Engine for LLM Agents as General Programs
February 19, 2025
Auteurs: Michael Luo, Xiaoxiang Shi, Colin Cai, Tianjun Zhang, Justin Wong, Yichuan Wang, Chi Wang, Yanping Huang, Zhifeng Chen, Joseph E. Gonzalez, Ion Stoica
cs.AI
Résumé
Les applications de grands modèles de langage (LLM) évoluent au-delà des simples chatbots pour devenir des programmes agentiques polyvalents et dynamiques, qui mettent à l'échelle les appels aux LLM et les jetons de sortie pour aider les agents IA à raisonner, explorer et résoudre des tâches complexes. Cependant, les systèmes de service LLM existants ignorent les dépendances entre les programmes et les appels, manquant ainsi des opportunités significatives d'optimisation. Notre analyse révèle que les programmes soumis aux moteurs de service LLM subissent des temps d'attente cumulés longs, principalement en raison de blocages en tête de ligne au niveau des requêtes individuelles LLM et des programmes. Pour remédier à cela, nous introduisons Autellix, un système de service LLM qui traite les programmes comme des entités de premier ordre afin de minimiser leurs latences de bout en bout. Autellix intercepte les appels LLM soumis par les programmes, enrichissant les planificateurs avec un contexte au niveau du programme. Nous proposons deux algorithmes de planification - pour les programmes mono-thread et distribués - qui préemptent et hiérarchisent les appels LLM en fonction des appels précédemment terminés par leurs programmes. Notre évaluation démontre que, pour divers LLM et charges de travail agentiques, Autellix améliore le débit des programmes de 4 à 15 fois à la même latence par rapport aux systèmes de pointe, tels que vLLM.
English
Large language model (LLM) applications are evolving beyond simple chatbots
into dynamic, general-purpose agentic programs, which scale LLM calls and
output tokens to help AI agents reason, explore, and solve complex tasks.
However, existing LLM serving systems ignore dependencies between programs and
calls, missing significant opportunities for optimization. Our analysis reveals
that programs submitted to LLM serving engines experience long cumulative wait
times, primarily due to head-of-line blocking at both the individual LLM
request and the program. To address this, we introduce Autellix, an LLM serving
system that treats programs as first-class citizens to minimize their
end-to-end latencies. Autellix intercepts LLM calls submitted by programs,
enriching schedulers with program-level context. We propose two scheduling
algorithms-for single-threaded and distributed programs-that preempt and
prioritize LLM calls based on their programs' previously completed calls. Our
evaluation demonstrates that across diverse LLMs and agentic workloads,
Autellix improves throughput of programs by 4-15x at the same latency compared
to state-of-the-art systems, such as vLLM.Summary
AI-Generated Summary