PT EN
Voltar ao site

Escala dos motores de IA: quantas réplicas cada motor mantém

Os motores de IA que rodam dentro da plataforma — Embedding, Rerank, Chat em CPU e Chat com GPU — podem ter mais de uma réplica. Em SistemaIA, seção Escala dos motores, o administrador define, para cada um, se ele fica ligado e entre quantas réplicas ele pode variar. Dentro dessa faixa a plataforma sobe e desce réplicas sozinha, pela fila de pedidos do motor, e só quando a réplica nova cabe num servidor. Numa instalação com mais CPU e memória, a plataforma usa o que tem, sem ninguém editar configuração de instalação.

Permissão necessária: CONFIG_EDIT para gravar a escala; MODELS_MANAGE para ver o estado atual dos motores (réplicas, fila, última mudança). Sem MODELS_MANAGE, a seção mostra só a escala gravada e diz qual permissão falta.

O que cada cartão mostra

Cada motor tem um cartão. À esquerda, o que está acontecendo agora (atualizado sozinho a cada 15 segundos); à direita, a escala gravada.

No cartãoO que significa
Seloestável (nada a fazer), escalando (acabou de mudar), réplica subindo (uma réplica nova está iniciando), aguardando nó novo (a réplica espera o servidor que a nuvem cria), no máximo, sem espaço, sem nó novo (a nuvem não criou o servidor a tempo), fica como está, erro ao escalar, desligado ou não instalado
Réplicas e prontasQuantas réplicas o motor tem e quantas já atendem. "Alvo" aparece quando a plataforma está indo para outro número
Fila por réplicaPara cada réplica, quantos pedidos esperam e quantos estão sendo atendidos. Uma réplica que ainda está iniciando aparece como "subindo (ainda não pronta)"
Janela correndo"Pedidos esperando há 40 s (sobe após 60 s…)" ou "Ociosa há 6 min (desce após 15 min…)" — quanto falta para a próxima mudança
Última escalaDe quantas para quantas réplicas, por quê (fila, ociosa, mínimo, máximo, ligado, desligado) e quando
MotivoQuando o motor não pôde escalar, a razão em português — veja a tabela abaixo
Tamanho da réplicaSó no Chat em CPU: o tamanho aplicado, o calculado para o servidor e o ajuste (seção própria abaixo)

Os campos da escala

CampoO que fazPadrão
LigadoDesligado = nenhuma réplica, e vence tudo o maisconforme a instalação
Mínimo de réplicasQuantas réplicas ficam de pé enquanto o motor está ligado. Nunca abaixo de 1: não existe "escala a zero", porque a primeira resposta esperaria o motor iniciar1
Máximo de réplicasO teto da escala pela fila. Igual ao mínimo = número fixo1
Janela de subida (s)Por quanto tempo seguido precisa haver pedido esperando para subir uma réplica60 s
Janela de descida (min)Por quanto tempo seguido o motor precisa ficar sem pedido (nem esperando, nem em atendimento) para descer uma réplica15 min

Salvar escala grava o motor daquele cartão. A escolha vale para a plataforma inteira, é aplicada em até um minuto e sobrevive a atualizações da plataforma: atualizar não liga, não desliga e não muda o número de réplicas de motor nenhum.

Como a plataforma decide

  • Pela fila, nunca pela CPU. Um motor de IA ocupa a CPU inteira com um pedido só; medir CPU faria subir réplica sem ninguém esperando.
  • Uma mudança por vez. Depois de subir ou descer, a contagem recomeça; enquanto uma réplica nova inicia, nada é reavaliado. O Chat em CPU leva cerca de 10 minutos para iniciar: a janela de descida padrão (15 min) é maior que isso de propósito.
  • Só onde cabe. Antes de subir, a plataforma confere se algum servidor tem CPU, memória (e GPU, no Chat com GPU) livres para mais uma réplica. Se não tem, não sobe — nenhuma réplica fica "esperando vaga" — e o motivo aparece no cartão.
  • Cada réplica tem a própria cópia do modelo, e as réplicas do Chat em CPU no mesmo servidor usam núcleos separados.

O que a gravação recusa

A recusa aparece em vermelho no cartão, com a frase do motivo, e nada é gravado:

  • mínimo abaixo de 1 com o motor ligado (para zerar, desligue);
  • máximo menor que o mínimo;
  • janela de subida ou de descida menor que 1;
  • campo vazio ou com número não inteiro (a tela pede o número antes de enviar).

Quando o motor não escala

Motivo no cartãoO que fazer
"fila acima de zero há N s, mas o motor já está no máximo"Suba o máximo, se o servidor tiver espaço
"sem memória/CPU/GPU livre para outra réplica … faltam X no nó Y"Não há espaço num servidor para mais uma réplica. Libere recursos ou aceite o teto atual
"sem núcleos próprios para outra réplica do vllm-cpu"O servidor já tem as réplicas do Chat em CPU que cabem nele com núcleos separados
"nenhum nó elegível …"Nenhum servidor atende às restrições do motor (por exemplo, GPU)
"o espaço livre nos nós não pôde ser medido agora"A plataforma não conseguiu medir os servidores; nenhuma réplica além da primeira sobe sem essa medida. Acione a equipe de operação
"a fila das réplicas não pôde ser lida agora"Sem leitura da fila, a plataforma não sobe nem desce pela fila. Normalmente passa sozinho
"aguardando a réplica nova ficar pronta"Normal durante o início de uma réplica (minutos no Chat em CPU)
"aguardando nó novo do autoscaler: … sem nó há N min"Só em instalação em nuvem com crescimento automático de servidores: a réplica não coube nos servidores de hoje e espera o servidor novo que a nuvem cria (alguns minutos). Nada a fazer
"nenhum nó novo em N min: … desceu"A nuvem não criou o servidor no prazo (limite do grupo de servidores ou cota do provedor): a réplica desceu, e por 1 hora o motor só sobe o que cabe nos servidores de hoje. Acione a equipe de operação para rever o limite ou a cota

Aviso no topo da seção. Se o serviço que aplica a escala estiver parado ou sem ciclo há mais de 3 minutos, a seção avisa. Nesse intervalo as réplicas ficam como estão — nunca caem a zero por falha — e a escala gravada é aplicada quando ele voltar.

Tamanho da réplica (Chat em CPU)

O Chat em CPU tem o tamanho de cada réplica — threads, núcleos, memória para o contexto (KV), pedidos simultâneos e memória reservada — calculado para o servidor onde roda.

  • Automático (padrão): o cartão mostra o tamanho aplicado e o calculado para o maior servidor disponível. Com o motor atendendo, um calculado diferente não é aplicado sozinho (seria reiniciar o chat por minutos): o cartão marca difere do calculado, e o novo tamanho entra no próximo Ligar ou por Ajustar tamanho.
  • Ajustar tamanho: grava valores próprios; a réplica reinicia com eles. Valores fora da regra (por exemplo, memória de contexto maior que o limite de memória) são recusados com o motivo.
  • Voltar ao automático: apaga o ajuste; a plataforma volta a calcular pelo servidor.

Núcleos do Embedding e do Rerank

O Embedding, o Rerank e o Chat em CPU que rodam no mesmo servidor dividem os núcleos dele por uma regra só, para um não disputar o núcleo do outro. Quando o servidor não comporta os três com núcleos próprios, a regra reparte, e o cartão avisa quem divide núcleos com quem.

  • Aplicada e calculada: o cartão do Embedding e o do Rerank mostram os núcleos em uso, os calculados para o servidor e a partição inteira. Com o motor atendendo, uma calculada diferente não é aplicada sozinha: o cartão marca difere do calculado, e ela entra no próximo Ligar do motor.
  • Ajustar núcleos: grava threads, núcleo inicial (-1 = o vLLM escolhe) e réplicas por servidor; o motor reinicia com eles (1 a 3 minutos).
  • Voltar à semente: volta aos núcleos que o motor usava antes da partição — o motor reinicia com eles.
  • Voltar ao automático: apaga o ajuste; com o motor atendendo, nada reinicia agora.

Meça o envio de documentos antes e depois de mexer nos núcleos do Embedding.

Boas práticas

  • Deixe mínimo = máximo = 1 onde o servidor só comporta uma réplica — é o padrão.
  • Suba o máximo só depois de conferir, no próprio cartão, que o motor não mostra "sem espaço".
  • Não encurte a janela de descida abaixo do tempo de início do motor: o motor desceria e subiria de novo em sequência.
  • A conferência completa depois de uma atualização da plataforma (provocar fila, ver a subida e a descida) é feita pela equipe de operação.

Referências

  • Modelos de IA da plataforma: onde escolher e como conferir