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 sur Amazon SageMaker, et vous pouvez la publier sur ce site AWS Marketplace. Les sections suivantes expliquent comment procéder à l'aide du AWS Management Console et du 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 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 que les acheteurs et les vendeurs puissent être sûrs que les produits fonctionnent SageMaker, 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, utilisez SageMaker 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 SageMaker.
-
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
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. Si la validation échoue, vous pouvez accéder aux rapports de numérisation et de validation depuis la SageMaker console. 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 du SageMakerAPI.
Création d'une ressource d'algorithme (console)
Pour créer une ressource d'algorithme (console)
-
Ouvrez la SageMaker console à 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 SageMaker console et dans le AWS Marketplace.
-
Pour l'image de formation, saisissez le chemin dans Amazon ECR où est stocké votre conteneur de formation.
-
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.
-
Pour les types de contenu pris en charge, MIME saisissez le type 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 :
-
Pour la spécification des hyperparamètres, spécifiez les hyperparamètres pris en charge par votre algorithme en modifiant l'JSONobjet. Pour chaque hyperparamètre pris en charge par votre algorithme, créez un JSON bloc semblable au suivant :
{ "DefaultValue": "5", "Description": "The first hyperparameter", "IsRequired": true, "IsTunable": false, "Name": "intRange", "Range": { "IntegerParameterRangeSpecification": { "MaxValue": "10", "MinValue": "1" }, "Type": "Integer" }
Dans leJSON, fournissez les informations suivantes :
-
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 avec SageMaker. -
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 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 SageMaker utilisée 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 avec SageMaker.
-
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 Emplacement de l'image d'inférence, saisissez le chemin dans Amazon ECR où votre conteneur d'inférence est stocké.
-
Dans Nom DNS d'hôte du conteneur, tapez le nom d'un DNS hôte 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 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 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.
-
Dans MIMETypes de réponses pris en charge, tapez les MIME types pris en charge par votre algorithme 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 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é.
-
Pour IAMle rôle, choisissez un IAM rôle 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. -
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 JSON bloc qui décrit un poste de formation. Il s'agit du même format que le paramètre
TrainingJobDefinition
d'entrée duCreateAlgorithm
API. -
Une définition de tâche de transformation. Il s'agit d'un JSON bloc qui décrit une tâche de transformation par lots. Il s'agit du même format que le paramètre
TransformJobDefinition
d'entrée duCreateAlgorithm
API.
-
-
Choisissez Create algorithm (Créer un algorithme).
-
Créer une ressource d'algorithme (API)
Pour créer une ressource d'algorithme à l'aide du SageMaker API, appelez le CreateAlgorithm
API.