Implemente MLflow modelos com ModelBuilder - 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á.

Implemente MLflow modelos com ModelBuilder

Você pode implantar MLflow modelos em um endpoint de SageMaker IA usando o Amazon SageMaker AI Model Builder. Para obter mais informações sobre o Amazon SageMaker AI Model Builder, consulte Criar um modelo no Amazon SageMaker AI com ModelBuilder.

ModelBuilder é uma função do Python que pega um modelo de estrutura ou uma especificação de inferência definida pelo usuário e o converte em um modelo implantável. Para obter mais detalhes sobre a ModelBuilder aula, consulte ModelBuilder.

Para implantar seu MLflow modelo usandoModelBuilder, forneça um caminho para seus MLflow artefatos no model_metadata["MLFLOW_MODEL_PATH"] atributo. Continue a leitura para obter mais informações sobre formatos válidos de entrada para caminho de modelo:

nota

Se você fornecer o caminho do artefato do modelo na forma de ID de MLflow execução ou caminho de registro do MLflow modelo, também deverá especificar o ARN do servidor de rastreamento por meio model_metadata["MLFLOW_TRACKING_ARN"] do atributo.

Caminhos de modelo que exigem um ARN no model_metadata

Os seguintes caminhos de modelo exigem que você especifique um ARN no model_metadata para implantação:

Caminhos de modelo que não exigem um ARN no model_metadata

Os seguintes caminhos de modelo não exigem que você especifique um ARN no model_metadata para implantação:

  • Caminho do modelo local: /Users/me/path/to/local/model

  • Caminho do modelo Amazon S3: s3://amzn-s3-demo-bucket/path/to/model

  • ARN do pacote do modelo: arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name

Para obter mais informações sobre como a implantação do MLflow modelo funciona com a Amazon SageMaker AI, consulte Implantar MLflow modelo na Amazon SageMaker AI na MLflow documentação.

Se estiver usando um caminho do Amazon S3, você pode encontrar o caminho do seu modelo registrado com os seguintes comandos:

registered_model = client.get_registered_model(name='AutoRegisteredModel') source_path = registered_model.latest_versions[0].source

O exemplo a seguir é uma visão geral de como implantar seu MLflow modelo usando ModelBuilder um caminho de registro de MLflow modelo. Como esse exemplo fornece o caminho do artefato do modelo na forma de um caminho de registro do MLflow modelo, a chamada para também ModelBuilder deve especificar um ARN do servidor de rastreamento por meio model_metadata["MLFLOW_TRACKING_ARN"] do atributo.

Importante

Você deve usar a versão 2.224.0 ou posterior do SDK do SageMaker Python para usar. ModelBuilder

nota

Use o exemplo de código a seguir como referência. Para obter end-to-end exemplos que mostram como implantar MLflow modelos registrados, consulteMLflow tutoriais usando exemplos de cadernos Jupyter.

from sagemaker.serve import ModelBuilder from sagemaker.serve.mode.function_pointers import Mode from sagemaker.serve import SchemaBuilder my_schema = SchemaBuilder( sample_input=sample_input, sample_output=sample_output ) model_builder = ModelBuilder( mode=Mode.SAGEMAKER_ENDPOINT, schema_builder=my_schema, role_arn="Your-service-role-ARN", model_metadata={ # both model path and tracking server ARN are required if you use an mlflow run ID or mlflow model registry path as input "MLFLOW_MODEL_PATH": "models:/sklearn-model/1" "MLFLOW_TRACKING_ARN": "arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name" } ) model = model_builder.build() predictor = model.deploy( initial_instance_count=1, instance_type="ml.c6i.xlarge" )

Para manter o rastreamento de linhagem para MLflow modelos implantados usandoModelBuilder, você deve ter as seguintes permissões do IAM:

  • sagemaker:CreateArtifact

  • sagemaker:ListArtifacts

  • sagemaker:AddAssociation

  • sagemaker:DescribeMLflowTrackingServer

Importante

O rastreamento de linhagem é opcional. A implantação é concluída corretamente sem as permissões relacionadas ao rastreamento de linhagem. Se você não tiver as permissões configuradas, verá um erro de permissões de rastreamento de linhagem ao chamar model.deploy(). No entanto, a implantação do endpoint ainda será concluída corretamente e você pode interagir diretamente com o endpoint do modelo. Se as permissões acima estiverem configuradas, as informações de rastreamento de linhagem serão criadas e armazenadas automaticamente.

Para obter mais informações e end-to-end exemplos, consulteMLflow tutoriais usando exemplos de cadernos Jupyter.