Use SageMaker modelos de projeto fornecidos - 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á.

Use SageMaker modelos de projeto fornecidos

SageMaker A Amazon fornece modelos de projeto que criam a infraestrutura necessária para criar uma solução MLOps para integração contínua e implantação contínua (CI/CD) de modelos de ML. Use esses modelos para processar dados, extrair recursos, treinar e testar modelos, registrar os modelos no registro do SageMaker modelo e implantar os modelos para inferência. Você pode personalizar o código inicial e os arquivos de configuração para atender aos seus requisitos.

Importante

A partir de 25 de julho de 2022, exigimos perfis adicionais para usar modelos de projeto. Para obter uma lista completa das funções necessárias e instruções sobre como criá-las, consulte SageMaker Permissões de estúdio necessárias para usar projetos. Se você não tiver as novas funções, receberá a mensagem de erro Não CodePipeline está autorizado a desempenhar AssumeRole na função arn:aws:iam: :xxx:role/service-role/ Role AmazonSage MakerService CatalogProducts CodePipeline ao tentar criar um novo projeto e não conseguir continuar.

SageMaker os modelos de projeto oferecem a seguinte opção de repositórios de código, ferramentas de automação de fluxo de trabalho e estágios de pipeline:

  • Repositório de código: AWS CodeCommit ou repositórios Git de terceiros, como e Bitbucket GitHub

  • Automação do fluxo de trabalho de CI/CD: AWS CodePipeline ou Jenkins

  • Estágios do pipeline: construção e treinamento do modelo, implantação do modelo ou ambos

A discussão a seguir fornece uma visão geral de cada modelo que você pode escolher ao criar seu SageMaker projeto. Você também pode visualizar os modelos disponíveis no Studio (ou Studio Classic) seguindo a Etapa 1: Criar o projeto do passo a passo do projeto.

Para step-by-step obter instruções sobre como criar um projeto real, você pode seguir uma das orientações do projeto:

Modelo de MLOps para criação, treinamento e implantação de modelos

Esse modelo é uma combinação dos dois modelos a seguir, cada um dos quais pode ser usado de forma independente e contém todos os recursos fornecidos nesses modelos.

  • Repositório de códigos: AWS CodeCommit

  • Automação do fluxo de trabalho de CI/CD: AWS CodePipeline

Modelo de MLOps para criação e treinamento de modelos

Use esse modelo quando quiser uma solução MLOps para processar dados, extrair recursos, treinar e testar modelos e registrar os modelos no registro do SageMaker modelo.

Este modelo fornece os seguintes recursos:

  • Um AWS CodeCommit repositório que contém código de amostra que cria um SageMaker pipeline da Amazon em código Python e mostra como criar e atualizar SageMaker o pipeline. Esse repositório também tem um exemplo de notebook Python que você pode abrir e executar no Studio (ou Studio Classic).

  • Um AWS CodePipeline pipeline que tem etapas de origem e construção. A etapa de origem aponta para o CodeCommit repositório. A etapa de construção obtém o código desse repositório, cria e atualiza o SageMaker pipeline, inicia a execução do pipeline e aguarda a conclusão da execução do pipeline.

  • Um bucket do Amazon S3 para armazenar artefatos, inclusive artefatos, CodePipeline e quaisquer CodeBuild artefatos gerados a partir da execução do pipeline. SageMaker

O diagrama a seguir ilustra o fluxo de trabalho e AWS os recursos usados por esse modelo para ajudá-lo a criar e treinar seus modelos.

O fluxo de trabalho do pipeline criado usando o modelo de projeto para criação e treinamento de modelos.
Modelo de MLOps para implantação do modelo

Use esse modelo para automatizar a implantação de modelos no registro de modelos em SageMaker endpoints para inferência em tempo real. SageMaker Esse modelo reconhece as alterações no registro do modelo. Quando uma nova versão do modelo é registrada e aprovada, ela inicia automaticamente uma implantação.

O modelo provisiona um CodeCommit repositório com arquivos de configuração para especificar as etapas de implantação do modelo, AWS CloudFormation modelos para definir endpoints como infraestrutura e código inicial para testar o endpoint.

Este modelo fornece os seguintes recursos:

  • Um AWS CodeCommit repositório que contém código de amostra que implanta modelos em endpoints em ambientes de preparação e produção.

  • Um AWS CodePipeline pipeline que tem origem deploy-to-staging, construção e deploy-to-production etapas. A etapa de origem aponta para o CodeCommit repositório, e a etapa de criação obtém o código desse repositório e gera CloudFormation pilhas para implantação. As deploy-to-production etapas deploy-to-staging e implantam as CloudFormation pilhas em seus respectivos ambientes. Há uma etapa de aprovação manual entre as etapas de criação da preparação e produção, de modo que um engenheiro de MLOps deve aprovar o modelo antes de ser implantado na produção.

    Há também uma etapa de aprovação programática com testes de espaço reservado no código de exemplo no CodeCommit repositório. Você pode adicionar testes adicionais para substituir os testes de espaço reservado.

  • Um bucket do Amazon S3 para armazenar artefatos, inclusive artefatos, CodePipeline e quaisquer CodeBuild artefatos gerados a partir da execução do pipeline. SageMaker

  • Um CloudWatch evento para iniciar o pipeline quando uma versão do pacote modelo é aprovada ou rejeitada.

O diagrama a seguir ilustra o fluxo de trabalho e AWS os recursos usados por esse modelo para ajudá-lo a implantar seus modelos.

O fluxo de trabalho do pipeline criado usando o modelo de projeto para implantação do modelo.

Conforme mencionado anteriormente, consulte Passo a passo do Projeto para ver uma demonstração que usa esse modelo para criar um projeto real.

Modelo MLOps para criação de modelos, treinamento, implantação e Amazon SageMaker Model Monitor

Esse modelo é uma extensão do modelo MLOps para criação, treinamento e implantação de modelos. Ele inclui os componentes de criação, treinamento e implantação do modelo e um modelo adicional do Amazon SageMaker Model Monitor que fornece os seguintes tipos de monitoramento:

  • Repositório de códigos: AWS CodeCommit

  • Automação do fluxo de trabalho de CI/CD: AWS CodePipeline

Modelo MLOps para Amazon SageMaker Model Monitor

Você pode usar esse modelo para uma solução MLOps para implantar um ou mais monitores de qualidade de SageMaker dados, qualidade do modelo, viés do modelo e explicabilidade do modelo da Amazon para monitorar um modelo implantado em um endpoint de inferência. SageMaker

Este modelo fornece os seguintes recursos:

  • Um AWS CodeCommit repositório que contém exemplos de código Python que obtém as linhas de base usadas pelos monitores do Registro de Modelos e SageMaker atualiza os parâmetros do modelo para os ambientes de preparação e produção. Ele também contém um AWS CloudFormation modelo para criar os Amazon SageMaker Model Monitors.

  • Um AWS CodePipeline pipeline que tem etapas de origem, criação e implantação. A etapa de origem aponta para o CodePipeline repositório. A etapa de criação obtém o código desse repositório, obtém a linha de base do Registro do modelo e atualiza os parâmetros do modelo para os ambientes de preparação e produção. As etapas de implantação implantam os monitores configurados nos ambientes de preparação e produção. A etapa de aprovação manual, dentro do DeployStaging estágio, exige que você verifique se o SageMaker ponto final da produção está InService antes de aprovar e passar para o DeployProd estágio.

  • O modelo usa o mesmo bucket S3 criado pelo modelo de MLOps para criação, treinamento e implantação de modelos para armazenar as saídas dos monitores.

  • Duas regras de EventBridge eventos da Amazon iniciam o Amazon SageMaker Model Monitor AWS CodePipeline toda vez que o SageMaker endpoint de teste é atualizado ou uma alteração de código é confirmada no repositório. CodePipeline

Modelo de MLOps para criação de imagens, criação de modelos e implantação de modelos

Este modelo é uma extensão de Modelo de MLOps para criação, treinamento e implantação de modelos. Ele inclui os componentes de criação, treinamento e implantação do modelo e as seguintes opções:

  • Incluir pipeline de criação de imagem de processamento

  • Inclur um pipeline de criação de imagens de treinamento

  • Incluir um pipeline de criação de imagens de inferência

Para cada um dos componentes selecionados durante a criação do projeto, o seguinte é criado ao usar o modelo:

  • Um repositório do Amazon ECR

  • Uma SageMaker imagem

  • Um CodeCommit repositório contendo um Dockerfile que você pode personalizar

  • Um CodePipeline que é iniciado por alterações no CodePipeline repositório

  • Um CodeBuild projeto que cria uma imagem do Docker e a registra no repositório Amazon ECR

  • Uma EventBridge regra que inicia o CodePipeline em um cronograma

Quando o CodePipeline é iniciado, ele cria um novo contêiner Docker e o registra em um repositório Amazon ECR. Quando um novo contêiner é registrado no repositório Amazon ECR, um novo ImageVersion é adicionado à SageMaker imagem. Isso inicia o pipeline de criação do modelo, que por sua vez inicia o pipeline de implantação.

A imagem recém-criada é usada nas partes de criação, treinamento e implantação do modelo do fluxo de trabalho, quando aplicável.

Modelo de MLOps para criação, treinamento e implantação de modelos com repositórios Git de terceiros usando CodePipeline

  • Repositório de código: Git de terceiros. Estabeleça a AWS CodeStar conexão da sua AWS conta com seu GitHub usuário ou organização. Adicione uma tag com a chave do sagemaker e o valor true a essa conexão AWS CodeStar .

  • Automação do fluxo de trabalho de CI/CD: AWS CodePipeline

Este modelo fornece os seguintes recursos:

  • Associações com um ou mais repositórios Git especificados pelo cliente.

  • Um AWS CodePipeline pipeline que tem origem deploy-to-staging, construção e deploy-to-production etapas. A etapa de origem aponta para o repositório Git de terceiros e a etapa de criação obtém o código desse repositório e gera CloudFormation pilhas para implantação. As deploy-to-production etapas deploy-to-staging e implantam as CloudFormation pilhas em seus respectivos ambientes. Há uma etapa de aprovação manual entre as etapas de criação da preparação e produção, de modo que um engenheiro de MLOps deve aprovar o modelo antes de ser implantado na produção.

  • Um AWS CodeBuild projeto para preencher os repositórios Git com as informações do código inicial. Isso requer uma AWS CodeStar conexão da sua AWS conta com a sua conta no host do repositório Git.

  • Um bucket do Amazon S3 para armazenar artefatos, inclusive artefatos, CodePipeline e quaisquer CodeBuild artefatos gerados a partir da execução do pipeline. SageMaker

Conforme mencionado anteriormente, consulte o Passo a passo do projeto usando repositórios Git de terceiros para ver uma demonstração que usa esse modelo para criar um projeto real.

Modelo de MLOps para criação, treinamento e implantação de repositórios Git de terceiros usando o Jenkins

  • Repositório de código: Git de terceiros. Estabeleça a AWS CodeStar conexão da sua AWS conta com seu GitHub usuário ou organização. Adicione uma tag com a chave sagemaker e o valor true a essa conexão AWS CodeStar .

  • Automação do fluxo de trabalho de CI/CD: Jenkins

Este modelo fornece os seguintes recursos:

  • Associações com um ou mais repositórios Git especificados pelo cliente.

  • Código inicial para gerar pipelines Jenkins que têm origem deploy-to-staging, construção e deploy-to-production etapas. A etapa de fonte destina-se ao repositório Git especificado pelo cliente. A etapa de construção obtém o código desse repositório e gera duas CloudFormation pilhas. As etapas de implantação implantam as CloudFormation pilhas em seus respectivos ambientes. Há uma etapa de aprovação entre a etapa de preparação e a etapa de produção.

  • Um AWS CodeBuild projeto para preencher os repositórios Git com as informações do código inicial. Isso requer uma AWS CodeStar conexão da sua AWS conta com a sua conta no host do repositório Git.

  • Um bucket do Amazon S3 para armazenar artefatos do SageMaker projeto e do pipeline. SageMaker

O modelo cria a associação entre seu projeto e os repositórios de controle de origem, mas você precisa realizar etapas manuais adicionais para estabelecer a comunicação entre sua AWS conta e o Jenkins. Para ver as etapas detalhadas, consulte Criar SageMaker projetos da Amazon usando o controle de origem de terceiros e o Jenkins.

As instruções ajudam você a criar a arquitetura mostrada no diagrama a seguir, com GitHub o repositório de controle de origem neste exemplo. Conforme mostrado, você anexará seu repositório Git ao projeto para verificar e gerenciar as versões do código. O Jenkins inicia o pipeline de construção do modelo quando detecta alterações no código de criação do modelo no repositório Git. Você também conectará o projeto ao Jenkins para orquestrar as etapas de implantação do modelo, que começam quando você aprova o modelo registrado no registro do modelo ou quando o Jenkins detecta alterações no código de implantação do modelo.

O fluxo de trabalho do pipeline criado usando o modelo de projeto para criação, treinamento e implantação de modelos com repositórios Git de terceiros usando Jenkins.

Em resumo, as etapas o orientam pelas seguintes tarefas:

  1. Estabeleça a conexão entre suas GitHub contas AWS e as suas.

  2. Criar a conta do Jenkins e importe os plug-ins necessários.

  3. Criar a política de usuários e permissões do IAM do Jenkins.

  4. Defina as AWS credenciais para o usuário do Jenkins IAM no seu servidor Jenkins.

  5. Criar um token de API para comunicação com seu servidor do Jenkins.

  6. Use um CloudFormation modelo para configurar uma EventBridge regra para monitorar o registro de modelos recém-aprovados.

  7. Crie o SageMaker projeto, que alimenta seus GitHub repositórios com código de criação e implantação de modelos.

  8. Criar seu pipeline de criação de modelo do Jenkins com o código inicial de criação do modelo.

  9. Criar seu pipeline de implantação de modelo do Jenkins com o código inicial de implantação do modelo.

Implantação de modelos para o Salesforce

  • Repositório de códigos: AWS CodeCommit

  • Automação do fluxo de trabalho de CI/CD: AWS CodePipeline

Este modelo fornece os seguintes recursos:

  • Um AWS CodeCommit repositório que contém código de amostra que cria um SageMaker pipeline da Amazon em código Python e mostra como criar e atualizar o pipeline. Esse repositório também tem um Notebook Python Jupyter que você pode abrir e executar no Studio (ou Studio Classic).

  • Um AWS CodePipeline pipeline que tem etapas de origem e construção. A etapa de origem aponta para o CodeCommit repositório. A etapa de construção obtém o código do repositório, cria e atualiza o SageMaker pipeline, inicia a execução do pipeline e aguarda a conclusão da execução do pipeline.

  • Um bucket do Amazon S3 para armazenar artefatos, inclusive artefatos, CodePipeline e quaisquer CodeBuild artefatos gerados a partir da execução do pipeline. SageMaker

Talvez seu administrador precise realizar configurações adicionais para permitir o acesso aos dados do Salesforce Data Cloud ao SageMaker Studio para criar modelos de IA/ML. Veja a visão geral da solução na postagem do blog Use a integração Amazon SageMaker e Salesforce Data Cloud para potencializar seus aplicativos Salesforce com IA/ML para obter informações e instruções detalhadas.

O diagrama a seguir ilustra o fluxo de trabalho de alto nível usado por esse modelo para ajudá-lo a criar e treinar os modelos. Depois de configurar uma conexão entre o Salesforce Data Cloud e o Data Wrangler e pré-processar seus dados, use o modelo de projeto Implantação de modelos para o Salesforce para automatizar o treinamento e a implantação do modelo. O modelo fornece código de implantação de modelo personalizável e um exemplo de caderno AWS CodePipeline para treinar seu modelo e registrá-lo no registro do SageMaker modelo. Depois de aprovar o modelo, o endpoint é exposto ao Salesforce como uma API por meio do Gateway da API, e os clientes podem começar a fazer previsões com o modelo implantado de dentro do Salesforce.

nota

Este modelo permite as versões 1.0 e 1.1 da política Transport Layer Security (TLS) para a configuração do Gateway da API. Você pode tornar essa configuração mais segura com nomes de domínio personalizados. Para obter detalhes, consulte Configurar nomes de domínio personalizados para APIs REST.

Um diagrama simplificado das etapas usadas pelo modelo de projeto do Salesforce.

A postagem do blog Use a integração da Amazon SageMaker e do Salesforce Data Cloud para potencializar seus aplicativos Salesforce com IA/ML fornece instruções detalhadas para guiá-lo nas seguintes etapas:

  1. Selecione o modelo de projeto Implantação do modelo para Salesforce e forneça o nome secreto do gerente.

  2. Clone o repositório para usar a amostra personalizável SageMaker fornecida pelo notebook e o código de implantação do modelo.

  3. Pré-processe seus dados com o Data Wrangler.

    1. Crie uma conexão com o Salesforce Data Cloud e importe dados para o Data Wrangler.

    2. Use o Data Wrangler para preparar os dados com alguns exemplos de transformações.

    3. Inicie um trabalho de processamento para processar os dados usando sua configuração do Data Wrangler.

  4. Treine o modelo.

  5. Registre seu modelo no registro de modelos.

  6. Aprove seu modelo no registro de modelos.

  7. Visualize seu endpoint no SageMaker console.

  8. Invoque o URL da API do Salesforce Einstein Studio para registrar e usar as inferências do modelo no Einstein Studio.

O diagrama a seguir mostra com mais detalhes o fluxo de trabalho e AWS os recursos usados pelo modelo de SageMaker projeto com o Salesforce Data Cloud Integration.

Um diagrama das etapas e recursos usados pelo modelo de projeto do Salesforce.

Atualize SageMaker projetos para usar repositórios Git de terceiros

A política gerenciada anexada ao perfil AmazonSageMakerServiceCatalogProductsUseRole foi atualizada em 27 de julho de 2021 para uso com modelos Git de terceiros. Os usuários que se inscrevem no Amazon SageMaker Studio (ou Studio Classic) após essa data e habilitam modelos de projeto usam a nova política. Os usuários que se inscreveram antes dessa data devem atualizar a política para usar esses modelos. Use uma das seguintes opções para atualizar a política:

  • Excluir função e alternar as configurações do Studio (ou Studio Classic)

    1. No console do IAM, exclua AmazonSageMakerServiceCatalogProductsUseRole.

    2. No painel de controle do Studio (ou Studio Classic), escolha Editar configurações.

    3. Alterne as duas configurações e escolha Enviar.

  • No console do IAM, adicione as seguintes permissões ao AmazonSageMakerServiceCatalogProductsUseRole:

    { "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/sagemaker": "true" } } }, { "Effect": "Allow", "Action": [ "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::sagemaker-*" ] }