

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 de ressources d’algorithme et de package de modèle
<a name="sagemaker-mkt-create"></a>

Une fois que votre code d' and/or inférence d'entraînement est intégré dans des conteneurs Docker, créez des ressources d'algorithmes et de packages de modèles que vous pouvez utiliser dans votre compte Amazon SageMaker AI et, éventuellement, y publier. AWS Marketplace

**Topics**
+ [

# Création d’une ressource d’algorithme
](sagemaker-mkt-create-algo.md)
+ [

# Création d’une ressource de package de modèle
](sagemaker-mkt-create-model-package.md)

# Création d’une ressource d’algorithme
<a name="sagemaker-mkt-create-algo"></a>

Vous pouvez créer une ressource d'algorithme à utiliser pour les tâches de formation dans Amazon SageMaker AI, et vous pouvez la publier sur ce site AWS Marketplace. Les sections suivantes expliquent comment procéder à l'aide de l'API AWS Management Console et de l' SageMaker API.

Pour créer une ressource d’algorithme, vous spécifiez les informations suivantes :
+ Les conteneurs Docker qui contiennent le code d’entraînement et, éventuellement, d’inférence.
+ La configuration des données d’entrée attendues par votre algorithme pour l’entraînement.
+ Les hyperparamètres pris en charge par votre algorithme.
+ Mesures que votre algorithme envoie à Amazon CloudWatch pendant les tâches de formation.
+ Les types d’instances pris en charge par votre algorithme pour l’entraînement et l’inférence, et l’information relative à la prise en charge ou non de l’entraînement distribué sur plusieurs instances.
+ Les profils de validation, qui sont des tâches de formation que l' SageMaker IA utilise pour tester le code d'apprentissage de votre algorithme et des tâches de transformation par lots que l' SageMaker IA exécute pour tester le code d'inférence de votre algorithme.

  Pour que les acheteurs et les vendeurs puissent être sûrs que les produits fonctionnent grâce à l' SageMaker IA, nous vous demandons de valider vos algorithmes avant de les mettre en vente AWS Marketplace. Vous ne pouvez y mettre des produits AWS Marketplace que si la validation aboutit. Pour valider vos algorithmes, l' SageMaker IA utilise votre profil de validation et des exemples de données pour exécuter les tâches de validation suivantes :

  1. Créez un poste de formation dans votre compte pour vérifier que votre image de formation fonctionne avec l' SageMaker IA.

  1. Si vous avez inclus le code d’inférence dans l’algorithme, créer un modèle dans votre compte à l’aide de l’image d’inférence de l’algorithme et des artefacts de modèles produits par la tâche d’entraînement.

  1. Si vous avez inclus un code d'inférence dans votre algorithme, créez une tâche de transformation dans votre compte à l'aide du modèle pour vérifier que votre image d'inférence fonctionne avec SageMaker l'IA.

  Lorsque vous mettez votre produit en vente AWS Marketplace, les entrées et les sorties de ce processus de validation sont conservées dans le cadre de votre produit et sont mises à la disposition de vos acheteurs. Les acheteurs peuvent ainsi mieux comprendre et évaluer le produit avant de l’acheter. Par exemple, les acheteurs peuvent examiner les données d’entrée que vous avez utilisées, les sorties générées et les journaux et métriques émis par votre code. Il leur sera d’autant plus facile d’évaluer votre produit si votre spécification de validation est exhaustive.
**Note**  
Dans votre profil de validation, fournissez uniquement les données que vous souhaitez exposer publiquement.

  La validation peut durer plusieurs heures. Pour connaître le statut des tâches de votre compte, dans la console SageMaker AI, consultez les pages Tâches de **formation** et **Tâches de transformation**. Si la validation échoue, vous pouvez accéder aux rapports de scan et de validation depuis la console SageMaker AI. Si des problèmes sont détectés, vous devrez recréer l’algorithme.
**Note**  
Pour publier votre algorithme sur AWS Marketplace, au moins un profil de validation est requis.

Vous pouvez créer un algorithme à l'aide de la console SageMaker IA ou de l'API SageMaker AI.

**Topics**
+ [

## Création d’une ressource d’algorithme (console)
](#sagemaker-mkt-create-algo-console)
+ [

## Création d’une ressource d’algorithme (API)
](#sagemaker-mkt-create-algo-api)

## Création d’une ressource d’algorithme (console)
<a name="sagemaker-mkt-create-algo-console"></a>

**Pour créer une ressource d’algorithme (console)**

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

1. Dans le menu de gauche, sélectionnez **Training** (Entraînement).

1. Dans le menu déroulant, sélectionnez **Algorithms** (Algorithmes), puis **Create algorithm** (Créer un algorithme).

1. Sur la page **Spécifications d’entraînement**, fournissez les informations suivantes :

   1. Nommez votre algorithme dans le champ **Nom de l’algorithme**. Le nom de l'algorithme doit être unique dans votre compte et dans la AWS région. Il doit comporter entre 1 et 64 caractères. Les caractères valides sont : a-z, A-Z, 0-9 et le trait d’union (-).

   1. Décrivez votre algorithme. Cette description apparaît dans la console SageMaker AI et dans le AWS Marketplace.

   1. Sous **Image d’entraînement, saisissez le chemin d’accès dans Amazon ECR où votre conteneur d’entraînement est stocké.**

   1. Sous **Support distributed training (Prendre en charge l’entraînement distribué)**, choisissez **Oui** si votre algorithme prend en charge l’entraînement sur plusieurs instances. Sinon, choisissez **Non**.

   1. Sous **Support instance types for training (Prendre en charge les types d’instances pour l’entraînement)**, choisissez les types d’instances pris en charge par votre algorithme.

   1. Sous **Channel spécification (Spécification des canaux)**, spécifiez jusqu’à 8 canaux de données d’entrée pour votre algorithme. Par exemple, vous pouvez spécifier les trois canaux d’entrée nommés `train`, `validation` et `test`. Pour chaque canal, spécifiez les informations suivantes :

      1. Sous **Nom du canal**, tapez un nom pour le canal. Il doit comporter entre 1 et 64 caractères. Les caractères valides sont : a-z, A-Z, 0-9 et le trait d’union (-).

      1. Pour exiger le canal lié à votre algorithme, choisissez **Channel required (Canal obligatoire)**.

      1. Décrivez le canal.

      1. Sous **Supported input modes (Modes d’entrée pris en charge)**, choisissez **Pipe mode (Mode Tube)** si votre algorithme prend en charge le streaming des données d’entrée et **File mode (Mode Fichier)** si votre algorithme prend en charge le téléchargement des données d’entrée en tant que fichier. Vous pouvez choisir les deux modes.

      1. Sous **Supported content types (Types de contenu pris en charge)**, saisissez le type MIME attendu par votre algorithme pour les données d’entrée.

      1. Sous **Supported compression type (Type de compression pris en charge)**, choisissez **Gzip** si votre algorithme prend en charge la compression gzip. Sinon, sélectionnez **None (Aucun)**.

      1. Choisissez **Ajouter canal** pour ajouter un autre canal d’entrée de données ou **Suivant** si vous avez terminé l’ajout de canaux.

1. Sur la page **Tuning specifications (Spécifications de réglage)**, fournissez les informations suivantes :

   1. Sous **Hyperparameter specification (Spécification d’hyperparamètre)**, spécifiez les hyperparamètres pris en charge par votre algorithme en modifiant l’objet JSON. Pour chaque hyperparamètre pris en charge par votre algorithme, construisez un bloc JSON similaire à ce qui suit :

      ```
      {
      "DefaultValue": "5",
      "Description": "The first hyperparameter",
      "IsRequired": true,
      "IsTunable": false,
      "Name": "intRange",
      "Range": {
      "IntegerParameterRangeSpecification": {
      "MaxValue": "10",
      "MinValue": "1"
      },
      "Type": "Integer"
      }
      ```

      Dans l’objet JSON, précisez ce qui suit :

      1. Pour `DefaultValue`, spécifiez une valeur par défaut de l’hyperparamètre, le cas échéant.

      1. Pour `Description`, décrivez l’hyperparamètre.

      1. Pour `IsRequired`, indiquez si l’hyperparamètre est obligatoire.

      1. Pour `IsTunable`, spécifiez `true` si cet hyperparamètre peut être ajusté lorsqu’un utilisateur exécute une tâche de réglage des hyperparamètres reposant sur cet algorithme. Pour plus d'informations, veuillez consulter [Réglage automatique du modèle grâce à l' SageMaker IA](automatic-model-tuning.md).

      1. Pour `Name`, spécifiez un nom pour l’hyperparamètre.

      1. Pour `Range`, spécifiez l’une des valeurs suivantes :
         + `IntegerParameterRangeSpecification` : les valeurs de l’hyperparamètre sont des nombres entiers. Spécifiez les valeurs minimum et maximum de l’hyperparamètre.
         + 
         + `ContinuousParameterRangeSpecification` : les valeurs de l’hyperparamètre sont des valeurs à virgule flottante. Spécifiez les valeurs minimum et maximum de l’hyperparamètre.
         + `CategoricalParameterRangeSpecification` : les valeurs de l’hyperparamètre sont des valeurs catégorielles. Spécifiez une liste de toutes les valeurs possibles.

      1. Pour `Type`, spécifiez `Integer`, `Continuous` ou `Categorical`. La valeur doit correspondre au type de `Range` que vous avez spécifié.

   1. Pour **les définitions de métriques**, spécifiez les métriques d'entraînement que vous souhaitez que votre algorithme émette. SageMaker L'IA utilise l'expression régulière que vous spécifiez pour trouver les métriques en analysant les journaux de votre conteneur d'entraînement pendant l'entraînement. Les utilisateurs peuvent consulter ces indicateurs lorsqu'ils exécutent des tâches de formation avec votre algorithme, et ils peuvent surveiller et tracer les indicateurs sur Amazon CloudWatch. Pour plus d'informations, consultez [Amazon CloudWatch Metrics pour le suivi et l'analyse des offres de formation](training-metrics.md). Pour chaque métrique, indiquez les informations suivantes :

      1. Sous **Nom de métrique**, nommez la métrique.

      1. Pour`Regex`, tapez l'expression régulière que l' SageMaker IA utilise pour analyser les journaux d'entraînement afin de trouver la valeur de la métrique.

      1. Sous **Prise en charge de la métrique d’objectif**, choisissez **Oui** si cette métrique peut être utilisée comme métrique d’objectif pour une tâche de réglage d’hyperparamètre. Pour plus d'informations, veuillez consulter [Réglage automatique du modèle grâce à l' SageMaker IA](automatic-model-tuning.md).

      1. Choisissez **Ajouter une métrique** pour ajouter une autre métrique ou **Suivant** si vous avez terminé l’ajout de métriques.

1. Sur la page **Spécifications de l’inférence**, fournissez les informations suivantes si votre algorithme prend en charge l’inférence :

   1. Pour **Emplacement de l’image d’inférence**, saisissez le chemin d’accès dans Amazon ECR où votre conteneur d’inférence est stocké.

   1. Sous **Container DNS host name (Nom d’hôte DNS du conteneur)**, tapez le nom d’un hôte DNS pour votre image.

   1. Pour les **types d'instances pris en charge pour l'inférence en temps réel**, choisissez les types d'instances pris en charge par votre algorithme pour les modèles déployés en tant que points de terminaison hébergés dans SageMaker l'IA. Pour plus d'informations, consultez [Déploiement de modèles pour l'inférence](deploy-model.md).

   1. Sous **Supported instance types for batch transform jobs (Types d’instances pris en charge pour les tâches de transformation par lots)**, choisissez les types d’instances pris en charge par votre algorithme pour les tâches de transformation par lots. Pour plus d'informations, veuillez consulter [Transformation par lots à des fins d'inférence avec Amazon AI SageMaker](batch-transform.md).

   1. Sous **Supported content types (Types de contenu pris en charge)**, saisissez le type de données d’entrée attendu par votre algorithme pour les demandes d’inférence.

   1. Sous **Supported response MIME types (Types MIME de réponse pris en charge)**, tapez les types MIME que votre algorithme prend en charge pour les réponses d’inférence.

   1. Choisissez **Suivant**.

1. Sur la page **Validation specifications (Spécifications de validation)**, spécifiez les informations ci-dessous :

   1. Pour **Publier cet algorithme sur AWS Marketplace**, choisissez **Oui** pour publier l'algorithme AWS Marketplace.

   1. Pour **Valider cette ressource**, choisissez **Oui** si vous souhaitez que l' SageMaker IA exécute le code d'and/or batch transform jobs that you specify to test the training and/orinférence des tâches d'entraînement de votre algorithme.
**Note**  
Pour publier votre algorithme sur AWS Marketplace, celui-ci doit être validé.

   1. Pour le **rôle IAM**, choisissez un rôle IAM disposant des autorisations requises pour exécuter des tâches de formation et des tâches de transformation par lots dans SageMaker AI, ou choisissez **Create a new role** pour permettre à SageMaker AI de créer un rôle auquel la politique `AmazonSageMakerFullAccess` gérée est attachée. Pour plus d'informations, consultez [Comment utiliser les rôles d'exécution de l' SageMaker IA](sagemaker-roles.md).

   1. Sous **Profil de validation**, spécifiez ce qui suit :
      + Un nom pour le profil de validation.
      + Une **définition de tâche d’entraînement**. Il s’agit d’un bloc JSON qui décrit une tâche d’entraînement. Ce paramètre a le même format que le paramètre d’entrée [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingJobDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingJobDefinition.html) de l’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html).
      + Une **définition de tâche de transformation**. Il s’agit d’un bloc JSON qui décrit une tâche de transformation par lots. Ce paramètre a le même format que le paramètre d'entrée [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html) de l'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html).

   1. Choisissez **Create algorithm (Créer un algorithme)**.

## Création d’une ressource d’algorithme (API)
<a name="sagemaker-mkt-create-algo-api"></a>

Pour créer une ressource d'algorithme à l'aide de l' SageMaker API, appelez l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html)API. 

# Création d’une ressource de package de modèle
<a name="sagemaker-mkt-create-model-package"></a>

Pour créer une ressource de package de modèles que vous pouvez utiliser pour créer des modèles déployables dans Amazon SageMaker AI et les publier, AWS Marketplace spécifiez les informations suivantes :
+ Le conteneur Docker qui contient le code d’inférence ou la ressource d’algorithme qui a été utilisée pour former le modèle.
+ L’emplacement des artefacts de modèles. Les artefacts de modèle peuvent être empaquetés dans le même conteneur Docker que le code d’inférence ou stockés dans Amazon S3.
+ Les types d’instances pris en charge par votre package de modèle pour les tâches d’inférence et de transformation par lots en temps réel.
+ Les profils de validation, qui sont des tâches de transformation par lots que l' SageMaker IA exécute pour tester le code d'inférence du package de votre modèle.

  Avant de mettre en vente des modèles de packages AWS Marketplace, vous devez les valider. Cela garantit que les acheteurs et les vendeurs peuvent être sûrs que les produits fonctionnent dans Amazon SageMaker AI. Vous ne pouvez mettre en vente des produits AWS Marketplace que si la validation aboutit. 

  La procédure de validation utilise votre profil de validation et les exemples de données afin d’exécuter les tâches de validation ci-dessous :

  1. Création d’un modèle dans votre compte à l’aide de l’image d’inférence du package de modèle et des artefacts de modèle facultatifs qui sont stockés dans Amazon S3.
**Note**  
Un package de modèle est spécifique à la région dans laquelle vous le créez. Le compartiment S3 où les artefacts de modèle sont stockés doit se trouver dans la même région que celle où vous avez créé le package de modèle.

  1. Créez une tâche de transformation dans votre compte à l'aide du modèle pour vérifier que votre image d'inférence fonctionne avec l' SageMaker IA.

  1. Créez un profil de validation.
**Note**  
Dans votre profil de validation, fournissez uniquement les données que vous souhaitez exposer publiquement.

  La validation peut durer plusieurs heures. Pour connaître le statut des tâches de votre compte, consultez les pages de **transformation des tâches** dans la console SageMaker AI. Si la validation échoue, vous pouvez accéder aux rapports de scan et de validation depuis la console SageMaker AI. Une fois les problèmes corrigés, recréez l’algorithme. Lorsque le statut de l'algorithme est atteint`COMPLETED`, trouvez-le dans la console SageMaker AI et lancez le processus de listage
**Note**  
Pour publier votre modèle de package sur AWS Marketplace, au moins un profil de validation est requis.

Vous pouvez créer un modèle de package soit à l'aide de la console SageMaker AI, soit à l'aide de l' SageMaker API.

**Topics**
+ [

## Création d’une ressource de package de modèle (console)
](#sagemaker-mkt-create-model-pkg-console)
+ [

## Création d’une ressource de package de modèle (API)
](#sagemaker-mkt-create-model-pkg-api)

## Création d’une ressource de package de modèle (console)
<a name="sagemaker-mkt-create-model-pkg-console"></a>

**Pour créer un package modèle dans la console SageMaker AI :**

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

1. Dans le menu de gauche, sélectionnez **Inférence**.

1. Sélectionnez **Packages de marketplace**, puis sélectionnez **Créer un package de modèle de marketplace**.

1. Sur la page **Spécifications d’inférence**, fournissez les informations suivantes :

   1. Sous **Nom du package de modèle**, attribuez un nom au package de modèle. Le nom du package modèle doit être unique dans votre compte et dans la AWS région. Il doit comporter entre 1 et 64 caractères. Les caractères valides sont : a-z, A-Z, 0-9 et le trait d’union (-).

   1. Tapez une description pour votre package de modèle. Cette description apparaît dans la console SageMaker AI et dans le AWS Marketplace.

   1. Sous **Options de spécification d’inférence**, choisissez **Préciser l’emplacement de l’image d’inférence et des artefacts de modèles** afin de créer un package de modèle à l’aide d’un conteneur d’inférence et d’artefacts de modèles. Choisissez **Préciser l’algorithme utilisé pour l’entraînement et ses artefacts de modèles** afin de créer un package de modèle à partir d’une ressource d’algorithme que vous avez créée ou à laquelle vous vous êtes abonné sur AWS Marketplace.

   1. Si vous avez choisi **Préciser l’emplacement de l’image d’inférence et des artefacts de modèles** comme **Options de spécification d’inférence**, fournissez les informations suivantes dans les champs **Définition de conteneur** et **Ressources prises en charge** :

      1. Sous **Emplacement de l’image d’inférence**, tapez le chemin d’accès à l’image qui contient le code d’inférence. L’image doit être stockée en tant que conteneur Docker dans Amazon ECR.

      1. Sous **Emplacement des artefacts de données de modèles**, tapez l’emplacement dans S3 où sont stockés les artefacts de modèles.

      1. Sous **Nom d’hôte DNS du conteneur**, tapez le nom de l’hôte DNS à utiliser pour votre conteneur.

      1. Pour les **types d'instances pris en charge pour l'inférence en temps réel**, choisissez les types d'instances pris en charge par votre package de modèles pour l'inférence en temps réel à partir de points de terminaison hébergés par l' SageMaker IA.

      1. Sous **Types d’instances pris en charge pour les tâches de transformation par lots**, choisissez les types d’instances pris en charge par votre package de modèle pour les tâches de transformation par lots.

      1. Sous **Types de contenu pris en charge**, saisissez les types de contenu attendus par votre package de modèle pour les demandes d’inférence.

      1. Sous **Types MIME de réponse pris en charge**, tapez les types MIME utilisés par votre modèle pour fournir des inférences.

   1. Si vous avez choisi **Préciser l’algorithme utilisé pour l’entraînement et ses artefacts de modèles** comme **Options de spécification d’inférence**, fournissez les informations suivantes :

      1. Sous **ARN de l’algorithme**, saisissez l’Amazon Resource Name (ARN) de la ressource d’algorithme à utiliser pour créer le package de modèle.

      1. Sous **Emplacement des artefacts de données de modèles**, tapez l’emplacement dans S3 où sont stockés les artefacts de modèles.

   1. Choisissez **Suivant**.

1. Sur la page **Validation et analyse**, fournissez les informations suivantes :

   1. Pour **Publier ce modèle de package sur AWS Marketplace**, choisissez **Oui** pour publier le modèle de package sur AWS Marketplace.

   1. Pour **Valider cette ressource**, choisissez **Oui** si vous souhaitez que l' SageMaker IA exécute les tâches de transformation par lots que vous spécifiez pour tester le code d'inférence de votre package de modèle.
**Note**  
Pour publier votre modèle de package sur AWS Marketplace, celui-ci doit être validé.

   1. Pour le **rôle IAM**, choisissez un rôle IAM disposant des autorisations requises pour exécuter des tâches de transformation par lots dans SageMaker AI, ou choisissez **Create a new role** pour permettre à SageMaker AI de créer un rôle auquel la politique `AmazonSageMakerFullAccess` gérée est attachée. Pour plus d'informations, consultez [Comment utiliser les rôles d'exécution de l' SageMaker IA](sagemaker-roles.md).

   1. Sous **Profil de validation**, spécifiez ce qui suit :
      + Un nom pour le profil de validation.
      + Une **définition de tâche de transformation**. Il s’agit d’un bloc JSON qui décrit une tâche de transformation par lots. Ce paramètre a le même format que le paramètre d’entrée [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html) de l’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html).

1. Sélectionnez **Créer un package de modèle de marketplace**.

## Création d’une ressource de package de modèle (API)
<a name="sagemaker-mkt-create-model-pkg-api"></a>

Pour créer un package modèle à l'aide de l' SageMaker API, appelez l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html)API. 