Entraînement de modèle à l'aide de la commande modeltraining - Amazon Neptune

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.

Entraînement de modèle à l'aide de la commande modeltraining

Vous utilisez la commande Neptune ML modeltraining pour créer une tâche d'entraînement de modèle, vérifier son statut, l'arrêter ou répertorier toutes les tâches d'entraînement de modèle actives.

Création d'une tâche d'entraînement de modèle à l'aide de la commande Neptune ML modeltraining

Une commande Neptune ML modeltraining permettant de créer une toute nouvelle tâche ressemble à ceci :

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" }'

Une commande Neptune ML modeltraining permettant de créer une tâche de mise à jour pour un entraînement de modèle incrémentiel ressemble à ceci :

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" "previousModelTrainingJobId" : "(the job ID of a completed model-training job to update)", }'

Une commande Neptune ML modeltraining permettant de créer une nouvelle tâche avec l'implémentation d'un modèle personnalisé fourni par l'utilisateur ressemble à ceci :

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" "modelName": "custom", "customModelTrainingParameters" : { "sourceS3DirectoryPath": "s3://(your Amazon S3 bucket)/(path to your Python module)", "trainingEntryPointScript": "(your training script entry-point name in the Python module)", "transformEntryPointScript": "(your transform script entry-point name in the Python module)" } }'
Paramètres de création d'une tâche modeltraining
  • id : (facultatif) identifiant unique de la nouvelle tâche.

    Type : string. Valeur par défaut : un UUID généré automatiquement.

  • dataProcessingJobId : (obligatoire) ID de la tâche de traitement de données terminée qui a créé les données qui seront utilisées par l'entraînement.

    Type : string.

  • trainModelS3Location : (obligatoire) emplacement dans Amazon S3 où les artefacts de modèle doivent être stockés.

    Type : string.

  • previousModelTrainingJobId : (facultatif) ID de tâche d'une tâche d'entraînement de modèle terminée que vous souhaitez actualiser progressivement en fonction des données mises à jour.

    Type : string. Valeur par défaut : aucune.

  • sagemakerIamRoleArn : (facultatif) ARN d'un rôle IAM pour l'exécution de SageMaker.

    Type : string. Remarque : Il doit être répertorié dans le groupe de paramètres de votre cluster de bases de données, sinon une erreur se produira.

  • neptuneIamRoleArn : (facultatif) ARN d'un rôle IAM permettant à Neptune d'accéder aux ressources SageMaker et Amazon S3..

    Type : string. Remarque : Il doit être répertorié dans le groupe de paramètres de votre cluster de bases de données, sinon une erreur se produira.

  • modelName : (facultatif) type de modèle pour l'entraînement. Par défaut, le modèle ML est automatiquement basé sur le modelType utilisé dans le cadre du traitement de données, mais vous pouvez spécifier ici un autre type de modèle.

    Type : string. Valeur par défaut : rgcn pour les graphes hétérogènes et kge pour les graphes de connaissances. Valeurs valides : pour les graphes hétérogènes : rgcn. Pour les graphes kge : transe, distmult ou rotate. Pour l'implémentation d'un modèle personnalisé : custom.

  • baseProcessingInstanceType : (facultatif) type d'instance ML utilisé pour préparer et gérer l'entraînement de modèles ML.

    Type : string. Remarque : Il s'agit d'une instance de CPU choisie en fonction des besoins en mémoire pour le traitement des données et du modèle d'entraînement. Consultez Sélection d'une instance pour l'entraînement de modèle et la transformation de modèle.

  • trainingInstanceType : (facultatif) type d'instance ML utilisé pour l'entraînement de modèle. Tous les modèles Neptune ML prennent en charge l'entraînement de CPU, de GPU et de multiGPU.

    Type : string. Par défaut : ml.p3.2xlarge.

    Remarque : Le choix du type d'instance approprié pour l'entraînement dépend du type de tâche, de la taille de graphe et de votre budget. Consultez Sélection d'une instance pour l'entraînement de modèle et la transformation de modèle.

  • trainingInstanceVolumeSizeInGB : (facultatif) taille du volume de disque de l'instance d'entraînement. Les données d'entrée et le modèle de sortie étant toutes stockées sur disque, la taille du volume doit être suffisante pour contenir les deux jeux de données.

    Type : entier. Par défaut : 0.

    Remarque : Si elle n'est pas spécifiée ou si elle est égale à 0, Neptune ML sélectionne une taille de volume de disque en fonction de la recommandation générée lors de l'étape de traitement de données. Consultez Sélection d'une instance pour l'entraînement de modèle et la transformation de modèle.

  • trainingTimeOutInSeconds : (facultatif) délai d'attente en secondes de la tâche d'entraînement.

    Type : entier. Valeur par défaut : 86,400 (1 jour).

  • maxHPONumberOfTrainingJobs   –   Nombre total maximal de tâches d'entraînement à démarrer pour la tâche de réglage des hyperparamètres.

    Type : entier. Par défaut : 2.

    Remarque : Neptune ML règle automatiquement les hyperparamètres du modèle de machine learning. Pour obtenir un modèle performant, utilisez au moins 10 tâches (en d'autres termes, définissez maxHPONumberOfTrainingJobs sur 10). En général, plus le réglage est long, meilleurs sont les résultats.

  • maxHPOParallelTrainingJobs   –   Nombre maximal de tâches d'entraînement parallèles à démarrer pour la tâche de réglage des hyperparamètres.

    Type : entier. Par défaut : 2.

    Remarque : Le nombre de tâches parallèles que vous pouvez exécuter est limité par les ressources disponibles sur votre instance d'entraînement.

  • subnets : (facultatif) ID des sous-réseaux dans le VPC Neptune.

    Type : liste de chaînes. Valeur par défaut : aucune.

  • securityGroupIds : (facultatif) ID des groupes de sécurité du VPC.

    Type : liste de chaînes. Valeur par défaut : aucune.

  • volumeEncryptionKMSKey : (facultatif) clé AWS Key Management Service (AWS KMS) utilisée par SageMaker pour chiffrer les données sur le volume de stockage attaché aux instances de calcul ML qui exécutent la tâche d'entraînement.

    Type : string. Valeur par défaut : aucune.

  • s3OutputEncryptionKMSKey : (facultatif) clé AWS Key Management Service (AWS KMS) utilisée par SageMaker pour chiffrer la sortie de la tâche de traitement.

    Type : string. Valeur par défaut : aucune.

  • enableInterContainerTrafficEncryption : (facultatif) activez ou désactivez le chiffrement du trafic entre conteneurs dans les tâches d'entraînement ou de réglage des hyperparamètres.

    Type : booléen. Valeur par défaut : True.

    Note

    Le paramètre enableInterContainerTrafficEncryption est disponible uniquement dans la version 1.2.0.2.R3 du moteur.

  • enableManagedSpotTraining : (facultatif) optimise le coût d'entraînement de modèles de machine learning à l'aide d'instances Spot Amazon Elastic Compute Cloud.. Pour plus d'informations, consultez Entraînement d'instances Spot gérées dans Amazon SageMaker.

    Type : booléen. Valeur par défaut : False.

  • customModelTrainingParameters : (facultatif) configuration pour un entraînement de modèle personnalisé. Ceci est un objet JSON avec les champs suivants :

    • sourceS3DirectoryPath : (obligatoire) chemin de l'emplacement Amazon S3 où se trouve le module Python implémentant votre modèle. Il doit pointer vers un emplacement Amazon S3 existant valide contenant, au minimum, un script d'entraînement, un script de transformation et un fichier model-hpo-configuration.json.

    • trainingEntryPointScript : (facultatif) nom du point d'entrée dans votre module d'un script qui effectue l'entraînement de modèle et utilise les hyperparamètres comme arguments de ligne de commande, y compris les hyperparamètres fixes.

      Par défaut : training.py.

    • transformEntryPointScript : (facultatif) nom du point d'entrée dans le module d'un script qui doit être exécuté une fois que le modèle le plus approprié issu de la recherche par hyperparamètres a été identifié, afin de calculer les artefacts de modèle nécessaires au déploiement du modèle. Il devrait pouvoir s'exécuter sans arguments de ligne de commande.

      Par défaut : transform.py.

  • maxWaitTime : (facultatif) temps d'attente maximal, en secondes, lors de l'entraînement de modèle à l'aide d'instances Spot. Devrait être supérieur à trainingTimeOutInSeconds.

    Type : entier.

Obtention du statut d'une tâche d'entraînement de modèle à l'aide de la commande Neptune ML modeltraining

Voici un exemple de commande Neptune ML modeltraining pour obtenir le statut d'une tâche :

curl -s \ "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)" \ | python -m json.tool
Paramètres d'obtention du statut de la tâche modeltraining
  • id : (obligatoire) identifiant unique de la tâche d'entraînement de modèle.

    Type : string.

  • neptuneIamRoleArn : (facultatif) ARN d'un rôle IAM permettant à Neptune d'accéder aux ressources SageMaker et Amazon S3..

    Type : string. Remarque : Il doit être répertorié dans le groupe de paramètres de votre cluster de bases de données, sinon une erreur se produira.

Arrêt d'une tâche d'entraînement de modèle à l'aide de la commande Neptune ML modeltraining

Voici un exemple de commande Neptune ML modeltraining permettant d'arrêter une tâche :

curl -s \ -X DELETE "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)"

Ou encore :

curl -s \ -X DELETE "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)?clean=true"
Paramètres d'arrêt de la tâche modeltraining
  • id : (obligatoire) identifiant unique de la tâche d'entraînement de modèle.

    Type : string.

  • neptuneIamRoleArn : (facultatif) ARN d'un rôle IAM permettant à Neptune d'accéder aux ressources SageMaker et Amazon S3..

    Type : string. Remarque : Il doit être répertorié dans le groupe de paramètres de votre cluster de bases de données, sinon une erreur se produira.

  • clean : (facultatif) cet indicateur spécifie que tous les artefacts Amazon S3 doivent être supprimés lorsque la tâche est arrêtée.

    Type : booléen. Par défaut : FALSE.

Répertorier les tâches d'entraînement de modèle actives à l'aide de la commande Neptune ML modeltraining

Voici un exemple de commande Neptune ML modeltraining permettant de répertorier les tâches actives :

curl -s "https://(your Neptune endpoint)/ml/modeltraining" | python -m json.tool

Ou encore :

curl -s "https://(your Neptune endpoint)/ml/modeltraining?maxItems=3" | python -m json.tool
Paramètres pour répertorier les tâches modeltraining
  • maxItems : (facultatif) nombre maximal d'éléments à renvoyer.

    Type : entier. Par défaut : 10. Valeur maximale autorisée : 1024.

  • neptuneIamRoleArn : (facultatif) ARN d'un rôle IAM permettant à Neptune d'accéder aux ressources SageMaker et Amazon S3..

    Type : string. Remarque : Il doit être répertorié dans le groupe de paramètres de votre cluster de bases de données, sinon une erreur se produira.