Création d’une ressource d’algorithme - Amazon SageMaker AI

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 ressource d’algorithme

Vous pouvez créer une ressource d’algorithme à utiliser pour les tâches d’entraînement dans Amazon SageMaker AI et vous pouvez la publier sur AWS Marketplace. Les sections suivantes expliquent comment le faire à l’aide de l’API AWS Management Console et de l’API SageMaker.

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.

  • Les métriques envoyées par votre algorithme à Amazon CloudWatch durant les tâches d’entraînement.

  • 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 d’entraînement utilisées par SageMaker AI pour tester le code d’entraînement de votre algorithme, et des tâches de transformation par lots exécutées par SageMaker AI pour tester le code d’inférence de votre algorithme.

    Pour garantir aux acheteurs et aux vendeurs le bon fonctionnement des produits dans SageMaker AI, vous êtes tenu de valider vos algorithmes avant de les répertorier sur AWS Marketplace. Vous pouvez répertorier des produits sur AWS Marketplace uniquement si la validation aboutit. Pour valider vos algorithmes, SageMaker AI utilise votre profil de validation et des exemples de données afin d’exécuter les tâches de validation suivantes :

    1. Création d’une tâche d’entraînement dans votre compte pour vérifier que votre image d’entraînement fonctionne avec SageMaker AI.

    2. 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.

    3. Si vous avez inclus le 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 AI.

    Lorsque vous répertoriez votre produit sur AWS Marketplace, les entrées et sorties de ce processus de validation sont conservées et liées à votre produit. Elles 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 consulter le statut des tâches dans votre compte, dans la console SageMaker AI, consultez les pages Tâches d’entraînement et Tâches de transformation. En cas d’échec de la validation, vous pouvez accéder aux rapports d’analyse 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 AI ou de l’API SageMaker AI.

Création d’une ressource d’algorithme (console)

Pour créer une ressource d’algorithme (console)
  1. Ouvrez la console Amazon SageMaker AI à l’adresse https://console.aws.amazon.com/sagemaker/.

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

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

  4. 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 région AWS. 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 (-).

    2. Décrivez votre algorithme. Cette description s’affiche dans la console SageMaker AI et sur AWS Marketplace.

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

    4. 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.

    5. 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.

    6. 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 (-).

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

      3. Décrivez le canal.

      4. 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.

      5. 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.

      6. 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).

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

  5. 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.

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

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

      4. 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, consultez Réglage automatique du modèle grâce à l' SageMaker IA.

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

      6. 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.

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

    2. Sous Metric definitions (Définitions de métriques), spécifiez les métriques d’entraînement que votre algorithme doit émettre. SageMaker AI utilise l’expression régulière que vous spécifiez pour rechercher les métriques en analysant les journaux de votre conteneur d’entraînement durant l’entraînement. Les utilisateurs peuvent afficher ces métriques lorsqu’ils exécutent des tâches d’entraînement avec votre algorithme ; ils peuvent contrôler et représenter graphiquement les métriques dans Amazon CloudWatch. Pour plus d’informations, consultez Métriques Amazon CloudWatch pour la surveillance et l’analyse des tâches d’entraînement. Pour chaque métrique, indiquez les informations suivantes :

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

      2. Sous Regex, saisissez l’expression régulière utilisée par SageMaker AI pour analyser les journaux d’entraînement afin de rechercher la valeur de la métrique.

      3. 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, consultez Réglage automatique du modèle grâce à l' SageMaker IA.

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

  6. 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é.

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

    3. Sous Supported instance types for real-time inference (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 comme points de terminaison hébergés dans SageMaker AI. Pour plus d’informations, consultez Déploiement de modèles pour l'inférence.

    4. 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, consultez Transformation par lots à des fins d'inférence avec Amazon AI SageMaker .

    5. 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.

    6. 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.

    7. Choisissez Suivant.

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

    1. Sous Publish this algorithm on AWS Marketplace (Publier cet algorithme), choisissez Oui pour publier l’algorithme sur AWS Marketplace.

    2. Sous Valider cette ressource, choisissez Oui pour que SageMaker AI exécute les tâches d’entraînement et/ou les tâches de transformation par lots que vous spécifiez afin de tester le code d’entraînement et/ou d’inférence de votre algorithme.

      Note

      Pour pouvoir le publier sur AWS Marketplace, votre algorithme doit avoir été validé.

    3. Sous Rôle IAM, choisissez un rôle IAM qui détient les autorisations requises pour exécuter les tâches d’entraînement et les tâches de transformation par lots dans SageMaker AI, ou choisissez Créer un rôle afin que SageMaker AI crée un rôle avec la politique gérée AmazonSageMakerFullAccess attachée. Pour plus d’informations, consultez Comment utiliser les rôles d'exécution de l' SageMaker IA.

    4. Sous Validation profile (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 TrainingJobDefinition de l’API CreateAlgorithm.

      • 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 TransformJobDefinition de l’API CreateAlgorithm.

    5. Choisissez Create algorithm (Créer un algorithme).

Création d’une ressource d’algorithme (API)

Pour créer une ressource d’algorithme à l’aide de l’API SageMaker, appelez l’API CreateAlgorithm.