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 IDEs locais, uma instância do Amazon EC2 ou. AWS CloudShell
-
Acesso a um ambiente de desenvolvimento. Isso pode incluir IDEs locais ou um ambiente de caderno Jupyter no Studio ou no Studio Classic.
-
Uma AWS CLI instalação configurada. Para obter mais informações, consulte Configurar a AWS CLI.
-
Um perfil do IAM com as permissões adequadas. As etapas a seguir exigem que seu ambiente tenha as permissões
iam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicyeiam:ListPolicies. Essas permissões são necessárias no perfil que está sendo usado para executar as etapas deste guia do usuário. As instruções neste guia criam um perfil do IAM, que é usada como perfil de execução do servidor de rastreamento MLflow para que ele possa acessar dados nos buckets do Amazon S3. Além disso, uma política é criada para dar ao perfil do IAM permissão para chamar as APIs do MLflow ao usuário que está interagindo com o servidor de rastreamento por meio do MLflow SDK. Para obter mais informações, consulte Modificar a política de permissões (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 permissões do IAM. Para atualizar a função de serviço, navegue até o console do SageMaker AI 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á o perfil de serviço listado. Navegue até o console do IAM, pesquise o perfil de serviço em Perfis e atualize seu perfil com uma política que permita as ações
iam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicyeiam:ListPolicies.
Configurar AWS CLI model
Siga estas etapas da linha de comando em um terminal AWS CLI para configurar o Amazon SageMaker AI com MLflow.
-
Instale uma versão atualizada do AWS CLI. Para obter mais informações, consulte Instalar ou atualizar para a versão mais recente da AWS CLI, no Guia do usuário da AWS CLI .
-
Verifique se o AWS CLI está instalado usando o seguinte comando:
aws sagemaker helpClique em
qpara sair do prompt.Para obter ajuda sobre a solução de problemas, consulte Solucionar problemas comuns de configuração.
Configurar a infraestrutura do MLflow
A seção a seguir mostra como configurar um servidor de rastreamento MLflow com o bucket do Amazon S3 e o perfil do IAM necessário para o servidor de rastreamento.
Criar um bucket do S3.
Em seu terminal, use os seguintes comandos para criar um bucket do Amazon S3 de uso geral:
Importante
Ao fornecer o URI do Amazon S3 para seu armazenamento de artefatos, certifique-se de que o bucket do Amazon S3 esteja no mesmo Região da AWS que seu servidor de rastreamento. Cross-regiono armazenamento de artefatos não é suportado.
bucket_name=bucket-nameregion=valid-regionaws 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 confiança do IAM
Use as etapas a seguir para criar uma política de confiança do IAM. Para obter mais informações sobre políticas e perfis, consulte Termos e conceitos das funções no Guia do usuário do AWS Identity and Access Management .
-
No terminal, use o comando a seguir para criar um arquivo chamado
mlflow-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 -
No terminal, use o comando a seguir para criar um arquivo chamado
custom-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 -
Use a política de confiança para criar um perfil. Em seguida, anexe políticas de função do IAM que permitam que o MLflow acesse o Amazon S3 SageMaker e o Model Registry em sua conta. O MLflow deve ter acesso ao Amazon S3 para o armazenamento de artefatos do seu servidor de rastreamento SageMaker e ao Model Registry para o registro automático do modelo.
nota
Porém, se quiser atualizar um perfil existente, use o seguinte comando:
aws iam update-assume-role-policy --role-name.$role_name--policy-documentfile:///tmp/mlflow-trust-policy.jsonrole_name=role-nameaws iam create-role \ --role-name$role_name\ --assume-role-policy-document file:///tmp/mlflow-trust-policy.jsonaws iam put-role-policy \ --role-name$role_name\ --policy-namecustom-policy\ --policy-document file:///tmp/custom-policy.jsonrole_arn=$(aws iam get-role --role-name $role_name --query 'Role.Arn' --output text)
Criar um servidor de rastreamento MLflow
No seu terminal, use a 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.
Você também pode especificar o tamanho do servidor de rastreamento com o parâmetro --tracking-server-config. Escolha entre "Small", "Medium" e "Large". O tamanho padrão da configuração do servidor de rastreamento MLflow é "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 Tamanhos do servidor de rastreamento MLflow.
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 interface do usuário do MLflow. Para obter mais informações, consulte Iniciar a interface do usuário do MLflow com o uso de um URLs 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ê possui as permissões necessárias do IAM. Para obter mais informações sobre as permissões do IAM, consulte Configurar permissões do IAM para o MLflow. Quando você cria corretamente um servidor de rastreamento, ele é iniciado automaticamente.
Ao criar um servidor de rastreamento, é recomendável especificar a versão mais recente. Para ter informações sobre as versões disponíveis, consulte Monitoramento de versões do servidor.
Por padrão, a versão do servidor de rastreamento criado é a mais recente. No entanto, recomendamos sempre especificar a versão mais recente explicitamente, pois as APIs subjacentes do MLflow podem mudar.
ts_name=tracking-server-nameregion=valid-regionversion=valid-versionaws 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\ --mlflow-version$version
A saída deve ser semelhante ao seguinte:
{ "TrackingServerArn": "arn:aws:sagemaker:region:123456789012:mlflow-tracking-server/tracking-server-name" }
Importante
Anote o ARN do servidor de rastreamento para usos no futuro. Você também precisará de $bucket_name para as etapas de limpeza.