Criar modelos de projetos personalizados - SageMaker IA da Amazon

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á.

Criar modelos de projetos personalizados

Importante

Em 28 de outubro de 2024, os AWS CodeCommit modelos foram removidos. Para novos projetos, selecione entre os modelos de projeto disponíveis que usam repositórios Git de terceiros. Para obter mais informações, consulte MLOps Modelos de projeto.

Se os modelos SageMaker fornecidos pela IA não atenderem às suas necessidades (por exemplo, você quiser ter uma orquestração mais complexa CodePipeline com vários estágios ou etapas de aprovação personalizadas), crie seus próprios modelos.

Recomendamos começar usando modelos SageMaker fornecidos pela IA para entender como organizar seu código e recursos e criar com base neles. Para fazer isso, depois de habilitar o acesso do administrador aos modelos de SageMaker IA, faça login no https://console.aws.amazon.com/servicecatalog/, escolha Portfólios e escolha Importado. Para obter informações sobre o Service Catalog, consulte Visão geral do Service Catalog no Guia do usuário do Service Catalog.

Crie seus próprios modelos de projeto para personalizar seu MLOps projeto. SageMaker Os modelos de projeto de IA são produtos provisionados pelo Service Catalog para provisionar os recursos para seu projeto. MLOps

Para criar um modelo de projeto personalizado, conclua as etapas a seguir.

  1. Crie um portfólio. Para obter informações, consulte Etapa 3: criar um portfólio do Service Catalog.

  2. Crie um novo produto. Um produto é um CloudFormation modelo. Você pode criar várias versões do produto. Para obter informações, consulte Etapa 4: criar um produto do Service Catalog.

    Para que o produto funcione com SageMaker projetos, adicione os seguintes parâmetros ao seu modelo de produto.

    SageMakerProjectName: Type: String Description: Name of the project SageMakerProjectId: Type: String Description: Service generated Id of the project.
    Importante

    Recomendamos que você inclua o CodeCommit repositório no repositório de código de SageMaker IA para que os repositórios do projeto fiquem visíveis no modo VPC. O modelo de exemplo e a adição necessária são mostrados nos exemplos de código a seguir.

    Modelo original (exemplo):

    ModelBuildCodeCommitRepository: Type: AWS::CodeCommit::Repository Properties: # Max allowed length: 100 chars RepositoryName: !Sub sagemaker-${SageMakerProjectName}-${SageMakerProjectId}-modelbuild # max: 10+33+15+10=68 RepositoryDescription: !Sub SageMaker Model building workflow infrastructure as code for the Project ${SageMakerProjectName} Code: S3: Bucket: SEEDCODE_BUCKETNAME Key: toolchain/model-building-workflow-v1.0.zip BranchName: main

    Conteúdo adicional a ser adicionado no modo VPC:

    SageMakerRepository: Type: AWS::SageMaker::CodeRepository Properties: GitConfig: RepositoryUrl: !GetAtt ModelBuildCodeCommitRepository.CloneUrlHttp Branch: main
  3. Adicione uma restrição de execução. Uma restrição de execução designa um perfil do IAM que o Service Catalog assume quando um usuário final executa um produto. Para obter informações, consulte Etapa 6: adicionar uma restrição de execução para atribuir um Perfil do &IAM.

  4. Provisione o produto https://console.aws.amazon.com/servicecatalog/para testar o modelo. Se você estiver satisfeito com seu modelo, continue para a próxima etapa a fim de disponibilizá-lo no Studio (ou Studio Classic).

  5. Conceda acesso ao portfólio do Service Catalog que você criou na etapa 1 para seu perfil de execução do Studio (ou Studio Classic). Use o perfil de execução de domínio do Studio ou um perfil de usuário que tenha acesso ao Studio (ou Studio Classic). Para obter informações sobre como adicionar um perfil ao portfólio, consulte Etapa 7: conceder aos usuários finais acesso ao portfólio.

  6. Para disponibilizar seu modelo de projeto na lista de Modelos de organização no Studio (ou Studio Classic), crie uma tag com a chave e o valor a seguir para o produto do Service Catalog que você criou na etapa 2.

    • chave: sagemaker:studio-visibility

    • valor: true

Depois de concluir essas etapas, os usuários do Studio (ou Studio Classic) em sua organização poderão criar um projeto com o modelo que você criou seguindo as etapas em Crie um MLOps projeto usando o Amazon SageMaker Studio ou o Studio Classic e escolhendo Modelos de organização ao selecionar um modelo.

Usando um modelo de um bucket do Amazon S3

Você também pode criar SageMaker projetos usando modelos armazenados no Amazon S3.

nota

Embora você possa usar os modelos noAWS Service Catalog, recomendamos que você armazene modelos em um bucket do S3 e crie projetos usando esses modelos.

Configuração do administrador

Antes de criar projetos usando modelos em um bucket do S3, execute as etapas a seguir.

  1. Crie um bucket do S3 e carregue seus modelos no bucket.

  2. Configure uma política de CORS em seu bucket do S3 para configurar as permissões de acesso.

  3. Adicione a seguinte tag de valor-chave ao modelo para que elas se tornem visíveis para a SageMaker IA.

    sagemaker:studio-visibility : true
  4. Crie um domínio.

  5. Depois que a SageMaker IA terminar de criar seu domínio, adicione a seguinte tag de valor-chave ao domínio:

    sagemaker:projectS3TemplatesLocation : s3://<amzn-s3-demo-bucket>

Em seguida, use o AWS console, o Python ou as CreateProjectoperações de UpdateProjectAPI para criar ou atualizar um SageMaker projeto a partir de modelos dentro do bucket do S3.

Studio

Criar um projeto

  1. Abra o console do Amazon SageMaker AI em https://console.aws.amazon.com/sagemaker/.

  2. Abra o console do SageMaker Studio seguindo as instruções em Iniciar o Amazon SageMaker Studio.

  3. No painel de navegação esquerdo, escolha Implantações, Projetos, Criar projeto.

  4. Escolha Modelos de organização e, em seguida, Modelos do S3 para ver os modelos que estão disponíveis para você. Se você não encontrar o modelo esperado, notifique seu administrador.

  5. Escolha o modelo que você deseja usar e, em seguida, escolha Avançar.

  6. Insira um nome para seu projeto, uma descrição opcional e os outros campos obrigatórios. Depois de concluir, escolha a opção Criar.

Atualizar um projeto

  1. Abra o console do Amazon SageMaker AI em https://console.aws.amazon.com/sagemaker/.

  2. Abra o console do SageMaker Studio seguindo as instruções em Iniciar o Amazon SageMaker Studio.

  3. Escolha o projeto que você deseja atualizar. Escolha Ações e, em seguida, selecione Atualizar projeto.

  4. Ao atualizar um projeto, você pode atualizar os parâmetros do modelo ou o URL do modelo. Quando concluir, selecione Próximo.

  5. Revise as atualizações do projeto na tabela de resumo e escolha Atualizar.

Python Boto3

Depois de criar o bucket do S3 e carregar seus modelos, você pode usar o exemplo a seguir para criar um SageMaker projeto.

sagemaker_client = boto3.client('sagemaker', region_name='us-west-2') response = sagemaker_client.create_project( ProjectName='my-custom-project', ProjectDescription='SageMaker project with custom CFN template stored in S3', TemplateProviders=[{ 'CfnTemplateProvider': { 'TemplateName': 'CustomProjectTemplate', 'TemplateURL': f'https://<bucket_name>.s3.us-west-2.amazonaws.com/custom-project-template.yml', 'Parameters': [ {'Key': 'ParameterKey', 'Value': 'ParameterValue'} ] } }] ) print(f"Project ARN: {response['ProjectArn']}")

Para atualizar um SageMaker projeto, veja o exemplo a seguir.

sagemaker_client = boto3.client('sagemaker', region_name='us-west-2') response = sagemaker_client.update_project( ProjectName='my-custom-project', ProjectDescription='SageMaker project with custom CFN template stored in S3', TemplateProvidersToUpdate=[{ 'CfnTemplateProvider': { 'TemplateName': 'CustomProjectTemplate', 'TemplateURL': f'https://<bucket_name>.s3.us-west-2.amazonaws.com/custom-project-template.yml', 'Parameters': [ {'Key': 'ParameterKey', 'Value': 'ParameterValue'} ] } }] ) print(f"Project ARN: {response['ProjectArn']}")