Création d'une ressource d'algorithme - Amazon SageMaker

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

Pour créer une ressource d'algorithme que vous pouvez utiliser pour exécuter des tâches de formation sur Amazon SageMaker et les publier, AWS Marketplace 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 la formation.

  • 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 la formation et l'inférence, et l'information relative à la prise en charge ou non de la formation distribuée sur plusieurs instances.

  • Les profils de validation, qui sont des tâches d'entraînement SageMaker utilisées pour tester le code d'apprentissage de votre algorithme et des tâches de transformation par lots qui SageMaker s'exécutent pour tester le code d'inférence de votre algorithme.

    Pour garantir aux acheteurs et aux vendeurs le bon fonctionnement des produits dans SageMaker, vous êtes tenu de valider vos algorithmes avant de les répertorier sur AWS Marketplace. Vous ne pouvez y mettre des produits AWS Marketplace que si la validation aboutit. Pour valider vos algorithmes, utilisez SageMaker 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 SageMaker.

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

    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 SageMaker console, consultez les pages Tâches de formation 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 . 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 SageMaker console ou de l' SageMakerAPI.

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

Pour créer une ressource d'algorithme (console)
  1. Ouvrez la SageMaker console à 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 Training specifications (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 (-).

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

    3. Sous Training image (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, veuillez consulter Effectuez le réglage automatique du modèle avec SageMaker.

      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. Pour les définitions de métriques, spécifiez les métriques d'entraînement que vous souhaitez que votre algorithme émette. SageMaker 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, veuillez consulter Surveillez et analysez les offres de formation à l'aide d'Amazon CloudWatch Metrics. Pour chaque métrique, indiquez les informations suivantes :

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

      2. PourRegex, tapez l'expression régulière SageMaker utilisée pour analyser les journaux d'entraînement afin de trouver la valeur de la métrique.

      3. Sous Objective metric support (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 Effectuez le réglage automatique du modèle avec SageMaker.

      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 Inference specifications (Spécifications de l'inférence), fournissez les informations suivantes si votre algorithme prend en charge l'inférence :

    1. Pour Location of inference image (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. Pour 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. Pour plus d'informations, veuillez consulter 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, veuillez consulter Utilisez la transformation par lots pour exécuter l'inférence avec Amazon 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. Pour Publier cet algorithme sur AWS Marketplace, choisissez Oui pour publier l'algorithme AWS Marketplace.

    2. Pour Valider cette ressource, choisissez Oui si vous SageMaker souhaitez exécuter des tâches d'entraînement et/ou des tâches de transformation par lots que vous spécifiez pour tester le code d'apprentissage et/ou d'inférence de votre algorithme.

      Note

      Pour publier votre algorithme sur AWS Marketplace, celui-ci doit être validé.

    3. 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 SageMaker, ou choisissez Créer un nouveau rôle SageMaker pour autoriser la création d'un rôle auquel la politique AmazonSageMakerFullAccess gérée est attachée. Pour plus d'informations, veuillez consulter Comment utiliser les rôles SageMaker d'exécution.

    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' SageMaker API, appelez l'CreateAlgorithmAPI.