Autellix: Eine effiziente Serving-Engine für LLM-Agenten als allgemeine Programme
Autellix: An Efficient Serving Engine for LLM Agents as General Programs
February 19, 2025
Autoren: 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
Zusammenfassung
Große Sprachmodelle (LLMs) entwickeln sich über einfache Chatbots hinaus zu dynamischen, universellen agentenbasierten Programmen, die LLM-Aufrufe und Ausgabetokens skalieren, um KI-Agenten beim Denken, Erkunden und Lösen komplexer Aufgaben zu unterstützen. Allerdings ignorieren bestehende LLM-Bereitstellungssysteme die Abhängigkeiten zwischen Programmen und Aufrufen, wodurch erhebliche Optimierungsmöglichkeiten ungenutzt bleiben. Unsere Analyse zeigt, dass Programme, die an LLM-Bereitstellungs-Engines übermittelt werden, lange kumulative Wartezeiten erfahren, hauptsächlich aufgrund von Head-of-Line-Blocking sowohl auf der Ebene einzelner LLM-Anfragen als auch des gesamten Programms. Um dies zu beheben, stellen wir Autellix vor, ein LLM-Bereitstellungssystem, das Programme als erstklassige Entitäten behandelt, um ihre end-to-end Latenzen zu minimieren. Autellix fängt LLM-Aufrufe ab, die von Programmen übermittelt werden, und bereichert Scheduler mit programmbezogenem Kontext. Wir schlagen zwei Scheduling-Algorithmen vor – für Single-Thread- und verteilte Programme –, die LLM-Aufrufe basierend auf den zuvor abgeschlossenen Aufrufen ihrer Programme unterbrechen und priorisieren. Unsere Auswertung zeigt, dass Autellix bei verschiedenen LLMs und agentenbasierten Workloads den Durchsatz von Programmen bei gleicher Latenz im Vergleich zu state-of-the-art Systemen wie vLLM um das 4- bis 15-fache verbessert.
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