Crie um servidor de rastreamento usando o AWS CLI - 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á.

Crie um servidor de rastreamento usando o AWS CLI

Você pode criar um servidor de rastreamento usando o AWS CLI para uma personalização de segurança mais granular.

Pré-requisitos

Para criar um servidor de rastreamento usando o AWS CLI, você deve ter o seguinte:

  • Acesso a um terminal.Isso pode incluir localIDEs, uma EC2 instância da Amazon ou AWS CloudShell.

  • Acesso a um ambiente de desenvolvimento. Isso pode incluir um ambiente de notebook local IDEs ou Jupyter no Studio ou no Studio Classic.

  • Uma AWS CLI instalação configurada. Para obter mais informações, consulte Configurar a AWS CLI.

  • Uma IAM função com as permissões apropriadas. As etapas a seguir exigem que seu ambiente tenha iam:CreateRoleiam:CreatePolicy,iam:AttachRolePolicy, e iam:ListPolicies permissões. Essas permissões são necessárias na função que está sendo usada para executar as etapas deste guia do usuário. As instruções neste guia criam uma IAM função que é usada como função de execução do MLflow Tracking Server para que ele possa acessar dados em seus buckets do Amazon S3. Além disso, uma política é criada para dar ao IAM papel do usuário que está interagindo com o Servidor de Rastreamento por meio da MLflow SDK permissão de chamada MLflowAPIs. Para obter mais informações, consulte Modificar uma política de permissões de função (console).

    Se estiver usando um SageMaker Studio Notebook, atualize a função de serviço do seu perfil de usuário do Studio com essas IAM permissões. Para atualizar a função de serviço, navegue até o SageMaker console e selecione o domínio que você está usando. Em seguida, no domínio, selecione o perfil de usuário que você está usando. Você verá a função de serviço listada lá. Navegue até o IAM console, procure a função de serviço em Funções e atualize sua função com uma política que permita as iam:ListPolicies ações iam:CreateRole iam:CreatePolicyiam:AttachRolePolicy,, e.

Configurar AWS CLI modelo

Siga estas etapas da linha de comando em um terminal para configurar o AWS CLI para a Amazon SageMaker comMLflow.

  1. Instale uma versão atualizada do AWS CLI. Para obter mais informações, consulte Instalar ou atualizar para a versão mais recente do AWS CLI no Guia AWS CLI do Usuário.

  2. Verifique se o AWS CLI está instalado usando o seguinte comando:

    aws sagemaker help

    Pressione q para sair do prompt.

    Para obter ajuda sobre a solução de problemas, consulte Solucionar problemas comuns de configuração.

Configurar MLflow infraestrutura

A seção a seguir mostra como configurar um servidor de MLflow rastreamento junto com o bucket e a IAM função do Amazon S3 necessários para o servidor de rastreamento.

Criar um bucket do S3

Em seu terminal, use os seguintes comandos para criar um bucket Amazon S3 de uso geral:

nota

O bucket do Amazon S3 usado para seu armazenamento de artefatos deve estar no mesmo servidor de Região da AWS rastreamento.

bucket_name=bucket-name region=valid-region aws s3api create-bucket \ --bucket $bucket_name \ --region $region \ --create-bucket-configuration LocationConstraint=$region

A saída deve ser semelhante à seguinte:

{ "Location": "/bucket-name" }

Configurar políticas de IAM confiança

Use as etapas a seguir para criar uma política de IAM confiança. Para obter mais informações sobre funções e políticas de confiança, consulte Termos e conceitos de funções no Guia AWS Identity and Access Management do usuário.

  1. Em seu terminal, use o comando a seguir para criar um arquivo chamadomlflow-trust-policy.json.

    cat <<EOF > /tmp/mlflow-trust-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] } EOF
  2. Em seu terminal, use o comando a seguir para criar um arquivo chamadocustom-policy.json.

    cat <<EOF > /tmp/custom-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:DescribeModelPackageGroup", "sagemaker:UpdateModelPackage", "s3:List*" ], "Resource": "*" } ] } EOF
  3. Use o arquivo de política de confiança para criar uma função. Em seguida, anexe políticas de IAM função que permitam MLflow acessar o Amazon S3 e o SageMaker Model Registry em sua conta. MLflowdeve ter acesso ao Amazon S3 para o armazenamento de artefatos do seu servidor de rastreamento e ao SageMaker Model Registry para o registro automático do modelo.

    nota

    Se você estiver atualizando uma função existente, use o seguinte comando em vez disso:aws iam update-assume-role-policy --role-name $role_name --policy-document file:///tmp/mlflow-trust-policy.json.

    role_name=role-name aws iam create-role \ --role-name $role_name \ --assume-role-policy-document file:///tmp/mlflow-trust-policy.json aws iam put-role-policy \ --role-name $role_name \ --policy-name custom-policy \ --policy-document file:///tmp/custom-policy.json role_arn=$(aws iam get-role --role-name $role_name --query 'Role.Arn' --output text)

Crie um servidor MLflow de rastreamento

No seu terminal, use o create-mlflow-tracking-server API para criar um servidor de rastreamento no local Região da AWS de sua escolha. Essa etapa pode levar até 25 minutos.

Opcionalmente, você pode especificar o tamanho do seu servidor de rastreamento com o parâmetro--tracking-server-config. Escolha entre "Small""Medium", "Large" e. O tamanho padrão da configuração do Servidor de MLflow Rastreamento é"Small". Você pode escolher um tamanho dependendo do uso projetado do servidor de rastreamento, como o volume de dados registrados, o número de usuários e a frequência de uso. Para obter mais informações, consulte MLflowTamanhos de servidores de rastreamento.

O comando a seguir cria um novo servidor de rastreamento com o registro automático do modelo ativado. Para desativar o registro automático do modelo, especifique--no-automatic-model-registration.

Depois de criar seu servidor de rastreamento, você pode iniciar a MLflow interface do usuário. Para obter mais informações, consulte Inicie a interface do usuário do MLflow usando um URL pré-assinado.

nota

Pode levar até 25 minutos para concluir a criação do servidor de rastreamento. Se o servidor de rastreamento levar mais de 25 minutos para ser criado, verifique se você tem as IAM permissões necessárias. Para obter mais informações sobre IAM permissões, consulteConfigurar IAM permissões para MLflow. Quando você cria com sucesso um servidor de rastreamento, ele é iniciado automaticamente.

ts_name=tracking-server-name region=valid-region aws sagemaker create-mlflow-tracking-server \ --tracking-server-name $ts_name \ --artifact-store-uri s3://$bucket_name \ --role-arn $role_arn \ --automatic-model-registration \ --region $region

A saída deve ser semelhante à seguinte:

{ "TrackingServerArn": "arn:aws:sagemaker:region:123456789012:mlflow-tracking-server/tracking-server-name" }
Importante

Anote o servidor de rastreamento ARN para uso posterior. Você também precisará das etapas $bucket_name de limpeza.