Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Déployez MLflow des modèles avec ModelBuilder
Vous pouvez déployer des MLflow modèles sur un SageMaker terminal à l'aide d'Amazon SageMaker Model Builder. Pour plus d'informations sur Amazon SageMaker Model Builder, consultez Créer un modèle dans Amazon SageMaker avec ModelBuilder.
ModelBuilder
est une classe Python qui prend un modèle de framework ou une spécification d'inférence spécifiée par l'utilisateur et le convertit en un modèle déployable. Pour plus de détails sur le ModelBuilder
cours, voir ModelBuilder
Pour déployer votre MLflow modèle à l'aide deModelBuilder
, indiquez un chemin d'accès à vos MLflow artefacts dans l'model_metadata["MLFLOW_MODEL_PATH"]
attribut. Lisez la suite pour plus d'informations sur les formats d'entrée de chemin de modèle valides :
Note
Si vous indiquez le chemin de votre artefact modèle sous la forme d'un ID d'MLflowexécution ou d'un chemin de registre de MLflow modèles, vous devez également spécifier votre serveur de suivi ARN par le biais de l'model_metadata["MLFLOW_TRACKING_ARN"]
attribut.
Tracés de modèles qui nécessitent un ARN dans le model_metadata
Les chemins de modèles suivants nécessitent que vous spécifiiez un ARN dans le model_metadata
pour le déploiement :
MLflowID d'exécution
: runs:/aloy-run-id/run-relative/path/to/model
MLflowchemin de registre du modèle
: models:/model-name/model-version
Tracés de modèles qui ne nécessitent pas ARN de model_metadata
Les chemins de modèles suivants ne nécessitent pas que vous spécifiiez un ARN dans le model_metadata
pour le déploiement :
Chemin du modèle local :
/Users/me/path/to/local/model
Chemin du modèle Amazon S3 :
s3://amzn-s3-demo-bucket/path/to/model
Package modèle ARN :
arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name
Pour plus d'informations sur le fonctionnement MLflow du déploiement de modèles avec Amazon SageMaker, consultez la section Deploy MLflow Model to Amazon SageMaker
Si vous utilisez un chemin Amazon S3, vous pouvez trouver le chemin de votre modèle enregistré à l'aide des commandes suivantes :
registered_model = client.get_registered_model(name=
'AutoRegisteredModel'
) source_path = registered_model.latest_versions[0].source
L'exemple suivant explique comment déployer votre MLflow modèle à l'aide d'un chemin ModelBuilder
de registre de MLflow modèles. Étant donné que cet exemple fournit le chemin de l'artefact du modèle sous la forme d'un chemin de registre MLflow modèle, l'appel à ModelBuilder
doit également spécifier un serveur de suivi ARN via l'model_metadata["MLFLOW_TRACKING_ARN"]
attribut.
Important
Vous devez utiliser la version 2.224.0ModelBuilder
Note
Utilisez l'exemple de code suivant à titre de référence. Pour obtenir end-to-end des exemples illustrant comment déployer des MLflow modèles enregistrés, consultezMLflowtutoriels utilisant des exemples de blocs-notes 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
" )
Pour gérer le suivi du lignage des MLflow modèles déployés à l'aide deModelBuilder
, vous devez disposer des IAM autorisations suivantes :
sagemaker:CreateArtifact
sagemaker:ListArtifacts
sagemaker:AddAssociation
sagemaker:DescribeMLflowTrackingServer
Important
Le suivi du lignage est facultatif. Le déploiement réussit sans les autorisations liées au suivi du lignage. Si les autorisations ne sont pas configurées, vous verrez une erreur d'autorisation de suivi du lignage lors de l'appelmodel.deploy()
. Cependant, le déploiement du point de terminaison réussit toujours et vous pouvez interagir directement avec le point de terminaison de votre modèle. Si les autorisations ci-dessus sont configurées, les informations de suivi du lignage sont automatiquement créées et stockées.
Pour plus d'informations et end-to-end des exemples, consultezMLflowtutoriels utilisant des exemples de blocs-notes Jupyter.