Deep Learning Containers (DLC) de Platform for AI (PAI) offre un environnement flexible, stable, facile à utiliser et performant pour l'entraînement distribué. DataWorks met à disposition un nœud PAI DLC qui permet de charger directement des tâches DLC et de configurer des dépendances de planification pour les exécuter périodiquement.
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 seul clic. Pour plus d'informations sur la stratégie, consultez 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 Répertoire de projet.
Vous avez créé un nœud PAI DLC. Pour plus d'informations, consultez 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, écrivez le code de la tâche DLC de l'une des manières suivantes :
À partir d'une tâche existante
Recherchez une tâche DLC existante dans Platform for AI (PAI) par son nom et chargez-la. Une fois la tâche chargée, l'éditeur de nœud PAI DLC génère 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 accorder les autorisations requises.
Si aucune tâche n'est disponible, accédez à la console PAI pour en créer une. Les tâches PAI DLC peuvent être créées de plusieurs façons. Pour plus d'informations, consultez Créer une tâche d'entraînement, Soumettre des tâches à l'aide du SDK Python et Soumettre des tâches à l'aide des interfaces CLI.
À 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 en utilisant le format ${nom_variable}. Ensuite, dans le volet Scheduling Settings situé à droite, attribuez des valeurs à ces variables dans la section Scheduling Parameters. Cela permet de transmettre des paramètres dynamiques au code pour les exécutions planifiées. Pour plus d'informations sur l'utilisation des paramètres de planification, consultez Sources et expressions des paramètres de planification. L'exemple de code suivant illustre cette approche.
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 la rédaction de la tâche PAI DLC terminée, exécutez la tâche du nœud.
-
Dans Run Configuration, sélectionnez et configurez le Resource Group.
Sélectionnez un groupe de ressources pour la planification qui a réussi le test de connectivité avec votre source de données. Pour plus d'informations, consultez 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 la tâche du nœud régulièrement, configurez les paramètres de planification selon vos besoins métier. Pour plus d'informations, consultez Configurer les paramètres de planification.
Une fois la tâche du nœud configurée, déployez-la. Pour plus d'informations, consultez 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 Afficher les tâches planifiées.