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á.
Implante MLflow modelos com ModelBuilder
Você pode implantar MLflow modelos em um SageMaker endpoint usando o Amazon SageMaker Model Builder. Para obter mais informações sobre o Amazon SageMaker Model Builder, consulte Criar um modelo na Amazon SageMaker com ModelBuilder.
ModelBuilder
é uma classe Python que pega um modelo de estrutura ou uma especificação de inferência especificada 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 lendo para obter mais informações sobre formatos de entrada de caminho de modelo válidos:
nota
Se você fornecer o caminho do artefato do modelo na forma de uma ID de MLflow execução ou caminho de registro do MLflow modelo, também deverá especificar o servidor de rastreamento ARN por meio do model_metadata["MLFLOW_TRACKING_ARN"]
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:
MLflowID de execução
: runs:/aloy-run-id/run-relative/path/to/model
MLflowcaminho do registro do modelo
: models:/model-name/model-version
Modele caminhos 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
Pacote modeloARN:
arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name
Para obter mais informações sobre como a implantação de MLflow modelos funciona com a Amazon SageMaker, consulte Implantar MLflow modelo SageMaker na Amazon
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 servidor de rastreamento ARN por meio do model_metadata["MLFLOW_TRACKING_ARN"]
atributo.
Importante
Você deve usar a versão 2.224.0ModelBuilder
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, consulteMLflowtutoriais 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: IAM
sagemaker:CreateArtifact
sagemaker:ListArtifacts
sagemaker:AddAssociation
sagemaker:DescribeMLflowTrackingServer
Importante
O rastreamento de linhagem é opcional. A implantação é bem-sucedida 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 ligarmodel.deploy()
. No entanto, a implantação do endpoint ainda é bem-sucedida 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, consulteMLflowtutoriais usando exemplos de cadernos Jupyter.