O processamento em lote de IA doméstica melhora o débito total ao combinar trabalho compatível, mas cada pedido pode esperar mais tempo ou partilhar iterações mais lentas com outros utilizadores.
Um único prompt pode entrar imediatamente num acelerador inativo, enquanto um servidor familiar recebe frequentemente conversas sobrepostas, prompts de documentos, pedidos de voz e tarefas em segundo plano. O runtime pode manter um pedido em espera durante breves instantes para formar um lote, adicionar novas sequências entre iterações de descodificação ou dividir prefills longos em blocos mais pequenos. Estas opções mantêm o acelerador mais ocupado, mas também alteram o tempo até ao primeiro token, o intervalo entre tokens e a equidade. As secções abaixo explicam onde o processamento em lote ajuda e quando os ganhos de débito deixam de melhorar a experiência interativa.
O processamento em lote converte capacidade disponível do acelerador em trabalho partilhado
Um pedido pode não utilizar de forma eficiente todas as unidades de execução paralela, especialmente durante operações matriciais pequenas ou sequências curtas. A combinação de vários pedidos cria operações tensoriais maiores, que podem utilizar o acelerador de forma mais eficaz.
A Orca introduziu o agendamento ao nível das iterações, permitindo que os pedidos entrem e saiam entre iterações de geração, em vez de obrigar um único lote fixo a permanecer unido até todas as sequências terminarem.
O ganho é medido em tokens ou pedidos concluídos por unidade de tempo. Isto não garante que qualquer utilizador receba um token mais rapidamente.
Uma janela de processamento em lote acrescenta tempo de espera antes do início do cálculo
Um runtime que espera por mais pedidos pode criar um lote maior e mais eficiente, mas o primeiro pedido suporta esse tempo de espera, mesmo quando o acelerador estava disponível.
O compromisso entre débito e latência torna-se visível quando lotes maiores melhoram a eficiência do dispositivo, mas prolongam o tempo de espera ou de iteração.
A IA doméstica interativa normalmente precisa de uma janela de processamento em lote curta ou adaptativa. Os embeddings em segundo plano toleram mais espera, porque o seu objetivo é concluir trabalho e não responder numa conversa.
Prefills longos podem atrasar o trabalho curto de descodificação
O processamento do prompt executa um prefill extenso e exigente em termos de cálculo, enquanto as conversas ativas regressam repetidamente para etapas de descodificação limitadas pela memória. Misturá-las no mesmo lote pode fazer com que uma pequena descodificação interativa espere atrás de um prompt de documento longo.
O DistServe isola a interferência entre prefill e descodificação, porque as duas fases têm características diferentes em termos de recursos e latência.
O prefill em blocos é um compromisso: divide um prompt longo para que os pedidos de descodificação possam ser executados entre blocos, mas o documento precisa de mais rondas de agendamento para terminar.
A melhor configuração depende de o servidor dar prioridade a uma tarefa de análise longa ou a vários utilizadores que já estejam a receber respostas transmitidas em fluxo.
Comprimentos de sequência mistos tornam todos os lotes irregulares
Os pedidos diferem no comprimento do prompt, no comprimento da saída, nas condições de paragem e nas funcionalidades do modelo. Alguns terminam rapidamente, enquanto outros permanecem ativos, pelo que a composição do lote muda continuamente.
O vLLM utiliza processamento contínuo em lote com cache KV paginada para aceitar novos pedidos à medida que a capacidade fica disponível, em vez de esperar por um limite fixo do lote.
Mesmo com uma gestão de memória eficiente, uma resposta muito longa consome unidades de descodificação e cache KV durante muitas iterações. Por isso, o tamanho do lote deve ser expresso em orçamentos de tokens e memória, e não apenas em número de pedidos.
Lotes maiores podem reduzir a taxa de tokens por utilizador
Os tokens por segundo totais podem aumentar, enquanto cada utilizador recebe uma parcela menor das iterações de descodificação. Um painel que apresente um débito agregado superior pode coexistir com uma transmissão visível mais lenta.
O guia da ZimaSpace sobre concorrência familiar explica por que motivo os testes com um único utilizador não preveem a latência de várias conversas sobrepostas.
Meça o tempo até ao primeiro token, o tempo entre tokens e o tempo de conclusão de cada pedido, juntamente com o débito agregado. Caso contrário, o processamento em lote pode ser afinado para uma métrica que os utilizadores nunca experienciam diretamente.
Defina políticas de processamento em lote diferentes para trabalho interativo e em segundo plano
Reserve janelas de espera curtas, concorrência limitada e prioridade elevada para voz e conversação. Permita lotes maiores e prioridade inferior para embeddings, indexação, resumos e transformações offline.
A investigação sobre disponibilização justa de LLM utiliza equidade consciente dos tokens, para que o input ou output longo de um pedido não ocupe indefinidamente uma parcela desproporcionada.
Teste com uma carga familiar representativa, e não apenas com o tamanho máximo do lote. A configuração útil é aquela que oferece o débito mais elevado, cumprindo simultaneamente os objetivos de tempo até ao primeiro token e de latência da transmissão em fluxo do percurso interativo.
Quando um único acelerador não consegue satisfazer ambas as classes, separar os workers ou os agendamentos pode ser mais simples do que utilizar uma política universal de processamento em lote.
Perguntas frequentes
O processamento em lote aumenta sempre a latência?
Não. Um processamento em lote eficiente pode reduzir o tempo total para esvaziar a fila e evitar sobrecargas, mas esperar pela formação de um lote e partilhar iterações mais longas pode aumentar a latência de um pedido individual.
O tamanho do lote corresponde ao número de utilizadores?
Não exatamente. Os runtimes podem definir o orçamento com base em sequências ativas, tokens, blocos KV ou trabalho total, e um utilizador pode gerar vários pedidos simultâneos.
Os pedidos de voz devem ser processados em lote com embeddings?
Normalmente, não segundo a mesma política de latência. A voz é interativa, enquanto as tarefas de embeddings podem esperar e utilizar lotes maiores durante a capacidade disponível.
Centro de Tecnologia e IA
Mais para Ler

Porque é que as previsões da casa inteligente se tornam menos precisas após mudanças sazonais na rotina?
As rotinas sazonais alteram a relação entre o tempo, os sensores, a ocupação e as ações pretendidas, tornando obsoleto um modelo treinado com hábitos...

Porque é que um NVR doméstico não regista eventos breves quando o seguimento de objetos está ativado?
O seguimento precisa de deteções suficientes para iniciar e confirmar uma trajetória, pelo que um objeto que apareça brevemente pode desaparecer antes de o...

Porque é que as etiquetas de fotografias geradas por IA mudam após uma atualização do modelo?
Uma atualização do modelo altera a representação e a classificação utilizadas para atribuir etiquetas, pelo que a mesma fotografia pode ultrapassar diferentes limites semânticos...

