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á.
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 local IDEs, 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.
-
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:AttachRolePolicy
eiam: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 uma função do IAM 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 papel do IAM do usuário que está interagindo com o Tracking Server por meio do MLflow SDK permissão para chamar. MLflow APIs 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:AttachRolePolicy
eiam:ListPolicies
.
Configurar AWS CLI modelo
Siga estas etapas da linha de comando em um terminal para configurar o AWS CLI para 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 help
Clique em
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 do Amazon S3 e a função do IAM necessária 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. O armazenamento de artefatos entre regiões não é suportado.
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 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 MLflow acessar o Amazon S3 e o SageMaker Model Registry em sua conta. MLflow deve 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
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.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-namecustom-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 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 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 MLflow Tamanhos 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 MLflow interface do usuário 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ê possui as permissões necessárias do IAM. Para obter mais informações sobre as permissões do IAM, consulte Configure as permissões do IAM para MLflow. Quando você cria corretamente um servidor de rastreamento, ele é iniciado automaticamente.
Ao criar um servidor de rastreamento, recomendamos especificar a versão mais recente. Para obter informações sobre as versões disponíveis, consulteMonitoramento de versões do servidor.
Por padrão, o servidor de rastreamento criado é a versão mais recente. No entanto, recomendamos sempre especificar a versão mais recente de forma explícita, pois a subjacente MLflow APIs pode mudar.
ts_name=
tracking-server-name
region=valid-region
version=valid-version
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
\ --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.