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 no AWS Step Functions
Criado por Julia Bluszcz (AWS), Neha Sharma (AWS), Aubrey Oosthuizen (AWS), Mohan Gowda Purushothama (AWS) e Mateusz Zaremba (AWS)
Ambiente: produção | Tecnologias: aprendizado de máquina e IA; DevOps | Serviços da AWS: Amazon ECR; 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 AWS Step 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 (Amazon ECR). Em seguida, o Step Functions usa o contêiner armazenado no 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 conta AWS ativa
Uma função do AWS Identity and Access Management (IAM) para SageMaker com permissões do Amazon S3
Familiaridade com o Python
Familiaridade com o Amazon SageMaker Python SDK
Familiaridade com a AWS Command Line Interface (AWS CLI)
Familiaridade com o AWS SDK para Python (Boto3)
Familiaridade com o Amazon ECR
Familiaridade com o Docker
Versões do produto
SDK de ciência de dados do AWS Step Functions versão 2.3.0
SDK do Amazon SageMaker Python versão 2.78.0
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
![Fluxo de trabalho para criar uma imagem de contêiner Docker SageMaker e usá-la para um modelo de treinamento em Step Functions](images/pattern-img/7857d57f-3077-4b06-8971-fb5846387693/images/37755e38-0bc4-4dd0-90c7-135d95b00053.png)
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 privado do Amazon ECR 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 (Amazon ECR) é um serviço gerenciado de registro de imagens de contêineres 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 treinar e implantar modelos de aprendizado de máquina em. SageMaker O AWS Step Functions é um serviço de orquestração com tecnologia sem servidor que permite combinar funções do Lambda e outros serviços da para criar aplicações essenciais aos negócios.
O AWS Step 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 o Amazon ECR e crie um novo registro privado. | Se você ainda não o fez, configure o Amazon ECR seguindo as instruções em Configuração com o Amazon ECR no Guia do usuário do Amazon ECR. Cada conta da AWS é fornecida com um registro privado padrão do Amazon ECR. | DevOps engenheiro |
Crie um repositório privado do Amazon ECR. | Siga as instruções em Criação de um repositório privado no Guia do usuário do Amazon ECR. 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 a imagem do contêiner do Docker e envie-a para o Amazon ECR. |
Para obter mais informações, consulte Criação e registro do 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 AWS Step Functions Data Science SDK Importante: certifique-se de ter criado uma função de execução do IAM 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 imagem personalizada do Amazon ECR 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 documentação
| Cientista de dados |
Recursos relacionados
Processar dados (Amazon SageMaker Developer Guide)
Adaptando seu próprio contêiner de treinamento (Amazon SageMaker Developer Guide)