Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Amazon Web Services

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Amazon Web Services

Amazon Sage Maker simplifica a implantação de modelos de aprendizado de máquina (ML) para inferência em tempo real e oferece uma ampla seleção de instâncias de ML abrangendo CPUs e aceleradores, como Inferência da AWS. Como um serviço totalmente gerenciado, você pode dimensionar suas implantações de modelos, minimizar custos de inferência e gerenciar seus modelos de forma mais eficaz na produção com carga operacional reduzida. Um endpoint de inferência em tempo real do SageMaker consiste em um endpoint HTTPs e instâncias de ML que são implantadas em várias zonas de disponibilidade para alta disponibilidade. SageMaker escalonamento automático de aplicativos pode ajustar dinamicamente o número de instâncias de ML provisionadas para um modelo em resposta a mudanças na carga de trabalho. O endpoint distribui uniformemente as solicitações recebidas para instâncias de ML usando um algoritmo round-robin.

Quando os modelos de ML implantados em instâncias recebem chamadas de API de um grande número de clientes, uma distribuição aleatória de solicitações pode funcionar muito bem quando não há muita variabilidade em suas solicitações e respostas. Mas em sistemas com cargas de trabalho generativas de IA, as solicitações e respostas podem ser extremamente variáveis. Nesses casos, muitas vezes é desejável fazer o balanceamento de carga considerando a capacidade e a utilização da instância, em vez do balanceamento de carga aleatório.

Nesta postagem, discutimos a estratégia de roteamento de solicitações menos pendentes (LOR) do SageMaker e como ela pode minimizar a latência para certos tipos de cargas de trabalho de inferência em tempo real, levando em consideração a capacidade e a utilização de instâncias de ML. Falamos sobre seus benefícios em relação ao mecanismo de roteamento padrão e como você pode habilitar o LOR para implantações de seu modelo. Finalmente, apresentamos uma análise comparativa das melhorias de latência com LOR em relação à estratégia de roteamento padrão de roteamento aleatório.

Estratégia SageMaker LOR

Por padrão, os endpoints do SageMaker têm uma estratégia de roteamento aleatório. O SageMaker agora oferece suporte a uma estratégia LOR, que permite ao SageMaker rotear solicitações de maneira ideal para a instância mais adequada para atender a essa solicitação. O SageMaker torna isso possível monitorando a carga das instâncias por trás do seu endpoint e os modelos ou componentes de inferência implantados em cada instância.

O diagrama interativo a seguir mostra a política de roteamento padrão em que as solicitações que chegam aos endpoints do modelo são encaminhadas de maneira aleatória para as instâncias de ML.

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

O diagrama interativo a seguir mostra a estratégia de roteamento em que o SageMaker encaminhará a solicitação para a instância que tiver o menor número de solicitações pendentes.

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Em geral, o roteamento LOR funciona bem para modelos fundamentais ou modelos generativos de IA quando seu modelo responde em centenas de milissegundos a minutos. Se a resposta do seu modelo tiver latência menor (até centenas de milissegundos), você poderá se beneficiar mais com o roteamento aleatório. Independentemente disso, recomendamos que você teste e identifique o melhor algoritmo de roteamento para suas cargas de trabalho.

Como definir estratégias de roteamento SageMaker

SageMaker agora permite que você defina o RoutingStrategy parâmetro ao criar o EndpointConfiguration para terminais. O diferente RoutingStrategy os valores suportados pelo SageMaker são:

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

Veja a seguir um exemplo de implantação de um modelo em um endpoint de inferência que tem LOR habilitado:

  1. Crie a configuração do endpoint definindo RoutingStrategy as LEAST_OUTSTANDING_REQUESTS:
    endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { "VariantName": "variant1", "ModelName": model_name, "InstanceType": "instance_type", "InitialInstanceCount": initial_instance_count, ….. "RoutingConfig": { 'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'} }, ],
    )

  2. Crie o endpoint usando a configuração do endpoint (sem alteração):
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

Resultados de desempenho

Executamos benchmarking de desempenho para medir a latência de inferência ponta a ponta e a taxa de transferência do códigogen2-7B modelo hospedado em instâncias ml.g5.24xl com roteamento padrão e endpoints de roteamento inteligente. O modelo CodeGen2 pertence à família de modelos de linguagem autorregressivos e gera código executável quando solicitado em inglês.

Em nossa análise, aumentamos o número de instâncias ml.g5.24xl atrás de cada endpoint para cada execução de teste à medida que o número de usuários simultâneos aumentava, conforme mostrado na tabela a seguir.

Test Número de usuários simultâneos Número de Instâncias
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

Medimos a latência P99 ponta a ponta para ambos os endpoints e observamos uma melhoria de 4–33% na latência quando o número de instâncias aumentou de 5 para 20, conforme mostrado no gráfico a seguir.

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Da mesma forma, observamos uma melhoria de 15 a 16% na taxa de transferência por minuto por instância quando o número de instâncias aumentou de 5 para 20.

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Isso ilustra que o roteamento inteligente é capaz de melhorar a distribuição do tráfego entre os terminais, levando a melhorias na latência ponta a ponta e no rendimento geral.

Conclusão

Neste post, explicamos as estratégias de roteamento do SageMaker e a nova opção para habilitar o roteamento LOR. Explicamos como habilitar o LOR e como ele pode beneficiar as implantações do seu modelo. Nossos testes de desempenho mostraram melhorias na latência e no rendimento durante a inferência em tempo real. Para saber mais sobre os recursos de roteamento do SageMaker, consulte documentação. Incentivamos você a avaliar suas cargas de trabalho de inferência e determinar se você está configurado de maneira ideal com a estratégia de roteamento.


Sobre os autores

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.James Park é arquiteto de soluções na Amazon Web Services. Ele trabalha com a Amazon.com para projetar, construir e implantar soluções tecnológicas na AWS e tem interesse particular em IA e aprendizado de máquina. Nas horas vagas ele gosta de buscar novas culturas, novas experiências e de se manter atualizado com as últimas tendências tecnológicas. Você pode encontrá-lo em LinkedIn.

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Venugopal Pai é arquiteto de soluções na AWS. Ele mora em Bengaluru, na Índia, e ajuda clientes nativos digitais a dimensionar e otimizar seus aplicativos na AWS.

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.David Nigenda é engenheiro sênior de desenvolvimento de software na equipe do Amazon SageMaker e atualmente trabalha na melhoria dos fluxos de trabalho de machine learning de produção, bem como no lançamento de novos recursos de inferência. Nas horas vagas, ele tenta acompanhar os filhos.

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Deepti Ragha é engenheiro de desenvolvimento de software na equipe do Amazon SageMaker. Seu trabalho atual se concentra na criação de recursos para hospedar modelos de aprendizado de máquina com eficiência. Em seu tempo livre, ela gosta de viajar, fazer caminhadas e cultivar plantas.

Alan TanAlan Tan é Gerente de Produto Sênior da SageMaker, liderando esforços na inferência de grandes modelos. Ele é apaixonado por aplicar o aprendizado de máquina à área de análise. Fora do trabalho, ele gosta de atividades ao ar livre.

Minimize a latência de inferência em tempo real usando estratégias de roteamento do Amazon SageMaker | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Dhawal Patel é Arquiteto Principal de Machine Learning na AWS. Ele trabalhou com organizações que vão desde grandes empresas até startups de médio porte em problemas relacionados à computação distribuída e Inteligência Artificial. Ele se concentra em aprendizado profundo, incluindo domínios de PNL e Visão Computacional. Ele ajuda os clientes a obter inferência de modelo de alto desempenho no SageMaker.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS