Como organizar filas de requisições melhora a velocidade de modelos de IA
Engenheiros da TNG Technology Consulting mostram que a forma como você organiza pedidos feitos a um modelo de linguagem pode reduzir o tempo de espera em até 30%, sem mexer no hardware.
Organizar pedidos feitos a um modelo de linguagem (LLM, os sistemas que geram texto como o ChatGPT) pela estratégia SRPT (dar prioridade aos pedidos que terminam mais rápido) pode reduzir o tempo médio de espera em até 30%, segundo estudo da TNG Technology Consulting publicado na Hugging Face.

Quando você envia uma pergunta para um chatbot ou pede a um modelo de IA que gere um texto, seu pedido entra numa fila — e a forma como essa fila é organizada pode fazer uma diferença enorme na velocidade da resposta. Engenheiros da TNG Technology Consulting (uma consultoria alemã de tecnologia) publicaram um estudo no blog da Hugging Face (uma plataforma onde desenvolvedores compartilham e baixam modelos de IA já treinados) mostrando que escolher a estratégia certa de enfileiramento pode reduzir o tempo de espera em até 30%, sem trocar uma única peça de hardware.
O problema é o seguinte: modelos de linguagem grandes, ou LLMs (sigla em inglês para large language models, os sistemas que geram texto como o ChatGPT), processam requisições de tamanhos diferentes — uma pode pedir uma resposta de 50 palavras, outra de 500. Se você simplesmente atende os pedidos na ordem em que chegam (o método chamado FIFO, ou "primeiro a entrar, primeiro a sair"), pedidos pequenos ficam presos atrás de pedidos enormes, aumentando o tempo médio de espera. A pesquisa da TNG testou quatro estratégias diferentes de organização de filas e mediu o impacto no desempenho real.
A estratégia que se saiu melhor foi a SRPT ("shortest remaining processing time", ou "menor tempo de processamento restante"): ela dá prioridade aos pedidos que vão terminar mais rápido. Em testes com o modelo Llama 2 (um LLM de pesos abertos, ou seja, cujo código pode ser baixado e rodado por qualquer um), o SRPT reduziu o tempo médio de espera em 28% comparado ao FIFO tradicional. Outra abordagem interessante foi o SJF ("shortest job first", ou "tarefa mais curta primeiro"), que prioriza pedidos pequenos logo de cara — ela cortou 22% do tempo de espera.
O estudo usou um simulador de cargas de trabalho realistas, baseado em traces (registros de uso) de sistemas reais, e rodou os testes num servidor com uma GPU NVIDIA A100 (uma placa gráfica potente usada para treinar e rodar modelos de IA). Os engenheiros mediram não só o tempo médio de espera, mas também a latência de cauda (tail latency, o tempo que os pedidos mais lentos levam) e a vazão do sistema (throughput, quantos pedidos ele consegue processar por segundo). O resultado: otimizar a fila é uma das formas mais baratas de melhorar a experiência do usuário, porque não exige comprar hardware novo nem retreinar o modelo.
Para quem está rodando LLMs em produção — seja numa empresa que usa IA para atendimento ao cliente, seja num laboratório de pesquisa —, o recado é claro: a ordem em que você processa os pedidos importa tanto quanto a velocidade do modelo em si. Segundo informou a TNG no blog da Hugging Face, o código do simulador e os resultados completos estão disponíveis publicamente, para que outros times possam replicar os testes com seus próprios modelos e cenários de uso.


