Autellix: Um Motor de Serviço Eficiente para Agentes de LLM como Programas Gerais
Autellix: An Efficient Serving Engine for LLM Agents as General Programs
February 19, 2025
Autores: 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
Resumo
Aplicações de modelos de linguagem de grande escala (LLMs) estão evoluindo além de simples chatbots para se tornarem programas agentes dinâmicos e de propósito geral, que escalam chamadas de LLMs e tokens de saída para ajudar agentes de IA a raciocinar, explorar e resolver tarefas complexas. No entanto, os sistemas existentes de atendimento de LLMs ignoram as dependências entre programas e chamadas, perdendo oportunidades significativas de otimização. Nossa análise revela que os programas submetidos a motores de atendimento de LLMs enfrentam longos tempos de espera cumulativos, principalmente devido ao bloqueio na cabeça da fila, tanto em nível de solicitação individual de LLM quanto de programa. Para resolver isso, introduzimos o Autellix, um sistema de atendimento de LLMs que trata programas como cidadãos de primeira classe para minimizar suas latências de ponta a ponta. O Autellix intercepta chamadas de LLMs enviadas por programas, enriquecendo os agendadores com contexto em nível de programa. Propomos dois algoritmos de agendamento — para programas de thread única e distribuídos — que preemptam e priorizam chamadas de LLMs com base nas chamadas previamente concluídas de seus programas. Nossa avaliação demonstra que, em diversos LLMs e cargas de trabalho agentes, o Autellix melhora a taxa de transferência de programas em 4 a 15 vezes na mesma latência em comparação com sistemas state-of-the-art, como o 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