Ir para o conteúdo

Como soluciono problemas de endpoint multimodelo do SageMaker IA?

3 minuto de leitura
0

Quero solucionar problemas que ocorrem quando eu implanto um endpoint multimodelo de IA do Amazon SageMaker IA.

Resolução

Problemas de inicializações a frio ou de latência que fazem com que um endpoint demore mais para fazer previsões podem afetar o desempenho do endpoint multimodelo. As exceções internas do servidor também podem afetar o desempenho.

Problemas de inicializações a frio e de latência

Quando um endpoint multimodelo invoca modelos em rápida sucessão, o SageMaker IA remove os modelos de memória e de disco do endpoint. Uma inicialização a frio acontece quando o modelo é carregado no endpoint de memória da instância na próxima vez que o endpoint invocar o modelo.

Para evitar problemas de inicialização a frio ou de latência, execute as seguintes ações:

  • Se seu modelo tiver validade limitada, use a inferência em tempo real com um único modelo.

  • Caso contrário, selecione um tipo de instância que tenha memória suficiente para armazenar vários modelos na memória, como uma instância r5. Ou implemente o ajuste de escala automático com base no fator MemoryUtilization.
    Exemplo:

    response = client.put_scaling_policy(
        PolicyName='MemoryUtilisation-ScalingPolicy',
        ServiceNamespace='sagemaker',
        ResourceId=resource_id,
        ScalableDimension='sagemaker:variant:DesiredInstanceCount',
        PolicyType='TargetTrackingScaling',
        TargetTrackingScalingPolicyConfiguration={
            'TargetValue': 80.0,
            'CustomizedMetricSpecification':
            {
                'MetricName': 'MemoryUtilization',
                'Namespace': '/aws/sagemaker/Endpoints',
                'Dimensions': [
                    {'Name': 'EndpointName', 'Value': endpoint_name },
                    {'Name': 'VariantName','Value': 'AllTraffic'}
                ],
                'Statistic': 'Average',
                'Unit': 'Percent'
            },
            'ScaleInCooldown': 600,
            'ScaleOutCooldown': 300
        }
    )
  • Antes de implantar a configuração do endpoint, certifique-se de especificar um tamanho VolumeSizeInGB que seja grande o suficiente para conter todos os modelos acessados com frequência.

  • Envie solicitações de teste para o modelo de destino para que alguns modelos permaneçam infinitamente na memória do endpoint.

  • Para otimizar o desempenho de endpoints multimodelo, é uma prática recomendada selecionar artefatos de modelo com eficiência e tempos de latência comparáveis. Para maximizar a eficácia e a confiabilidade gerais do seu sistema, distribua uniformemente o tráfego entre os modelos.

  • Para otimizar o desempenho do endpoint, monitore as principais métricas do Amazon CloudWatch, como ModelCacheHit e ModelLoadingWaitTime. Quando a taxa ModelCacheHit é alta e a taxa ModelLoadingWaitTime é baixa, isso quer dizer que seu endpoint está gerenciando invocações com eficiência.

Exceções internas do servidor

Se um endpoint multimodelo não puder carregar modelos devido à memória insuficiente, você poderá enfrentar uma exceção interna do servidor. Por exemplo, quando você implanta um modelo de 14 GB em uma instância ml.t3.medium com apenas 4 GB de memória de CPU, você recebe um erro. Para evitar erros, selecione instâncias de endpoint com memória suficiente para acomodar vários modelos durante o runtime.

AWS OFICIALAtualizada há um ano