Cascade: Exploiting SLO-Aware latency budget for fair and high goodput LLM inference serving
O Cascade é um sistema de serviço de LLM que aproveita um orçamento de latência dinâmico por requisição para otimizar conjuntamente o escalonamento e o gerenciamento de cache KV, melhorando significamente o goodput de conformidade com o SLO e a equidade, ao mesmo tempo em que reduz as violações em comparação com abordagens tradicionais de primeiro a chegar, primeiro a ser servido.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine uma estação de trem movimentada e de alta velocidade, onde milhares de passageiros tentam embarcar em diferentes trens exatamente ao mesmo tempo. Alguns passageiros trazem apenas uma mochila pequena (uma pergunta curta e rápida), enquanto outros arrastam malas enormes e pesadas cheias de anos de memórias (uma história longa e complexa ou uma tarefa de raciocínio profundo). No mundo da Inteligência Artificial, esses "trens" são os Grandes Modelos de Linguagem (LLMs) — os computadores superinteligentes que alimentam chatbots, assistentes de programação e agentes de raciocínio. Os "passageiros" são as solicitações que enviamos a eles.
Para que esses sistemas pareçam rápidos e úteis, eles precisam prometer entregar respostas dentro de um limite de tempo específico, conhecido como Objetivo de Nível de Serviço (SLO). Pense nisso como um bilhete que diz: "Você deve estar no trem e em movimento dentro de 5 segundos". O problema é que os gerentes da estação têm usado uma regra muito antiga: "Primeiro a chegar, primeiro a ser servido". Isso significa que, se um passageiro com uma mala gigante chegar primeiro, todos os outros terão que esperar atrás dele, mesmo que a pessoa logo atrás tenha apenas uma mochila pequena e pudesse ser atendida em uma fração de segundo. Isso causa um congestionamento massivo. Além disso, a estação possui uma quantidade limitada de armazenamento de alta velocidade (como uma sala de espera VIP) para a bagagem dos passageiros. Se a bagagem for armazenada em um armazém lento e distante, buscá-la leva tempo. Se o gerente da estação não souber quanto tempo resta para cada passageiro antes de seu trem partir, ele pode desperdiçar segundos preciosos buscando bagagens para alguém que já está atrasado, enquanto outra pessoa que está no prazo acaba sendo deixada para trás.
Este é o desafio abordado por um novo sistema chamado CASCADE, descrito em um artigo recente de pesquisadores da Universidade da Colúmbia Britânica, Microsoft Azure Research e NVIDIA. Os pesquisadores perceberam que cada solicitação tem um "orçamento de tempo" oculto — a diferença entre o tempo que ela precisa para terminar seu trabalho e o tempo que lhe é permitido levar. Algumas solicitações têm um orçamento enorme (muito tempo extra), enquanto outras quase não têm nenhum. O artigo argumenta que, em vez de apenas olhar para quem chegou primeiro ou quão grande é a solicitação, o sistema deve olhar para este orçamento de tempo restante para decidir quem vai a seguir e como lidar com seus dados.
A ideia central do CASCADE é tratar esse orçamento de tempo como uma moeda compartilhada para dois trabalhos diferentes: decidir a ordem das solicitações e gerenciar onde seus dados residem. Nas simulações do artigo, que utilizaram dados de tráfego do mundo real de servidores de produção e foram testadas em três gigantes de modelos de IA (Qwen-2.5-72B, Llama-3-70B e Llama-3-405B), o CASCADE mostrou resultados impressionantes. Ao calcular constantemente quanto "margem de tempo" cada solicitação tinha restante, o sistema conseguia priorizar aquelas que estavam ficando sem tempo, enquanto permitia que solicitações com bastante tempo esperassem um pouco mais ou buscassem seus dados em um armazenamento mais lento e barato.
As descobertas sugerem que essa abordagem é um divisor de águas para a eficiência. Em seus testes, o CASCADE melhorou o número de solicitações bem-sucedidas que o sistema conseguia lidar (chamado de "goodput") em até 2,4 vezes em comparação com o método padrão "primeiro a chegar, primeiro a ser servido" usado por sistemas populares como o vLLM. Mais importante ainda, ele reduziu o número de solicitações que perderam seus limites de tempo (violações de SLO) em 40%. Talvez de forma mais criativa, ele fez isso sem fazer com que as solicitações longas e complexas sofressem. Ao contrário de outros métodos que poderiam apressar as solicitações curtas e deixar as longas passarem fome, o CASCADE manteve a experiência justa para todos, garantindo que tanto os passageiros da "mochila" quanto os da "mala gigante" fossem atendidos no prazo. O sistema alcançou isso decidindo dinamicamente se deveria buscar os dados na memória rápida, no armazenamento mais lento ou simplesmente recalculá-los, baseando-se inteiramente no orçamento de tempo disponível para aquela solicitação específica para absorver o atraso.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.