Implante modelos com o Amazon SageMaker Serverless Inference - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implante modelos com o Amazon SageMaker Serverless Inference

O Amazon SageMaker Serverless Inference é uma opção de inferência criada especificamente que permite implantar e escalar modelos de ML sem configurar ou gerenciar nenhuma infraestrutura subjacente. A inferência sem servidor sob demanda é ideal para cargas de trabalho que têm períodos de inatividade entre surtos de tráfego e podem tolerar inicialização a frio. Os endpoints sem servidor iniciam automaticamente os recursos de computação e os escalam para dentro e para baixo, dependendo do tráfego, eliminando a necessidade de escolher tipos de instância ou gerenciar políticas de escalabilidade. Isso elimina o trabalho pesado indiferenciado de selecionar e gerenciar servidores. A inferência sem servidor se integra com AWS Lambda para oferecer alta disponibilidade, tolerância a falhas integrada e escalabilidade automática. Com um pay-per-use modelo, a inferência sem servidor é uma opção econômica se você tiver um padrão de tráfego pouco frequente ou imprevisível. Nos momentos em que não há solicitações, a inferência sem servidor reduz seu endpoint para 0, ajudando você a minimizar seus custos. Para obter mais informações sobre preços para inferência sem servidor sob demanda, consulte Amazon Pricing. SageMaker

Opcionalmente, você também pode usar a simultaneidade provisionada com inferência sem servidor. A inferência sem servidor com simultaneidade provisionada é uma opção econômica quando você tem picos previsíveis no tráfego. A simultaneidade provisionada permite que você implante modelos em endpoints sem servidor com desempenho previsível e alta escalabilidade, mantendo seus endpoints aquecidos. SageMaker garante que, para o número de simultaneidade provisionada que você aloca, os recursos computacionais sejam inicializados e estejam prontos para responder em milissegundos. Para inferência sem servidor com simultaneidade provisionada, você paga pela capacidade computacional usada para processar solicitações de inferência, cobrada por milissegundo, e pela quantidade de dados processados. Você também paga pelo uso da simultaneidade provisionada, com base na memória configurada, na duração provisionada e na quantidade de simultaneidade ativada. Para obter mais informações sobre preços para inferência sem servidor com simultaneidade provisionada, consulte Amazon Pricing. SageMaker

Você pode integrar a inferência sem servidor com seus pipelines MLOps para agilizar seu fluxo de trabalho de ML e usar um endpoint sem servidor para hospedar um modelo registrado no Model Registry.

A inferência sem servidor geralmente está disponível em 21 AWS regiões: Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio), Oeste dos EUA (Norte da Califórnia), Oeste dos EUA (Oregon), África (Cidade do Cabo), Ásia-Pacífico (Hong Kong), Ásia-Pacífico (Mumbai), Ásia-Pacífico (Tóquio), Ásia-Pacífico (Sydney), Canadá (Central), Europa (Frankfurt), Europa (Irlanda), Europa (Londres), Europa (Paris), Europa (Estocolmo), Europa (Milão), Oriente Médio (Bahrein), América do Sul (São Paulo). Para obter mais informações sobre a disponibilidade SageMaker regional da Amazon, consulte a Lista de serviços AWS regionais.

Como funciona

O diagrama a seguir mostra o fluxo de trabalho da inferência sem servidor sob demanda e os benefícios de usar um endpoint sem servidor.

Diagrama mostrando o fluxo de trabalho de inferência sem servidor.

Quando você cria um endpoint sem servidor sob demanda, SageMaker provisiona e gerencia os recursos de computação para você. Em seguida, você pode fazer solicitações de inferência para o endpoint e receber previsões do modelo em resposta. SageMaker aumenta e diminui os recursos de computação conforme necessário para lidar com o tráfego de solicitações, e você paga apenas pelo que usa.

Para a simultaneidade provisionada, a inferência sem servidor também se integra ao aplicativo Auto Scaling, para que você possa gerenciar a simultaneidade provisionada com base em uma métrica alvo ou em um cronograma. Para ter mais informações, consulte Simultaneidade provisionada de escala automática para um endpoint sem servidor.

As seções a seguir fornecem detalhes adicionais sobre a inferência sem servidor e como ela funciona.

Compatibilidade do contêiner

Para seu contêiner de endpoint, você pode escolher um contêiner SageMaker fornecido ou trazer o seu próprio. SageMaker fornece contêineres para seus algoritmos integrados e imagens Docker pré-criadas para algumas das estruturas de aprendizado de máquina mais comuns, como Apache MXNet,, e Chainer. TensorFlow PyTorch Para obter uma lista das SageMaker imagens disponíveis, consulte Imagens disponíveis de contêineres de Deep Learning. Se você estiver trazendo seu próprio contêiner, deverá modificá-lo para funcionar com ele SageMaker. Para obter mais informações sobre como trazer seu próprio contêiner, consulte Adapte seu próprio contêiner de inferência para a Amazon SageMaker.

O tamanho máximo da imagem do contêiner que você pode usar é 10 GB. Para endpoints sem servidor, recomendamos criar somente um trabalhador no contêiner e carregar somente uma cópia do modelo. Observe que isso é diferente dos endpoints em tempo real, em que alguns SageMaker contêineres podem criar um trabalhador para cada vCPU para processar solicitações de inferência e carregar o modelo em cada trabalhador.

Se você já tiver um contêiner para um endpoint em tempo real, poderá usar o mesmo contêiner para seu endpoint sem servidor, embora alguns recursos estejam excluídos. Para saber mais sobre os recursos de contêiner que não são compatíveis com a inferência sem servidor, consulte Exclusões de recursos. Se você optar por usar o mesmo contêiner, SageMaker guarda (retém) uma cópia da imagem do contêiner até que você exclua todos os endpoints que usam a imagem. SageMaker criptografa a imagem copiada em repouso com uma chave própria SageMaker. AWS KMS

Tamanho da memória

Seu endpoint sem servidor tem um tamanho mínimo de RAM de 1024 MB (1 GB), e o tamanho máximo de RAM que você pode escolher é 6144 MB (6 GB). Os tamanhos de memória que você pode escolher são 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB ou 6144 MB. A inferência sem servidor atribui automaticamente recursos computacionais proporcionais à memória que você seleciona. Se você escolher um tamanho de memória maior, seu contêiner terá acesso a mais vCPUs. Escolha o tamanho da memória do seu endpoint de acordo com o tamanho do modelo. Geralmente, o tamanho da memória deve ser pelo menos tão grande quanto o tamanho do modelo. Talvez seja necessário fazer um benchmark para escolher a seleção de memória certa para seu modelo com base em seus SLAs de latência. Para obter um guia passo a passo do benchmark, consulte Apresentando o Amazon SageMaker Serverless Inference Benchmarking Toolkit. Os incrementos do tamanho da memória têm preços diferentes; consulte a página de SageMaker preços da Amazon para obter mais informações.

Independentemente do tamanho de memória que você escolher, seu endpoint sem servidor tem 5 GB de armazenamento em disco efêmero disponível. Para obter ajuda com problemas de permissões de contêiner ao trabalhar com armazenamento, consulteSolução de problemas.

Invocações simultâneas

A inferência sem servidor sob demanda gerencia políticas e cotas de escalabilidade predefinidas para a capacidade do seu endpoint. Os endpoints sem servidor têm uma cota de quantas invocações simultâneas podem ser processadas ao mesmo tempo. Se o endpoint for invocado antes de concluir o processamento da primeira solicitação, ele processará a segunda solicitação simultaneamente.

A simultaneidade total que você pode compartilhar entre todos os endpoints sem servidor em sua conta depende da sua região:

  • Para as regiões do Leste dos EUA (Ohio), Ásia-Pacífico (Sydney), Ásia-Pacífico (Cingapura), Ásia-Pacífico (Sydney), Ásia-Pacífico (Tóquio), Europa (Frankfurt) e Europa (Irlanda), a simultaneidade total que você pode compartilhar entre todos os endpoints sem servidor por região em sua conta é 1000.

  • Para as regiões Oeste dos EUA (Norte da Califórnia), África (Cidade do Cabo), Ásia-Pacífico (Londres), Europa (Milão), Europa (Paris), Europa (Paris), Europa (Estocolmo), Oriente Médio (Bahrein) e América do Sul (São Paulo), Europa (Paris), Europa (Estocolmo), Oriente Médio (Bahrein) e América do Sul (São Paulo), a simultaneidade total por região em sua conta é 500.

Você pode definir a simultaneidade máxima para um único endpoint até 200, e o número total de endpoints sem servidor que você pode hospedar em uma região é 50. A simultaneidade máxima de um endpoint individual impede que esse endpoint aceite todas as invocações permitidas para sua conta, e qualquer invocação de endpoint além do máximo é limitada.

nota

A simultaneidade provisionada que você atribui a um endpoint sem servidor deve sempre ser menor ou igual à simultaneidade máxima que você atribuiu a esse endpoint.

Para saber como definir a simultaneidade máxima para seu endpoint, consulte. Criar uma configuração de endpoint Para obter mais informações sobre cotas e limites, consulte SageMaker endpoints e cotas da Amazon no. Referência geral da AWS Para solicitar um aumento do limite de serviço, consulte AWS Suporte. Para obter instruções sobre como solicitar um aumento do limite de serviço, consulte Regiões e cotas compatíveis.

Minimização dos arranques de baixa atividade

Se seu endpoint de inferência sem servidor sob demanda não receber tráfego por um tempo e, de repente, receber novas solicitações, pode levar algum tempo para que seu endpoint ative os recursos de computação para processar as solicitações. Isto é chamado de inicialização a frio. Como os endpoints sem servidor provisionam recursos de computação sob demanda, seu endpoint pode passar por inícios a frio. Uma inicialização a frio também pode ocorrer se suas solicitações simultâneas excederem o uso atual da solicitação simultânea. O tempo de inicialização a frio depende do tamanho do modelo, do tempo necessário para fazer o download do modelo e do tempo de inicialização do contêiner.

Para monitorar a duração do seu horário de inicialização a frio, você pode usar a CloudWatch métrica da Amazon OverheadLatency para monitorar seu endpoint sem servidor. Essa métrica rastreia o tempo necessário para lançar novos recursos de computação para seu endpoint. Para saber mais sobre o uso de CloudWatch métricas com endpoints sem servidor, consulte. Monitore um endpoint sem servidor

Você pode minimizar as inicializações a frio usando a simultaneidade provisionada. SageMaker mantém o endpoint aquecido e pronto para responder em milissegundos, para o número de simultaneidade provisionada que você alocou.

Exclusões de recursos

Alguns dos recursos atualmente disponíveis para inferência SageMaker em tempo real não são compatíveis com inferência sem servidor, incluindo GPUs, pacotes de modelos de AWS mercado, registros privados do Docker, endpoints multimodelo, configuração de VPC, isolamento de rede, captura de dados, várias variantes de produção, Model Monitor e pipelines de inferência.

Você não pode converter seu endpoint em tempo real baseado em instância em um endpoint sem servidor. Se você tentar atualizar seu endpoint em tempo real para sem servidor, receberá uma mensagem. ValidationError Você pode converter um endpoint sem servidor em tempo real, mas depois de fazer a atualização, não é possível revertê-lo para o modo sem servidor.

Conceitos básicos

Você pode criar, atualizar, descrever e excluir um endpoint sem servidor usando o SageMaker console, os SDKs, o Amazon SageMaker Python AWS SDK e o. AWS CLI Você pode invocar seu endpoint usando os AWS SDKs, o Amazon SageMaker Python SDK e o. AWS CLI Para endpoints sem servidor com simultaneidade provisionada, você pode usar o Application Auto Scaling para escalar automaticamente a simultaneidade provisionada com base em uma métrica alvo ou em um cronograma. Para obter mais informações sobre como configurar e usar um endpoint sem servidor, leia o guia. Criar, invocar, atualizar e excluir um endpoint sem servidor Para obter mais informações sobre endpoints sem servidor de escalonamento automático com simultaneidade provisionada, consulte. Simultaneidade provisionada de escala automática para um endpoint sem servidor

nota

Atualmente, o Application Auto Scaling for Serverless Inference with Provisioned Concurrency não é suportado no. AWS CloudFormation

Exemplos de cadernos e blogs

Para exemplos de notebooks Jupyter que mostram fluxos de trabalho de endpoints end-to-end sem servidor, consulte os notebooks de exemplo de inferência sem servidor.