Utilisation d'un algorithme pour exécuter une tâche d'entraînement - Amazon SageMaker

Utilisation d'un algorithme pour exécuter une tâche d'entraînement

Vous pouvez utiliser une ressource d'algorithme afin de créer une tâche d'entraînement à l'aide de la console Amazon SageMaker, de l'API SageMaker de bas niveau ou du kit SDK Python Amazon SageMaker.

Utilisation d'un algorithme pour exécuter une tâche d'entraînement (console)

Pour utiliser un algorithme afin d'exécuter une tâche d'entraînement (console)

  1. Ouvrez la console SageMaker à l'adresse https://console.aws.amazon.com/sagemaker/.

  2. Choisissez Algorithmes.

  3. Choisissez un algorithme que vous avez créé dans la liste de l'onglet My algorithms (Mes algorithmes) ou choisissez un algorithme auquel vous vous êtes abonné sur l'onglet des abonnements AWS Marketplace.

  4. Choisissez Créer une tâche d'entraînement.

    L'algorithme que vous avez choisi sera automatiquement sélectionné.

  5. Sur la page Créer une tâche d'entraînement, fournissez les informations suivantes :

    1. Sous Nom de la tâche, nommez la tâche d'entraînement.

    2. Sous IAM role (Rôle IAM), choisissez un rôle IAM qui détient les autorisations requises pour exécuter les tâches d'entraînement dans SageMaker, ou choisissez Create a new role (Créer un rôle) afin que SageMaker crée un rôle avec la politique gérée AmazonSageMakerFullAccess attachée. Pour plus d'informations, consultez Rôles SageMaker.

    3. Sous Configuration des ressources, fournissez les informations suivantes :

      1. Sous Type d'instance, choisissez le type d'instance à utiliser pour l'entraînement.

      2. Sous Nombre d'instances, saisissez le nombre d'instances ML à utiliser pour la tâche d'entraînement.

      3. Sous Taille du volume par instance (Go), entrez la taille du volume de stockage ML que vous souhaitez allouer. Les volumes de stockage ML stockent les artefacts de modèles et les états incrémentiels.

      4. Sous Encryption key (Clé de chiffrement), spécifiez la clé si vous voulez qu'Amazon SageMaker utilise une clé AWS Key Management Service pour chiffrer les données dans le volume de stockage ML attaché à l'instance d'entraînement.

      5. Sous Condition d'arrêt, spécifiez la durée maximale, en secondes, en minutes, en heures ou en jours, pendant laquelle doit s'exécuter la tâche d'entraînement.

    4. Sous VPC, choisissez un Amazon VPC auquel votre conteneur d'entraînement pourra accéder. Pour de plus amples informations, veuillez consulter Attribuer aux tâches d'entraînement SageMaker l'accès aux ressources de votre Amazon VPC.

    5. Sous Hyperparamètres, spécifiez les valeurs des hyperparamètres à utiliser pour la tâche d'entraînement.

    6. Sous Configuration des données d'entrée, spécifiez les valeurs suivantes pour chaque canal de données d'entrée à utiliser pour la tâche d'entraînement. Les canaux pris en charge par l'algorithme que vous utilisez pour l'entraînement, le type de contenu, le type de compression pris en charge et les modes d'entrée pris en charge pour chaque canal sont visibles sous la section Channel spécification (Spécification de canal) de la page Algorithm summary (Récapitulatif d'algorithme) de l'algorithme.

      1. Dans le champ Nom du canal, saisissez le nom du canal d'entrée.

      2. Sous Type de contenu, saisissez le type de contenu des données attendu par l'algorithme pour le canal.

      3. Sous Type de compression, choisissez le type de compression des données à utiliser, le cas échéant.

      4. Sous Habillage des enregistrements, choisissez RecordIO si l'algorithme attend des données au format RecordIO.

      5. Sous Type de données S3, Type de distribution de données S3 et Emplacement S3, spécifiez les valeurs appropriées. Pour obtenir des informations sur la signification de ces valeurs, veuillez consulter S3DataSource.

      6. Sous Mode d'entrée, choisissez Fichier afin de télécharger les données depuis le volume de stockage ML alloué et montez le répertoire dans un volume Docker. Choisissez Pipe (Tube) pour diffuser directement les données d'Amazon S3 vers le conteneur.

      7. Pour ajouter un autre canal d'entrée, choisissez Ajouter canal. Si vous avez terminé d'ajouter des canaux d'entrée, choisissez Terminé.

    7. Sous l'emplacement Sortie, spécifiez les valeurs suivantes :

      1. Sous Chemin de sortie S3, choisissez l'emplacement S3 où la tâche d'entraînement stocke la sortie, tels les artefacts de modèles.

        Note

        Vous utilisez les artefacts de modèles stockés à cet emplacement pour créer un modèle ou un package de modèle à partir de cette tâche d'entraînement.

      2. Spécifiez une Encryption key (Clé de chiffrement) si vous voulez que SageMaker utilise une clé AWS KMS pour chiffrer les données de sortie au repos dans l'emplacement S3.

    8. Sous Balises, spécifiez une ou plusieurs balises permettant de gérer la tâche d'entraînement. Chaque balise est constituée d'une clé et d'une valeur facultative. Les clés de balise doivent être uniques à chaque ressource.

    9. Choisissez Créer une tâche d'entraînement afin d'exécuter la tâche d'entraînement.

Utilisation d'un algorithme pour exécuter une tâche d'entraînement (API)

Pour utiliser un algorithme afin d'exécuter une tâche d'entraînement à l'aide de l'API SageMaker, spécifiez le nom ou l'Amazon Resource Name (ARN) dans le champ AlgorithmName de l'objet AlgorithmSpecification que vous transmettez à CreateTrainingJob. Pour obtenir des informations sur les modèles d'entraînement dans SageMaker, veuillez consulter Entraînement d'un modèle dans Amazon SageMaker.

Utiliser un algorithme pour exécuter une tâche d'entraînement (kit SDK Python Amazon SageMaker)

Utilisez un algorithme que vous avez créé ou auquel vous êtes abonné sur AWS Marketplace afin de créer une tâche d'entraînement, de créer un objet AlgorithmEstimator et de spécifier l'ARN (Amazon Resource Name) ou le nom de l'algorithme comme valeur de l'argument algorithm_arn. Appelez ensuite la méthode fit de l'évaluateur. Exemples :

from sagemaker import AlgorithmEstimator data_path = os.path.join(DATA_DIR, 'marketplace', 'training') algo = AlgorithmEstimator( algorithm_arn='arn:aws:sagemaker:us-east-2:012345678901:algorithm/my-algorithm', role='SageMakerRole', instance_count=1, instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session, base_job_name='test-marketplace') train_input = algo.sagemaker_session.upload_data( path=data_path, key_prefix='integ-test-data/marketplace/train') algo.fit({'training': train_input})