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 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 devez spécifier 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 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 :
-
Créez un poste de formation dans votre compte pour vérifier que votre image de formation fonctionne avec l' SageMaker IA.
-
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.
-
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.
Création d'une ressource d'algorithme (console)
Pour créer une ressource d'algorithme (console)
-
Ouvrez la console SageMaker AI à l'adresse https://console.aws.amazon.com/sagemaker/
. -
Dans le menu de gauche, sélectionnez Training (Entraînement).
-
Dans le menu déroulant, sélectionnez Algorithms (Algorithmes), puis Create algorithm (Créer un algorithme).
-
Sur la page Training specifications (Spécifications d'entraînement), fournissez les informations suivantes :
-
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 (-).
-
Décrivez votre algorithme. Cette description apparaît dans la console SageMaker AI et dans le AWS Marketplace.
-
Sous Training image (Image d'entraînement), saisissez le chemin d'accès dans Amazon ECR où votre conteneur d'entraînement est stocké.
-
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.
-
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.
-
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
ettest
. Pour chaque canal, spécifiez les informations suivantes :-
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 (-).
-
Pour exiger le canal lié à votre algorithme, choisissez Channel required (Canal obligatoire).
-
Décrivez le canal.
-
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.
-
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.
-
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).
-
Choisissez Ajouter canal pour ajouter un autre canal d'entrée de données ou Suivant si vous avez terminé l'ajout de canaux.
-
-
-
Sur la page Tuning specifications (Spécifications de réglage), fournissez les informations suivantes :
-
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 :
-
Pour
DefaultValue
, spécifiez une valeur par défaut de l'hyperparamètre, le cas échéant. -
Pour
Description
, décrivez l'hyperparamètre. -
Pour
IsRequired
, indiquez si l'hyperparamètre est obligatoire. -
Pour
IsTunable
, spécifieztrue
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. -
Pour
Name
, spécifiez un nom pour l'hyperparamètre. -
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.
-
-
Pour
Type
, spécifiezInteger
,Continuous
ouCategorical
. La valeur doit correspondre au type deRange
que vous avez spécifié.
-
-
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, veuillez consulter Amazon CloudWatch Metrics pour le suivi et l'analyse des offres de formation. Pour chaque métrique, indiquez les informations suivantes :
-
Sous Nom de métrique, nommez la métrique.
-
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. -
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 Réglage automatique du modèle grâce à l' SageMaker IA.
-
Choisissez Ajouter une métrique pour ajouter une autre métrique ou Suivant si vous avez terminé l'ajout de métriques.
-
-
-
Sur la page Inference specifications (Spécifications de l'inférence), fournissez les informations suivantes si votre algorithme prend en charge l'inférence :
-
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é.
-
Sous Container DNS host name (Nom d'hôte DNS du conteneur), tapez le nom d'un hôte DNS pour votre image.
-
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, veuillez consulter Déploiement de modèles pour l'inférence.
-
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 .
-
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.
-
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.
-
Choisissez Suivant.
-
-
Sur la page Validation specifications (Spécifications de validation), spécifiez les informations ci-dessous :
-
Pour Publier cet algorithme sur AWS Marketplace, choisissez Oui pour publier l'algorithme AWS Marketplace.
-
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é.
-
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, veuillez consulter Comment utiliser les rôles d'exécution de l' SageMaker IA. -
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'APICreateAlgorithm
. -
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'APICreateAlgorithm
.
-
-
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'CreateAlgorithm
API.