

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.

# Création d’une recommandation d’inférence
<a name="instance-recommendation-create"></a>

Créez une recommandation d'inférence par programmation à l'aide du AWS SDK pour Python (Boto3) ou du AWS CLI, ou de manière interactive à l'aide de Studio Classic ou de la console AI. SageMaker Spécifiez un nom de tâche pour votre recommandation d'inférence, un ARN de rôle AWS IAM, une configuration d'entrée et soit un ARN de package de modèle lorsque vous avez enregistré votre modèle dans le registre des modèles, soit le nom de votre modèle et un `ContainerConfig` dictionnaire utilisés lors de la création de votre modèle dans la section **Prérequis**.

------
#### [ AWS SDK pour Python (Boto3) ]

Utilisez l’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html) pour démarrer une tâche de recommandation d’inférence. Définissez le champ `JobType` sur `'Default'` pour les tâches de recommandation d’inférence. En outre, fournissez les éléments suivants :
+ L’Amazon Resource Name (ARN) d’un rôle IAM qui permet à Inference Recommender d’effectuer des tâches en votre nom. Définissez-le pour le champ `RoleArn`.
+ Un ARN de package de modèle ou un nom de modèle. Inference Recommender prend en charge l’ARN d’un package de modèle ou un nom de modèle en entrée. Spécifiez l’un des éléments suivants :
  + L'ARN du package de modèles versionné que vous avez créé lorsque vous avez enregistré votre modèle dans le registre des modèles SageMaker AI. Définissez-le pour `ModelPackageVersionArn` dans le champ `InputConfig`.
  + Le nom du modèle que vous avez créé. Définissez-le pour `ModelName` dans le champ `InputConfig`. Fournissez également le dictionnaire `ContainerConfig`, qui inclut les champs obligatoires qui doivent être fournis avec le nom du modèle. Définissez-le pour `ContainerConfig` dans le champ `InputConfig`. Dans `ContainerConfig`, vous pouvez également éventuellement spécifier le champ `SupportedEndpointType` comme `RealTime` ou `Serverless`. Si vous spécifiez ce champ, Inference Recommender renvoie des recommandations uniquement pour ce type de point de terminaison. Si vous ne spécifiez pas ce champ, Inference Recommender renvoie des recommandations pour les deux types de point de terminaison.
+ Un nom à votre tâche de recommandation Inference Recommender pour le champ `JobName`. Le nom du poste Inference Recommender doit être unique dans la AWS région et dans votre AWS compte.

Importez le AWS SDK pour Python (Boto3) package et créez un objet client SageMaker AI à l'aide de la classe client. Si vous avez suivi les étapes de la section **Prerequisites** (Prérequis), spécifiez uniquement l’un des éléments suivants :
+ Option 1 : si vous souhaitez créer une tâche de recommandation d’inférence avec l’ARN d’un package de modèle, stockez l’ARN du groupe de packages de modèle dans une variable nommée `model_package_arn`.
+ Option 2 : si vous souhaitez créer une tâche de recommandation d’inférence avec un nom de modèle et `ContainerConfig`, stockez le nom du modèle dans une variable nommée `model_name` et le dictionnaire `ContainerConfig` dans une variable nommée `container_config`.

```
# Create a low-level SageMaker service client.
import boto3
aws_region = '<INSERT>'
sagemaker_client = boto3.client('sagemaker', region_name=aws_region) 

# Provide only one of model package ARN or model name, not both.
# Provide your model package ARN that was created when you registered your 
# model with Model Registry 
model_package_arn = '<INSERT>'
## Uncomment if you would like to create an inference recommendations job with a
## model name instead of a model package ARN, and comment out model_package_arn above
## Provide your model name
# model_name = '<INSERT>'
## Provide your container config 
# container_config = '<INSERT>'

# Provide a unique job name for SageMaker Inference Recommender job
job_name = '<INSERT>'

# Inference Recommender job type. Set to Default to get an initial recommendation
job_type = 'Default'

# Provide an IAM Role that gives SageMaker Inference Recommender permission to 
# access AWS services
role_arn = 'arn:aws:iam::<account>:role/*'

sagemaker_client.create_inference_recommendations_job(
    JobName = job_name,
    JobType = job_type,
    RoleArn = role_arn,
    # Provide only one of model package ARN or model name, not both. 
    # If you would like to create an inference recommendations job with a model name,
    # uncomment ModelName and ContainerConfig, and comment out ModelPackageVersionArn.
    InputConfig = {
        'ModelPackageVersionArn': model_package_arn
        # 'ModelName': model_name,
        # 'ContainerConfig': container_config
    }
)
```

Consultez le [guide de référence des SageMaker API Amazon](https://docs.aws.amazon.com/sagemaker/latest/APIReference/Welcome.html) pour obtenir la liste complète des arguments facultatifs et obligatoires auxquels vous pouvez passer [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html).

------
#### [ AWS CLI ]

Utilisez l’API `create-inference-recommendations-job` pour démarrer une tâche de recommandation d’inférence. Définissez le champ `job-type` sur `'Default'` pour les tâches de recommandation d’inférence. En outre, fournissez les éléments suivants :
+ Le nom de ressource Amazon (ARN) d'un rôle IAM qui permet à Amazon SageMaker Inference Recommender d'effectuer des tâches en votre nom. Définissez-le pour le champ `role-arn`.
+ Un ARN de package de modèle ou un nom de modèle. Inference Recommender prend en charge l’ARN d’un package de modèle ou un nom de modèle en entrée. Spécifiez l’un des éléments suivants :
  + L’ARN du package de modèle versionné que vous avez créé lorsque vous avez enregistré votre modèle dans le registre de modèles. Définissez-le pour `ModelPackageVersionArn` dans le champ `input-config`.
  + Le nom du modèle que vous avez créé. Définissez-le pour `ModelName` dans le champ `input-config`. Fournissez également le dictionnaire `ContainerConfig`, qui inclut les champs obligatoires qui doivent être fournis avec le nom du modèle. Définissez-le pour `ContainerConfig` dans le champ `input-config`. Dans `ContainerConfig`, vous pouvez également éventuellement spécifier le champ `SupportedEndpointType` comme `RealTime` ou `Serverless`. Si vous spécifiez ce champ, Inference Recommender renvoie des recommandations uniquement pour ce type de point de terminaison. Si vous ne spécifiez pas ce champ, Inference Recommender renvoie des recommandations pour les deux types de point de terminaison.
+ Un nom à votre tâche de recommandation Inference Recommender pour le champ `job-name`. Le nom du poste Inference Recommender doit être unique dans la AWS région et dans votre AWS compte.

Pour créer une tâche de recommandation d’inférence avec l’ARN d’un package de modèle, utilisez l’exemple suivant :

```
aws sagemaker create-inference-recommendations-job 
    --region <region>\
    --job-name <job_name>\
    --job-type Default\
    --role-arn arn:aws:iam::<account:role/*>\
    --input-config "{
        \"ModelPackageVersionArn\": \"arn:aws:sagemaker:<region:account:role/*>\",
        }"
```

Pour créer une tâche de recommandation d’inférence avec un nom de modèle et `ContainerConfig`, utilisez l’exemple suivant. L’exemple utilise le champ `SupportedEndpointType` pour indiquer que nous voulons uniquement renvoyer des recommandations d’inférence en temps réel :

```
aws sagemaker create-inference-recommendations-job 
    --region <region>\
    --job-name <job_name>\
    --job-type Default\
    --role-arn arn:aws:iam::<account:role/*>\
    --input-config "{
        \"ModelName\": \"model-name\",
        \"ContainerConfig\" : {
                \"Domain\": \"COMPUTER_VISION\",
                \"Framework\": \"PYTORCH\",
                \"FrameworkVersion\": \"1.7.1\",
                \"NearestModelName\": \"resnet18\",
                \"PayloadConfig\": 
                    {
                        \"SamplePayloadUrl\": \"s3://{bucket}/{payload_s3_key}\", 
                        \"SupportedContentTypes\": [\"image/jpeg\"]
                    },
                \"SupportedEndpointType\": \"RealTime\",
                \"DataInputConfig\": \"[[1,3,256,256]]\",
                \"Task\": \"IMAGE_CLASSIFICATION\",
            },
        }"
```

------
#### [ Amazon SageMaker Studio Classic ]

Créez une tâche de recommandation d’inférence dans Studio Classic.

1. Dans votre application Studio Classic, choisissez l’icône d’accueil (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/studio/icons/house.png)).

1. Dans la barre latérale gauche de Studio Classic, sélectionnez **Modèles**.

1. Choisissez **Registre de modèles** dans la liste déroulante pour afficher les modèles que vous avez enregistrés dans le registre de modèles.

   Le panneau de gauche affiche une liste de groupes de modèles. La liste comprend tous les groupes de modèles enregistrés dans le registre de modèles de votre compte, y compris les modèles enregistrés en dehors de Studio Classic.

1. Sélectionnez le nom de votre groupe de modèles. Lorsque vous sélectionnez votre groupe de modèles, le volet droit de Studio Classic affiche les en-têtes de colonne tels que **Versions** et **Paramètre**.

   Si vous avez un ou plusieurs packages de modèle dans votre groupe de modèles, vous voyez la liste de ces packages de modèle dans la colonne **Versions**.

1. Sélectionnez la colonne **Inference Recommender**.

1. Choisissez un rôle IAM qui accorde à Inference Recommender l'autorisation d'accéder aux services. AWS Vous pouvez créer un rôle et attacher la politique gérée IAM `AmazonSageMakerFullAccess` pour y parvenir. Vous pouvez également laisser Studio Classic créer un rôle pour vous.

1. Choisissez **Obtenir des recommandations**.

   La recommandation d’inférence peut prendre jusqu’à 45 minutes.
**Avertissement**  
Ne fermez pas cet onglet. Si vous fermez cet onglet, la tâche de recommandation d’instance sera annulée.

------
#### [ SageMaker AI console ]

Créez une tâche de recommandation d'instance via la console SageMaker AI en procédant comme suit :

1. Accédez à la console SageMaker AI à l'adresse [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Dans le panneau de navigation de gauche, choisissez **Inférence**, puis **Inference Recommender**.

1. Sur la page **Tâches Inference Recommender**, choisissez **Créer une tâche**.

1. Pour **Étape 1 : Configuration du modèle**, procédez comme suit :

   1. Pour **Type de tâche**, choisissez **Tâche Recommender par défaut**.

   1. Si vous utilisez un modèle enregistré dans le registre des modèles d' SageMaker IA, activez le bouton **Choisir un modèle dans le registre des modèles** et procédez comme suit :

      1. Dans la liste déroulante des **groupes de modèles**, choisissez le groupe de modèles dans le registre des modèles SageMaker AI où se trouve votre modèle.

      1. Dans la liste déroulante **Version du modèle**, choisissez la version souhaitée de votre modèle.

   1. Si vous utilisez un modèle que vous avez créé dans SageMaker AI, désactivez le **bouton Choisir un modèle dans le registre des modèles** et procédez comme suit :

      1. Dans le champ **Nom du modèle**, entrez le nom de votre modèle d' SageMaker IA.

   1. Dans la liste déroulante des **rôles IAM**, vous pouvez sélectionner un rôle AWS IAM existant disposant des autorisations nécessaires pour créer une tâche de recommandation d'instance. Sinon, si vous n'avez pas de rôle existant, vous pouvez choisir **Créer un nouveau rôle** pour ouvrir la fenêtre contextuelle de création de rôle, et SageMaker AI ajoute les autorisations nécessaires au nouveau rôle que vous créez.

   1. Pour **Compartiment S3 destiné à l’analyse comparative des données utiles**, entrez le chemin Amazon S3 vers votre archive d’exemples de données utiles, qui doit contenir des exemples de fichiers de données utiles qu’Inference Recommender utilise pour analyser votre modèle sur différents types d’instances.

   1. Pour **Type de contenu des données utiles**, entrez les types MIME pour votre exemple de données utiles.

   1. (Facultatif) Si vous avez désactivé le bouton **Choisir un modèle dans le registre des modèles et que** vous avez spécifié un modèle d' SageMaker IA, procédez comme suit pour la **configuration du conteneur** :

      1. Dans la liste déroulante **Domaine**, sélectionnez le domaine de machine learning du modèle, tel que la vision par ordinateur, le traitement du langage naturel ou le machine learning.

      1. **Dans la liste déroulante Framework**, sélectionnez le framework de votre conteneur, tel que TensorFlow ou XGBoost.

      1. Pour **Version de framework**, entrez la version de framework de votre image de conteneur.

      1. Dans la liste déroulante **Nom du modèle le plus proche**, sélectionnez le modèle préentraîné qui correspond le plus souvent au vôtre.

      1. Dans la liste déroulante **Tâche**, sélectionnez la tâche de machine learning exécutée par le modèle, telle que la classification d’images ou la régression.

   1. (Facultatif) Pour la **compilation de modèles à l'aide de SageMaker Neo**, vous pouvez configurer la tâche de recommandation pour un modèle que vous avez compilé à l'aide de SageMaker Neo. Pour **Configuration d’entrée de données**, entrez la forme de données d’entrée correcte pour votre modèle dans un format similaire à `{'input':[1,1024,1024,3]}`.

   1. Choisissez **Suivant**.

1. Pour **Étape 2 : Instances et paramètres d’environnement**, procédez comme suit :

   1. (Facultatif) Pour **Sélectionner des instances à des fins de comparaison**, vous pouvez sélectionner jusqu’à 8 types d’instances que vous souhaitez comparer. Si vous ne sélectionnez aucune instance, Inference Recommender prend en compte tous les types d’instances.

   1. Choisissez **Suivant**.

1. Pour **Étape 3 : Paramètres de tâche**, procédez comme suit :

   1. (Facultatif) Dans le champ **Nom de la tâche**, entrez le nom de la tâche de recommandation de votre instance. Lorsque vous créez la tâche, SageMaker AI ajoute un horodatage à la fin de ce nom.

   1. (Facultatif) Dans le champ **Description de la tâche**, entrez une brève description de la tâche.

   1. (Facultatif) Dans la liste déroulante des **clés de chiffrement**, choisissez une AWS KMS clé par son nom ou entrez son ARN pour chiffrer vos données.

   1. (Facultatif) Pour **Durée (s) maximale (s) de test**, entrez le nombre maximal de secondes pendant lequel vous souhaitez que chaque test s’exécute.

   1. (Facultatif) Pour **Invocations par minute**, entrez le nombre maximal de demandes par minute que le point de terminaison peut atteindre avant d’arrêter la tâche de recommandation. Une fois cette limite atteinte, l' SageMaker IA met fin au travail.

   1. (Facultatif) Pour **Seuil de latence du modèle P99 (ms)**, entrez le percentile de latence du modèle en millisecondes.

   1. Choisissez **Suivant**.

1. Pour **Étape 4 : Vérification de la tâche**, passez en revue vos configurations, puis choisissez **Soumettre**.

------