Pular para o conteúdo principal

Dimensionar o throughput de inferência de modelo

Aumente o tráfego do modelo através do Unity Gateway gradualmente ao iniciar uma carga de trabalho ou trocar modelos. Esta orientação se aplica a modelos proprietários e de peso aberto fornecidos pela Databricks e modelos acessados através de provedores externos conectados.

Aumentar o tráfego gradualmente​

A capacidade disponível depende do modelo, provedor, região e modo de serviço. As solicitações podem encontrar erros de capacidade temporários mesmo quando o tráfego permanece dentro dos limites de taxa configurados. Um aumento de quota por si só não reserva capacidade de serviço.

Para aumentar o throughput:

  1. Verifique os limites de taxa de serviço configurados e os limites do modelo ou provedor externo. Estime as taxas de tokens de entrada e saída e as solicitações concorrentes, incluindo tamanhos representativos de prompt e resposta.
  2. Comece com um nível de tráfego estável conhecido. Para uma nova carga de trabalho, comece com uma pequena carga representativa.
  3. Aumente o tráfego em pequenos os passos. Mantenha cada nível estável enquanto realiza o monitoramento da taxa de sucesso da solicitação, latência, uso de tokens, profundidade da fila e erros de limitação ou capacidade. Aumente novamente apenas quando a carga de trabalho estiver estável e atender às metas operacionais do seu aplicativo.
  4. Se a limitação, os erros de capacidade ou a latência aumentarem além da tolerância do seu aplicativo, pause a rampa e retorne ao último nível de tráfego estável. Reduza a concorrência e coloque na fila ou adie o trabalho de menor prioridade.

Escolha os tamanhos dos passos e os períodos de observação com base na sua carga de trabalho e nas orientações para o modelo ou provedor. Repita essa validação ao alterar modelos, regiões ou capacidade de atendimento.

Lidar com erros de aceleração e capacidade​

Inspecione o status HTTP e o corpo do erro da API que você chama. Os códigos de erro e as mensagens podem ser diferentes entre as APIs unificadas e as nativas do provedor.

Resposta

Significado e ação

429 Too Many Requests

Um limite de taxa configurado ou a limitação de taxa em um serviço downstream impede a solicitação. Alguns provedores também limitam aumentos bruscos no tráfego. Identifique o limite no corpo da mensagem de erro, reduza a taxa de solicitações e aumente o tráfego gradualmente. Se o erro exigir uma alteração de cota ou faturamento, resolva essa condição antes de tentar novamente.

503 Service Unavailable

O serviço ou modelo não consegue atender à solicitação temporariamente. Isso pode acontecer durante um aumento de tráfego, inclusive abaixo dos limites de taxa configurados. Tente novamente dentro de um orçamento limitado e pause a rampa se os erros persistirem.

Outros erros de sobrecarga do provedor

Algumas APIs de provedores usam outras respostas, como 529, para sobrecarga temporária. Siga as orientações de erro para o provedor e a API que você usa.

Resposta

Significado e ação

429 Too Many Requests

Um limite de taxa configurado ou a limitação de taxa em um serviço downstream impede a solicitação. Alguns provedores também limitam aumentos bruscos no tráfego. Identifique o limite no corpo da mensagem de erro, reduza a taxa de solicitações e aumente o tráfego gradualmente. Se o erro exigir uma alteração de cota ou faturamento, resolva essa condição antes de tentar novamente.

503 Service Unavailable

O serviço ou modelo não consegue atender à solicitação temporariamente. Isso pode acontecer durante um aumento de tráfego, inclusive abaixo dos limites de taxa configurados. Tente novamente dentro de um orçamento limitado e pause a rampa se os erros persistirem.

Outros erros de sobrecarga do provedor

Algumas APIs de provedores usam outras respostas, como 529, para sobrecarga temporária. Siga as orientações de erro para o provedor e a API que você usa.

Apenas um erro de capacidade não estabelece que o autoscale está em andamento ou indica quando a capacidade ficará disponível.

Configurar novas tentativas​

  • Respeite o cabeçalho Retry-After quando a resposta o incluir. Caso contrário, tente novamente em caso de limitação temporária de taxa ou erros de capacidade, usando backoff exponencial e jitter aleatório.
  • Limite o total de tentativas e o tempo decorrido para ajustar o orçamento de latência do seu aplicativo. Se os erros persistirem, reduza o tráfego em vez de adicionar mais tentativas.
  • Verifique o comportamento de retentativa do SDK antes de adicionar retentativas de aplicativo. Account as retentativas nas camadas para que elas não multipliquem a carga.
  • Manipule erros depois que uma resposta de transmissão começa no consumidor de transmissão. Repetir uma solicitação após receber a saída pode duplicar a saída ou o trabalho.

Para erros persistentes, entre em contato com a equipe da sua account Databricks com IDs de solicitação, timestamps, nomes de modelos e provedores, taxas de tokens observadas, simultaneidade e cronograma de aumento de tráfego. Para provedores externos conectados, verifique também o status do serviço e os limites da account do provedor.

Inferência de lotes​

Para grandes cargas de trabalho offline com modelos suportados, use AI Functions, que gerenciam a paralelização, novas tentativas e o escalonamento. Siga as orientações de inferência em lote deles em vez de aplicar um loop de repetição separado para cada linha.