Com o Amazon SageMaker, você pode começar a obter predições ou inferências dos modelos treinados de machine learning. O SageMaker oferece uma ampla seleção de infraestrutura de machine learning e opções de implantação de modelos para ajudar a atender a todas as suas necessidades de inferência de ML. Com a inferência do SageMaker, você pode escalar a implantação do modelo, gerenciar os modelos em produção de forma mais eficaz e reduzir a carga operacional. O SageMaker fornece várias opções de inferência, como endpoints em tempo real para obter inferência de baixa latência, endpoints sem servidor para infraestrutura totalmente gerenciada e ajuste de escala automático e endpoints assíncronos para lotes de solicitações. Ao aproveitar a opção de inferência apropriada para o caso de uso, você pode garantir a eficiência e modelar a implantação e a inferência.
Escolha de um atributo
Existem vários casos de uso para implantar modelos de ML com o SageMaker. Esta seção descreve tais casos de uso, bem como o atributo do SageMaker que recomendamos para cada um deles.
Casos de uso
Veja a seguir os casos de uso principais para a implantação de modelos de ML com o SageMaker.
-
Caso de uso 1: implantar um modelo de machine learning em um ambiente com pouco código ou sem código. Para iniciantes ou novatos no SageMaker, você pode implantar modelos pré-treinados usando o Amazon SageMaker JumpStart por meio da interface do Amazon SageMaker Studio, sem precisar de configurações complexas.
-
Caso de uso 2: usar o código para implantar modelos de machine learning com mais flexibilidade e controle. Profissionais experientes de ML podem implantar seus próprios modelos com configurações personalizadas para suas aplicações usando a classe
ModelBuilder
no SDK do SageMaker Python, que fornece um controle refinado sobre várias configurações, como tipos de instância, isolamento de rede e alocação de recursos. -
Caso de uso 3: implantar modelos de machine learning em grande escala. Para usuários avançados e organizações que desejam gerenciar modelos em grande escala na produção, use o AWS SDK for Python (Boto3) e o AWS CloudFormation com as ferramentas de Infraestrutura como Código (IaC) e CI/CD desejadas para fornecer recursos e automatizar o gerenciamento deles.
Recursos recomendados
A tabela a seguir descreve as principais considerações e compensações dos atributos do SageMaker correspondentes a cada caso de uso.
Caso de uso 1 | Caso de uso 2 | Caso de uso 3 | |
---|---|---|---|
Recurso do SageMaker | Use o JumpStart no Studio para acelerar a implantação do modelo básico. | Implante modelos usando o ModelBuilder do SageMaker Python SDK. | Implante e gerencie modelos em grande escala com o AWS CloudFormation. |
Descrição | Use a interface do usuário do Studio para implantar modelos pré-treinados de um catálogo em endpoints de inferência pré-configurados. Essa opção é ideal para cientistas de dados civis ou para qualquer pessoa que queira implantar um modelo sem definir configurações complexas. | Use a classe ModelBuilder do Amazon SageMaker Python SDK para implantar um modelo próprio e definir as configurações de implantação. Essa opção é ideal para cientistas de dados experientes ou para qualquer pessoa que tenha seu próprio modelo para implantar e precise de um controle refinado. |
Use AWS CloudFormation e Infraestrutura como Código (IaC) para controle programático e automação para implantar e gerenciar modelos do SageMaker. Essa opção é ideal para usuários avançados que precisam de implantações consistentes e reproduzíveis. |
Otimizado para | Implantações rápidas e simplificadas de modelos de código aberto mais conhecidos | Implantação dos modelos próprios | Gerenciamento contínuo de modelos em produção |
Considerações | Falta de personalização das configurações do contêiner e das necessidades específicas da aplicação | Sem interface de usuário, requer que você se a vontade para desenvolver e manter o código Python | Requer o gerenciamento de infraestrutura e recursos organizacionais, além de exigir familiaridade com o AWS SDK for Python (Boto3) ou os modelos do AWS CloudFormation. |
Ambiente recomendado | Um domínio do SageMaker | Um ambiente de desenvolvimento do Python configurado com as credenciais AWS e o SageMaker Python SDK instalado ou um SageMaker IDE, como o SageMaker JupyterLab | A AWS CLI, um ambiente de desenvolvimento local, e ferramentas de infraestrutura como código (IaC) e CI/CD |
Opções adicionais
O SageMaker fornece opções diferentes para os casos de uso de inferência, oferecendo a escolha da amplitude técnica e da profundidade das implantações:
-
Implantação de um modelo em um endpoint. Ao implantar o modelo, considere as seguintes opções:
Inferência em tempo real. A inferência em tempo real é ideal para workloads de inferência com requisitos interativos e de baixa latência.
Implantar modelos com a Inferência Sem Servidor do Amazon SageMaker. Use a Inferência Sem Servidor para implantar modelos sem configurar ou gerenciar nenhuma infraestrutura subjacente. Essa opção é ideal para workloads que têm períodos de inatividade entre picos de tráfego e podem tolerar inicializações a frio.
Inferência assíncrona. enfileira as solicitações recebidas e as processa de forma assíncrona. Essa opção é ideal para solicitações com tamanhos grandes de carga útil (até 1 GB), tempos de processamento longos (até uma hora de inferência assíncrona) e requisitos de latência quase em tempo real.
-
Otimização de custo. Para otimizar os custos de inferência, considere as seguintes opções:
-
Otimização do desempenho do modelo com o SageMaker Neo. Use o SageMaker Neo para otimizar e executar os modelos de machine learning com melhor desempenho e eficiência, ajudando a minimizar os custos de computação ao otimizar automaticamente os modelos para execução em ambientes como chips AWS Inferentia.
-
Ajuste de escala automático dos modelos do Amazon SageMaker. Use o ajuste de escala automático para ajustar dinamicamente os recursos computacionais dos endpoints com base nos padrões de tráfego de entrada, o que ajuda a otimizar os custos ao pagar apenas pelos recursos que você está usando em um momento específico.
-