Melhores práticas para veiculação de modelo de alto QPS em databricks


Os clientes esperam respostas instantâneas em cada interação, seja uma recomendação renderizada em milissegundos, uma cobrança fraudulenta bloqueada antes de ser liberada ou um resultado de pesquisa que pareça imediato para o usuário. Em escala, a entrega dessas experiências depende de sistemas de atendimento de modelos que permaneçam rápidos, estáveis ​​e previsíveis mesmo sob carga sustentada e desigual.

À medida que o tráfego cresce para dezenas ou centenas de milhares de solicitações por segundo, muitas equipes enfrentam o mesmo conjunto de desafios. A latência torna-se inconsistente, os custos de infraestrutura aumentam e os sistemas exigem ajustes constantes para lidar com picos e quedas na demanda. As falhas também se tornam mais difíceis de diagnosticar à medida que mais componentes são unidos, afastando as equipes da melhoria dos modelos e concentrando-se em manter os sistemas de produção em funcionamento.

Esta postagem explica como Exibição de modelo em databricks oferece suporte a cargas de trabalho em tempo actual com alto QPS e descreve práticas recomendadas concretas que você pode aplicar para obter baixa latência, alto rendimento e desempenho previsível na produção.

Serviço de modelo do Databricks: simples e escalável para cargas de trabalho de alto QPS

O Databricks Mannequin Serving fornece uma infraestrutura de serviço totalmente gerenciada e escalonável diretamente em seu databricks lakehouse. Basta pegar um modelo existente em seu registro de modelo, implantá-lo e obter um endpoint REST em infraestrutura gerenciada que seja altamente escalável e otimizado para alto tráfego de QPS.

O Databricks Mannequin Serving é otimizado para cargas de trabalho de alto QPS de missão crítica:

  • Mecanismo adaptativo em tempo actual – Um servidor modelo auto-otimizável que se adapta à carga de trabalho de cada modelo, gerando maior rendimento e utilização de recursos do mesmo {hardware}.
  • Arquitetura totalmente escalável horizontalmente – Nosso servidor de inferência, camada de autenticação, proxy e limitador de taxa são todos projetados para escalar de forma independente, permitindo que o sistema sustente volumes de solicitações muito altos.
  • Dimensionamento elástico rápido – Os servidores de inferência podem ser ampliados ou reduzidos, adaptando-se a picos ou quedas repentinas de tráfego sem provisionamento excessivo.
  • Integração nativa do Characteristic Retailer: O Databricks Characteristic Serving integra-se perfeitamente com o serviço de modelo, permitindo-lhe implementar funcionalidades e modelos em conjunto como uma aplicação completa.
  • Nativo de Lakehouse: Os clientes podem centralizar recursos, treinamento, MLOps by way of MLFlow, atendimento e monitoramento em tempo actual de seus sistemas de ML de produção em uma pilha unificada, levando à redução da complexidade das operações e implantações mais rápidas.

O Databricks Mannequin Serving capacita nossa equipe a implantar modelos de aprendizado de máquina com a confiabilidade e a escala necessárias para aplicativos em tempo actual. Ele foi projetado para lidar com cargas de trabalho de alto QPS e, ao mesmo tempo, maximizar a utilização do {hardware}. Além disso, o Databricks fornece uma solução SOTA Characteristic Retailer com pesquisas tremendous rápidas necessárias para essas cargas de trabalho. Com esses recursos, nossos engenheiros de ML podem se concentrar no que importa: refinar o desempenho do modelo e aprimorar a experiência do usuário. — Bojan Babic, engenheiro de pesquisa, Você.com

Melhores práticas para obter alto desempenho de QPS na veiculação de modelos

Com essa base implementada, a próxima etapa é otimizar seus endpoints, modelos e aplicativos cliente para alcançar consistentemente alto rendimento e baixa latência, especialmente à medida que o tráfego aumenta. As práticas recomendadas a seguir oferecem suporte a implantações de clientes reais, executando milhões a bilhões de inferências todos os dias.

Por favor veja nosso guia de melhores práticas para mais detalhes.

Prática recomendada 1: menor latência usando endpoints otimizados para rota

Um primeiro passo importante para garantir que a camada de rede seja otimizada para alto rendimento/QPS e baixa latência. O Mannequin Serving faz isso por você por meio endpoints otimizados para rota. Quando você habilita a otimização de rota em um ponto de extremidade, o Databricks Mannequin Serving otimiza a rede e o roteamento para solicitações de inferência, resultando em uma comunicação mais rápida e direta entre seu cliente e o modelo. Isso diminui significativamente o tempo que uma solicitação leva para chegar ao modelo e é especialmente útil para aplicativos de baixa latência, como sistemas de recomendação, pesquisa e detecção de fraudes.

Melhores práticas para veiculação de modelo de alto QPS em databricks
A otimização de rota pode ser configurada diretamente na UI do Serving

Prática recomendada 2: otimize o modelo e torne os endpoints eficientes

Em cenários de alto rendimento, reduzir a complexidade do modelo, descarregar o processamento do endpoint de serviço e escolher os alvos de simultaneidade certos ajuda seu endpoint a escalar para grandes volumes de solicitação com a quantidade certa de computação necessária. Dessa forma, seus endpoints são econômicos, mas ainda podem ser dimensionados para atingir as metas de desempenho.

  • Tamanho e complexidade do modelo: Modelos menores e menos complexos geralmente levam a tempos de inferência mais rápidos e QPS mais elevados. Considere técnicas como quantização ou poda de modelo se seu modelo for grande.
  • Pré-processamento e pós-processamento: Descarregue etapas complexas de pré-processamento e pós-processamento do endpoint de serviço sempre que possível. Isso garante que o endpoint de atendimento do modelo execute apenas a etapa essential de inferência.
  • Dimensionamento: Configure seus limites de simultaneidade provisionados com base nos requisitos de QPS e latência esperados. Isso garante que o endpoint seja suficiente para lidar com a carga da linha de base e que o máximo permita a demanda de pico.
Limites de QPS
Configure uma simultaneidade mínima e máxima com base em nossos limites de QPS desejados

Com o Databricks Mannequin Serving, podemos lidar com cargas de trabalho de alto QPS, como personalização e recomendações em tempo actual. Dá às nossas marcas a escala e a velocidade necessárias para oferecer experiências de conteúdo personalizadas aos nossos milhões de leitores. — Oscar Celma, vice-presidente sênior de ciência de dados e análise de produtos da Conde Nast

Prática recomendada 3: otimizar o código do lado do cliente

A otimização do código do lado do cliente garante que as solicitações sejam processadas rapidamente e que suas instâncias de computação de endpoint sejam totalmente utilizadas, resultando em melhor rendimento de QPS, economia de custos e menor latência.

  • Pool de conexões: Use o pool de conexões no lado do cliente para reduzir a sobrecarga de estabelecimento de novas conexões para cada solicitação. O Databricks SDK utiliza sempre as melhores práticas de ligação, no entanto, se precisar de utilizar o seu próprio cliente, esteja atento à estratégia de gestão de ligação.
  • Tamanho da carga útil: Mantenha as cargas de solicitação e resposta tão pequenas quanto possível para minimizar o tempo de transferência de rede.
  • Lote do lado do cliente: Se o seu aplicativo puder enviar várias solicitações em uma única chamada, habilite o lote no lado do cliente. Isso pode reduzir significativamente a sobrecarga por previsão.

Solicitações em lote juntas ao chamar pontos de extremidade de serviço de modelo do Databricks

Comece hoje

  • Experimente o serviço de modelo do Databricks! Comece a implantar modelos de ML como uma API REST.
  • Mergulhe mais fundo: Por favor, veja os Databricks documentação para exibição de modelo personalizado.
  • Guia de alto QPS: Por favor, confira o guia de melhores práticas para exibição de QPS alto no serviço de modelo do Databricks no Databricks.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *