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
Importante
A partir de 9 de setembro de 2024, os modelos de projeto que usam o AWS CodeCommit repositório não são mais suportados. Para novos projetos, selecione entre os modelos de projeto disponíveis que usam repositórios Git de terceiros.
SageMaker A Amazon fornece modelos de projeto que criam a infraestrutura de que você precisa para criar uma MLOps solução 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.
nota
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 Conceder as permissões necessárias ao SageMaker Studio 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/ ao tentar AmazonSageMakerServiceCatalogProductsCodePipelineRole 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:
-
Se você quiser usar o modelo MLOpsmodelo para construção, treinamento e implantação de modelos, consulte Percorra um SageMaker MLOps projeto.
-
Se você quiser usar o modelo MLOpsmodelo para criação, treinamento e implantação de modelos com repositórios Git de terceiros usando CodePipeline, consulte Percorra um SageMaker MLOps projeto usando repositórios Git de terceiros.
-
Se você quiser usar o modeloMLOpsmodelo para criação, treinamento e implantação de modelos com repositórios Git de terceiros usando Jenkins, consulte Criar SageMaker projetos da Amazon usando controle de origem de terceiros e Jenkins
.
Tópicos
- MLOpsmodelo para construção, treinamento e implantação de modelos
- MLOpsmodelo para criação de modelos, treinamento, implantação e Amazon SageMaker Model Monitor
- MLOpsmodelo para construção de imagens, construção de modelos e implantação de modelos
- MLOpsmodelo para criação, treinamento e implantação de modelos com repositórios Git de terceiros usando CodePipeline
- MLOpsmodelo para criação, treinamento e implantação de modelos com repositórios Git de terceiros usando Jenkins
- Implantação de modelos para o Salesforce
- Atualize SageMaker projetos para usar repositórios Git de terceiros
MLOpsmodelo para construçã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
- MLOpsmodelo para construção e treinamento de modelos
-
Use esse modelo quando quiser uma MLOps solução 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.
-
- MLOpsmodelo 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 preparação e construção de produção, de modo que um MLOps engenheiro deve aprovar o modelo antes que ele seja 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.
-
Conforme mencionado anteriormente, consulte Passo a passo do Projeto para ver uma demonstração que usa esse modelo para criar um projeto real.
Você pode personalizar o repositório de implantação no modelo do projeto para implantar o modelo a partir do registro do modelo da maneira que quiser. O modelo é usado CloudFormation para criar um endpoint em tempo real, por exemplo. Você pode atualizar a implantação para usar o SageMaker SDK, boto3 ou qualquer outro API que possa criar endpoints em vez de. CFN Se precisar atualizar as CodeBuild etapas como parte do pipeline de implantação, você pode criar um modelo personalizado.
MLOpsmodelo para criação de modelos, treinamento, implantação e Amazon SageMaker Model Monitor
Esse modelo é uma extensão do MLOps modelo 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:
Qualidade dos dados: monitora a variação na qualidade dos dados.
Qualidade do modelo: monitora a variação nas métricas de qualidade do modelo, como a precisão.
Desvio de polarização para modelos em produção: monitore o desvio nas previsões de um modelo.
-
Repositório de códigos: AWS CodeCommit
-
Automação do fluxo de trabalho de CI/CD: AWS CodePipeline
MLOpsmodelo para Amazon SageMaker Model Monitor
Você pode usar esse modelo para uma MLOps solução 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 SageMaker endpoint de inferência.
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 oDeployProd
estágio.O modelo usa o mesmo bucket S3 criado pelo MLOps modelo para criação, treinamento e implantação do modelo para armazenar as saídas dos monitores.
Duas regras de EventBridge eventos da Amazon iniciam o Amazon SageMaker Model Monitor AWS CodePipeline sempre que o SageMaker endpoint de teste é atualizado ou uma alteração de código é confirmada no repositório. CodePipeline
MLOpsmodelo para construção de imagens, construção de modelos e implantação de modelos
Este modelo é uma extensão de MLOpsmodelo para construçã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 ECR repositório da Amazon
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 da 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 da Amazon. ECR Quando um novo contêiner é registrado no ECR repositório da Amazon, 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.
MLOpsmodelo 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 valortrue
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 preparação e construção de produção, de modo que um MLOps engenheiro deve aprovar o modelo antes que ele seja 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.
MLOpsmodelo para criação, treinamento e implantação de modelos com repositórios Git de terceiros usando 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 valortrue
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.
Em resumo, as etapas o orientam pelas seguintes tarefas:
-
Estabeleça a conexão entre suas GitHub contas AWS e as suas.
-
Criar a conta do Jenkins e importe os plug-ins necessários.
-
Crie a política de IAM usuários e permissões do Jenkins.
-
Defina AWS as credenciais do IAM usuário Jenkins em seu servidor Jenkins.
-
Crie um API token para comunicação com seu servidor Jenkins.
-
Use um CloudFormation modelo para configurar uma EventBridge regra para monitorar o registro de modelos recém-aprovados.
-
Crie o SageMaker projeto, que alimenta seus GitHub repositórios com código de criação e implantação de modelos.
-
Criar seu pipeline de criação de modelo do Jenkins com o código inicial de criação do modelo.
-
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
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 um API API gateway, 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 configuração do API Gateway. 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 REST APIs.
A postagem do blog Use a integração da Amazon SageMaker e do Salesforce Data Cloud para potencializar seus aplicativos Salesforce com IA/ML
Selecione o modelo de projeto Implantação do modelo para Salesforce e forneça o nome secreto do gerente.
Clone o repositório para usar a amostra personalizável SageMaker fornecida pelo notebook e o código de implantação do modelo.
Pré-processe seus dados com o Data Wrangler.
Crie uma conexão com o Salesforce Data Cloud e importe dados para o Data Wrangler.
Use o Data Wrangler para preparar os dados com alguns exemplos de transformações.
Inicie um trabalho de processamento para processar os dados usando sua configuração do Data Wrangler.
Treine o modelo.
Registre seu modelo no registro de modelos.
Aprove seu modelo no registro de modelos.
Visualize seu endpoint no SageMaker console.
Invoque o API URL 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.
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)
-
No IAM console, exclua
AmazonSageMakerServiceCatalogProductsUseRole
. -
No painel de controle do Studio (ou Studio Classic), escolha Editar configurações.
-
Alterne as duas configurações e escolha Enviar.
-
-
No IAM console, adicione as seguintes permissões a
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-*" ] }