Deep Learning Containers (DLC) de Platform for AI (PAI) offre un environnement flexible, stable, simple d'utilisation et haute performance pour l'entraînement distribué. DataWorks met à disposition un nœud PAI DLC qui vous permet de charger directement des tâches DLC et de configurer leurs dépendances de planification pour une exécution périodique.
Prérequis
-
Vous avez autorisé DataWorks à accéder à Platform for AI (PAI).
Accédez à la page d'autorisation pour accorder les autorisations requises en un clic. Pour en savoir plus sur cette politique, consultez la rubrique AliyunServiceRoleForDataWorksEngine. Seul un compte Alibaba Cloud ou un utilisateur RAM disposant de la stratégie Aliyundataworksfullaccess peut effectuer cette autorisation en un clic.
Vous avez créé un répertoire de projet. Pour plus d'informations, consultez la rubrique Répertoire de projet.
Vous avez créé un nœud PAI DLC. Pour plus d'informations, consultez la rubrique Créer un nœud dans un workflow.
Procédure
-
Sur la page d'édition du nœud PAI DLC, développez le code de la tâche.
Développer le code de la tâche
Selon vos besoins métier, vous pouvez écrire le code de la tâche DLC de deux manières :
À partir d'une tâche existante
Recherchez une tâche DLC existante dans Platform for AI (PAI) par son nom, puis chargez-la. L'éditeur de nœud PAI DLC génère alors le code du nœud à partir de la configuration PAI de la tâche. Vous pouvez ensuite modifier ce code.
RemarqueSi vous ne disposez pas des autorisations nécessaires pour charger ou créer une tâche, suivez les instructions affichées à l'écran pour les accorder.
Si aucune tâche n'est disponible, accédez à la console PAI pour en créer une. Il existe plusieurs méthodes pour créer des tâches PAI DLC. Pour plus d'informations, consultez les rubriques Créer une tâche d'entraînement, Créer une tâche d'entraînement : SDK Python et Créer une tâche d'entraînement : Ligne de commande.
À partir de zéro
Rédigez directement le code de la tâche dans l'éditeur de nœud PAI DLC de DataWorks.
Définissez des variables au format ${nom_variable}. Dans le volet Scheduling Settings situé à droite, attribuez-leur des valeurs dans la section Scheduling Parameters. Cette méthode permet de transmettre des paramètres dynamiques au code lors des exécutions planifiées. Pour en savoir plus sur l'utilisation des paramètres de planification, consultez la rubrique Sources et expressions des paramètres de planification. Voici un exemple de code.
dlc submit pytorchjob \ #Submit a PyTorch job by using DLC. --name=test \ #The DLC task name. We recommend that you use a variable name or the DataWorks node name. --command='echo '\''hi'\''' \ #The command to execute. In this example, the command is echo 'hi'. --workspace_id=309801 \ #The workspace in which the task runs. --priority=1 \ #The task priority. Valid values: 1 to 9. 1 indicates the lowest priority, and 9 indicates the highest priority. --workers=1 \ #The number of task nodes. If this value is greater than 1, the task is a distributed task that can run concurrently on multiple nodes. --worker_image=<image> \ #The image path for the worker. --image_repo_username=<username> \ #The username for private image authorization. --image_repo_password=<password> \ #The password for private image authorization. --data_source_uris=oss://oss-cn-shenzhen.aliyuncs.com/::/mnt/data/:{mountType:jindo} \ #Mount an OSS data source to the specified path in the container. In this example, the mount type is jindo. --worker_spec=ecs.g6.xlarge #The node specification, which specifies the compute node type.
-
Une fois le code de la tâche PAI DLC rédigé, exécutez la tâche du nœud.
-
Dans la section Run Configuration, sélectionnez et configurez le Resource Group.
Choisissez un groupe de ressources pour la planification ayant réussi le test de connectivité avec votre source de données. Pour plus d'informations, consultez la rubrique Créer et gérer des groupes de ressources.
Dans la barre d'outils, cliquez sur Run pour exécuter la tâche du nœud.
-
Pour exécuter régulièrement la tâche du nœud, configurez sa planification selon vos besoins métier. Pour plus d'informations, consultez la rubrique Configurer les paramètres de planification.
Une fois la tâche du nœud configurée, vous devez la déployer. Pour plus d'informations, consultez la rubrique Déployer des nœuds.
Après le déploiement de la tâche, accédez à Operation Center pour consulter l'état d'exécution de la tâche planifiée. Pour plus d'informations, consultez la rubrique Consulter les tâches planifiées.