Um servidor de IA doméstico precisa de filas de trabalho separadas porque os pedidos interativos e as tarefas em segundo plano têm requisitos diferentes de latência, memória, novas tentativas e conclusão.
Uma única máquina pode servir chat, controlo por voz, ingestão de documentos, embeddings, análise de fotografias, transferências de modelos, fluxos de trabalho de agentes e resumos agendados. Uma fila única por ordem de chegada trata essas tarefas como intercambiáveis, embora um atraso de cinco segundos seja aceitável para a indexação e perturbador para um comando de voz. As tarefas longas também podem reservar memória ou largura de banda de armazenamento antes de chegarem pedidos curtos. As filas separadas tornam visíveis as classes de carga de trabalho, permitindo que as políticas de admissão, prioridade, concorrência e recuperação protejam as funções domésticas que têm de responder primeiro.
Uma Fila FIFO Única Cria Bloqueio no Início da Fila
Um pedido longo, uma solicitação de imagem, o carregamento de um modelo ou um lote de embeddings no início de uma fila pode atrasar muitos pedidos curtos que estejam atrás dele.
O FastServe aborda o bloqueio no início da fila com escalonamento preemptivo e vários níveis de prioridade, em vez de um serviço que só termina quando cada tarefa é concluída.
Um servidor doméstico não precisa de adotar o mesmo design distribuído para aplicar este princípio. O trabalho interativo curto não deve ficar à espera de um pedido em segundo plano de duração desconhecida apenas porque chegou mais tarde.
As Tarefas Interativas e em Segundo Plano Precisam de Objetivos de Serviço Diferentes
As chamadas de voz, chat e automação preocupam-se com o tempo na fila e o tempo até ao primeiro token. Os embeddings, a indexação e os resumos noturnos preocupam-se mais com o débito total e a conclusão eventual.
O JITServe estuda diferentes objetivos de latência para pedidos cujos fluxos de trabalho de ponta a ponta e prazos não são equivalentes.
Coloque o trabalho interativo numa fila de baixa latência com concorrência limitada. Coloque as tarefas em massa numa fila orientada para o débito, que possa pausar, agrupar ou ceder capacidade quando a procura doméstica aumentar.
A prioridade deve incluir envelhecimento, para que um serviço de chat continuamente ocupado não deixe a manutenção sem recursos indefinidamente.
O Preenchimento, a Desc codificação e a Preparação de Modelos Podem Bloquear-se entre Si
Um preenchimento longo utiliza o processamento de forma diferente da descodificação de tokens, enquanto o carregamento de modelos e a preparação da cache podem ficar à espera de transferências de armazenamento e memória.
O DistServe separa o preenchimento e a descodificação, porque colocá-los no mesmo local pode prejudicar a latência mesmo quando a utilização agregada parece elevada.
As filas separadas permitem que os chats ativos mantenham oportunidades de descodificação, enquanto os prompts de documentos grandes entram por um percurso de preenchimento controlado.
Uma fila de carregamento de modelos também pode limitar o número de modelos frios que competem simultaneamente pela largura de banda do disco e pela memória do acelerador.
O Trabalho Pronto Não Deve Ficar à Espera do Trabalho de Preparação
Alguns pedidos podem ser executados imediatamente porque o modelo e o estado da cache estão residentes. Outros precisam que os dados sejam restaurados a partir de armazenamento mais lento ou que um modelo seja carregado primeiro.
O Bidaw utiliza duas filas de pedidos para impedir que o trabalho pronto fique à espera de pedidos cujo estado ainda tem de ser preparado.
O equivalente doméstico consiste em evitar ocupar a fila interativa com um pedido que não pode ser executado até terminar a transferência de um modelo de dez gigabytes ou a restauração da cache.
As Filas de Armazenamento e CPU Precisam da Mesma Separação
O trabalho de IA não compete apenas pelo acelerador. O OCR, a análise de PDFs, a tokenização, as escritas de vetores, as miniaturas, as cópias de segurança e as leituras de modelos podem saturar as filas de CPU e armazenamento.
A análise da ZimaSpace sobre a contenção das filas de armazenamento mostra por que motivo o trabalho em massa contínuo pode atrasar aplicações autoalojadas interativas, mesmo antes de considerar o escalonamento da GPU.
Limite a profundidade de E/S em segundo plano, separe os caminhos dos modelos e das bases de dados quando for prático e pause as análises de bibliotecas completas durante os períodos de maior utilização doméstica.
Uma política de filas que proteja o tempo de GPU, mas permita que o OCR em segundo plano sature todos os núcleos de CPU, continua a não proteger a latência de recuperação do chat.
As Políticas de Filas Precisam de Admissão, Quotas e Observabilidade
A simples existência de nomes separados não cria isolamento. Cada fila precisa de um limite de concorrência, um orçamento de memória, uma prioridade, uma política de novas tentativas, um tempo limite e uma regra para utilizar capacidade ociosa.
O Agentix trata as dependências do fluxo de trabalho como informação de escalonamento, para que uma chamada curta que desbloqueie etapas posteriores possa receber o serviço adequado.
Meça a profundidade da fila, o tempo de espera mais antigo, as tarefas em execução, a memória reservada, as preempções, o número de novas tentativas e a latência por classe de carga de trabalho. Os alertas devem identificar qual fila está a violar o seu objetivo.
O design prático deve aproveitar a capacidade disponível: as filas em segundo plano utilizam os recursos excedentários, mas os pedidos interativos podem recuperar essa capacidade sem destabilizar as tarefas em execução.
FAQ
Um servidor de IA doméstico precisa de uma máquina física separada para cada fila?
Não. As filas são limites de escalonamento. Podem partilhar uma máquina, aplicando prioridades, limites de concorrência e orçamentos de recursos diferentes.
As tarefas em segundo plano devem parar sempre que o chat começa?
Não necessariamente. Podem continuar com concorrência reduzida quando ainda existir capacidade suficiente de CPU, memória, armazenamento e acelerador.
Os contentores podem substituir filas separadas?
Os contentores isolam processos, mas não proporcionam automaticamente um escalonamento justo nem controlo de admissão entre várias cargas de trabalho de IA.
Centro de Tecnologia e IA
Mais para Ler

Que funcionalidades permitem criar um limite de confiança de IA doméstico em torno de ficheiros sensíveis?
Uma fronteira de confiança para IA doméstica combina encriptação em repouso, permissões de privilégio mínimo, sandboxing em tempo de execução e recuperação com âmbito...

O que faz com que os resultados de pesquisa privada favoreçam ficheiros editados com frequência?
Os ficheiros editados frequentemente obtêm vantagens no posicionamento quando cada atualização acrescenta sinais de atualidade, fragmentos, versões ou interação, sem normalização por fonte.

O que faz com que os modelos de presença de casas inteligentes confundam visitantes com residentes?
Os visitantes podem parecer residentes quando o sistema observa padrões de atividade doméstica, mas não dispõe de um sinal de identidade estável da pessoa...

