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 MLflow des modèles sur un point de terminaison d' SageMaker IA à l'aide d'Amazon SageMaker AI Model Builder. Pour plus d'informations sur Amazon SageMaker AI Model Builder, consultez Créer un modèle dans Amazon SageMaker AI avec ModelBuilder.
ModelBuilder est une classe Python qui prend un modèle de cadre ou une spécification d’inférence spécifiée par l’utilisateur pour les convertir en 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 les sections suivantes 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' MLflow exécution ou d'un chemin de registre de MLflow modèles, vous devez également spécifier l'ARN de votre serveur de suivi par le biais de l'model_metadata["MLFLOW_TRACKING_ARN"]attribut.
Chemins de modèle qui nécessitent un ARN dans model_metadata
Les chemins de modèle suivants nécessitent que vous spécifiiez un ARN dans model_metadata pour le déploiement :
MLflow ID d'exécution
: runs:/aloy-run-id/run-relative/path/to/modelMLflow chemin de registre du modèle
: models:/model-name/model-version
Chemins de modèle qui ne nécessitent pas d’ARN dans model_metadata
Les chemins de modèle suivants ne nécessitent pas que vous spécifiiez un ARN dans model_metadata pour le déploiement :
Chemin de modèle local :
/Users/me/path/to/local/modelChemin de modèle Amazon S3 :
s3://amzn-s3-demo-bucket/path/to/modelARN de package de modèle :
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 AI, consultez la section Déployer le MLflow modèle sur Amazon SageMaker AI
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 ARN du serveur de suivi par le biais de l'model_metadata["MLFLOW_TRACKING_ARN"]attribut.
Important
Vous devez utiliser la version 2.224.0ModelBuilder
Note
Utilisez l’exemple de code suivant pour référence. Pour obtenir end-to-end des exemples illustrant comment déployer des MLflow modèles enregistrés, consultezDidacticiels MLflow 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 pour les MLflow modèles déployés à l'aide deModelBuilder, vous devez disposer des autorisations IAM suivantes :
sagemaker:CreateArtifactsagemaker:ListArtifactssagemaker:AddAssociationsagemaker:DescribeMLflowTrackingServer
Important
Le suivi de la lignée est facultatif. Le déploiement réussit sans les autorisations liées au suivi de la lignée. Quand les autorisations ne sont pas configurées, une erreur d’autorisation de suivi de la lignée s’affiche lors de l’appel model.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. Quand les autorisations ci-dessus sont configurées, les informations de suivi de la lignée sont automatiquement créées et stockées.
Pour plus d'informations et end-to-end des exemples, consultezDidacticiels MLflow utilisant des exemples de blocs-notes Jupyter.