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á.
Crie uma imagem de contêiner Docker personalizada SageMaker e use-a para treinamento de modelos em AWS Step Functions
Criado por Julia Bluszcz (AWS), Neha Sharma (), Aubrey Oosthuizen (AWS), Mohan Gowda Purushothama () e Mateusz Zaremba () AWS AWS AWS
Ambiente: produção | Tecnologias: aprendizado de máquina e IA; DevOps | AWSserviços: AmazonECR; Amazon SageMaker; AWS Step Functions |
Resumo
Esse padrão mostra como criar uma imagem de contêiner Docker para a Amazon SageMaker e usá-la para um modelo de treinamento no AWSStep Functions. Ao empacotar algoritmos personalizados em um contêiner, você pode executar praticamente qualquer código no SageMaker ambiente, independentemente da linguagem de programação, estrutura ou dependências.
No SageMaker notebook de exemplo fornecido, a imagem personalizada do contêiner Docker é armazenada no Amazon Elastic Container Registry (AmazonECR). Em seguida, o Step Functions usa o contêiner armazenado na Amazon ECR para executar um script de processamento do Python para. SageMaker Em seguida, o contêiner exporta o modelo para o Amazon Simple Storage Service (Amazon S3).
Pré-requisitos e limitações
Pré-requisitos
Uma AWS conta ativa
Uma função de AWS Identity and Access Management (IAM) para SageMaker com permissões do Amazon S3
Familiaridade com o Python
Familiaridade com o Amazon Python SageMaker SDK
Familiaridade com a interface de linha de AWS comando () AWS CLI
Familiaridade com AWS SDK for Python (Boto3)
Familiaridade com a Amazon ECR
Familiaridade com o Docker
Versões do produto
AWSStep Functions Data Science SDK versão 2.3.0
Amazon SageMaker Python versão 2.78.0 SDK
Arquitetura
O diagrama a seguir mostra um exemplo de fluxo de trabalho para criar uma imagem de contêiner do Docker e usá-la para um modelo de treinamento no Step Functions: SageMaker
O diagrama mostra o seguinte fluxo de trabalho:
Um cientista ou DevOps engenheiro de dados usa um SageMaker notebook da Amazon para criar uma imagem personalizada de contêiner Docker.
Um cientista ou DevOps engenheiro de dados armazena a imagem do contêiner Docker em um repositório ECR privado da Amazon que está em um registro privado.
Um cientista ou DevOps engenheiro de dados usa o contêiner Docker para executar uma tarefa de processamento do SageMaker Python em um fluxo de trabalho do Step Functions.
Automação e escala
O SageMaker notebook de exemplo nesse padrão usa um tipo de instância de ml.m5.xlarge
notebook. É possível alterar o tipo de instância de acordo com seu caso de uso. Para obter mais informações sobre os tipos de instância de SageMaker notebook, consulte Amazon SageMaker Pricing
Ferramentas
O Amazon Elastic Container Registry (AmazonECR) é um serviço gerenciado de registro de imagens de contêineres que é seguro, escalável e confiável.
SageMakerA Amazon é um serviço gerenciado de aprendizado de máquina (ML) que ajuda você a criar e treinar modelos de ML e depois implantá-los em um ambiente hospedado pronto para produção.
O Amazon SageMaker Python SDK
é uma biblioteca de código aberto para treinamento e implantação de modelos de aprendizado de máquina em. SageMaker AWSO Step Functions é um serviço de orquestração sem servidor que ajuda você a combinar funções AWS Lambda e outros AWS serviços para criar aplicativos essenciais para os negócios.
AWSStep Functions Data Science Python SDK
é uma biblioteca de código aberto que ajuda você a criar fluxos de trabalho do Step Functions que processam e publicam modelos de aprendizado de máquina.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configure a Amazon ECR e crie um novo registro privado. | Se você ainda não o fez, configure a Amazon ECR seguindo as instruções em Configuração com a Amazon ECR no Guia do ECR usuário da Amazon. Cada AWS conta é fornecida com um ECR registro privado padrão da Amazon. | DevOps engenheiro |
Crie um repositório ECR privado da Amazon. | Siga as instruções em Criação de um repositório privado no Guia do ECR usuário da Amazon. Observação: o repositório que você cria é onde você armazenará suas imagens personalizadas de contêiner do Docker. | DevOps engenheiro |
Crie um Dockerfile que inclua as especificações necessárias para executar seu trabalho de SageMaker processamento. | Crie um Dockerfile que inclua as especificações necessárias para executar seu trabalho de SageMaker processamento configurando um Dockerfile. Para obter instruções, consulte Adaptar seu próprio contêiner de treinamento no Amazon SageMaker Developer Guide. Para obter mais informações sobre Dockerfiles, consulte a Referência do Dockerfile Exemplo de células de código do caderno Jupyter para criar um Dockerfile Célula 1
Célula 2
| DevOps engenheiro |
Crie sua imagem de contêiner Docker e envie-a para a AmazonECR. |
Para obter mais informações, consulte Criando e registrando o contêiner Exemplo de células de código do caderno Jupyter para criar e registrar uma imagem do Docker Importante: antes de executar as células a seguir, verifique se você criou um Dockerfile e o armazenou no diretório chamado Célula 1
Célula 2
Célula 3
Célula 4
Nota: você deve autenticar seu cliente Docker em seu registro privado para poder usar os comandos | DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um script Python que inclua sua lógica personalizada de processamento e treinamento de modelos. | Escreva uma lógica de processamento personalizada para ser executada em seu script de processamento de dados. Em seguida, salve-o como um script Python chamado Para obter mais informações, consulte Traga seu próprio modelo com o Modo de SageMaker script ativado Exemplo de script Python que inclui processamento personalizado e lógica de treinamento de modelos
| Cientista de dados |
Crie um fluxo de trabalho do Step Functions que inclua sua tarefa de SageMaker processamento como uma das etapas. | Instale e importe o AWSStep Functions Data Science SDK Importante: certifique-se de ter criado uma função de IAM execução para Step Functions Exemplo de configuração de ambiente e script de treinamento personalizado para upload para o Amazon S3
Exemplo SageMaker de definição de etapa de processamento que usa uma ECR imagem personalizada da Amazon e um script Python Nota: certifique-se de usar o parâmetro
Exemplo de fluxo de trabalho do Step Functions que executa uma tarefa SageMaker de processamento Nota: Esse exemplo de fluxo de trabalho inclui somente a etapa do trabalho de SageMaker processamento, não um fluxo de trabalho completo do Step Functions. Para ver um exemplo completo de fluxo de trabalho, consulte Exemplos de cadernos SageMaker na
| Cientista de dados |
Recursos relacionados
Processar dados (Amazon SageMaker Developer Guide)
Adaptando seu próprio contêiner de treinamento (Amazon SageMaker Developer Guide)