

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`
<a name="mlflow-track-experiments-model-deployment"></a>

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](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-modelbuilder-creation.html).

`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](https://sagemaker.readthedocs.io/en/stable/api/inference/model_builder.html#sagemaker.serve.builder.model_builder.ModelBuilder).

Pour déployer votre MLflow modèle à l'aide de`ModelBuilder`, 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`](#mlflow-track-experiments-model-deployment-with-arn)
+ [Chemins de modèle qui ne nécessitent pas d’ARN dans `model_metadata`](#mlflow-track-experiments-model-deployment-without-arn)

## Chemins de modèle qui nécessitent un ARN dans `model_metadata`
<a name="mlflow-track-experiments-model-deployment-with-arn"></a>

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](https://mlflow.org/docs/latest/python_api/mlflow.entities.html?highlight=mlflow%20info#mlflow.entities.RunInfo.run_id) : `runs:/aloy-run-id/run-relative/path/to/model`
+ MLflow [chemin de registre du modèle](https://mlflow.org/docs/latest/model-registry.html#find-registered-models) : `models:/model-name/model-version`

## Chemins de modèle qui ne nécessitent pas d’ARN dans `model_metadata`
<a name="mlflow-track-experiments-model-deployment-without-arn"></a>

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/model`
+ Chemin de modèle Amazon S3 : `s3://amzn-s3-demo-bucket/path/to/model`
+ ARN 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](https://mlflow.org/docs/latest/deployment/deploy-model-to-sagemaker.html) dans la MLflow documentation.

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.0](https://pypi.org/project/sagemaker/2.224.0/) ou ultérieure du SDK SageMaker Python pour l'utiliser. `ModelBuilder`

**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, consultez[Didacticiels MLflow utilisant des exemples de blocs-notes Jupyter](mlflow-tutorials.md).

```
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](https://docs.aws.amazon.com/sagemaker/latest/dg/lineage-tracking.html) pour les MLflow modèles déployés à l'aide de`ModelBuilder`, vous devez disposer des autorisations IAM suivantes :
+ `sagemaker:CreateArtifact`
+ `sagemaker:ListArtifacts`
+ `sagemaker:AddAssociation`
+ `sagemaker: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, consultez[Didacticiels MLflow utilisant des exemples de blocs-notes Jupyter](mlflow-tutorials.md).