Tous les produits
Search
Centre de documentation

Platform For AI:Commandes de soumission

Dernière mise à jour :Sep 22, 2026

Vous pouvez utiliser l'outil client pour soumettre plusieurs types de tâches d'entraînement. Cette rubrique décrit les commandes utilisées pour soumettre des tâches, notamment la syntaxe d'appel, la description des paramètres et des exemples d'utilisation.

Paramètres communs pour la soumission de tâches

Lorsque vous utilisez la ligne de commande DLC pour soumettre des tâches TensorFlow (tfjob), PyTorch (pytorchjob) ou XGBoost (xgboostjob), un ensemble de paramètres communs s'applique. Ces paramètres sont répertoriés ci-dessous.

Tableau 1. Paramètres communs pour la soumission de tâches

Paramètre

Obligatoire

Description

Type

Pris en charge dans le fichier de paramètres de la tâche

name

Oui

Nom de la tâche. Plusieurs tâches peuvent partager le même nom.

STRING

Oui

command

Oui

Commande de démarrage pour chaque nœud.

STRING

Oui

data_sources

Non

Monte un jeu de données. Vous pouvez spécifier la version du jeu de données et le chemin de montage au format --data_sources=<datasets_id>:<version>:<mount_path>, où :

  • <datasets_id> : Remplacez par l'ID du jeu de données. Vous pouvez le consulter sur la page Datasets.

  • <version> : Remplacez par la version du jeu de données, par exemple v1.

  • <mount_path> : Remplacez par le chemin de montage, par exemple /mnt/data/.

Vous pouvez lier plusieurs jeux de données simultanément, séparés par des virgules (,). La valeur par défaut est vide.

STRING

Oui

spot_spec

Non

Utilise des ressources spot. Le format est <limit_type>:<limit_value>, où :

  • <limit_type> : Type de plafond d'enchère. Deux valeurs sont prises en charge :

    • discount : Remise maximale

    • price : Prix maximal

  • <limit_value> : Prix maximal ou remise maximale.

Par exemple, pour définir une enchère maximale avec une remise de 50 %, configurez :

--spot_spec=discount:0.5

Les types d'instances spot sont configurés via les paramètres spécifiques au rôle du framework de la tâche (par exemple, pour PyTorchJob, utilisez --master_spec et --worker_spec).

STRING

Oui

elastic_spot_specs

Non

Utilise des ressources spot élastiques avec plusieurs types d'instances. Le format est

<instance_type>:<limit_type>:<limit_value>, où :

  • <instance_type> : Type d'instance. Vous pouvez consulter les types disponibles dans la console. Les types d'instances spot pris en charge varient selon la région.

  • <limit_type> : Type de plafond d'enchère. Deux valeurs sont prises en charge :

    • discount : Remise maximale

    • price : Prix maximal

  • <limit_value> : Prix maximal ou remise maximale.

Vous pouvez spécifier plusieurs types d'instances candidates séparés par ,. La tâche s'exécute sur le premier type d'instance pour lequel l'enchère aboutit. Par exemple :

--elastic_spot_specs=ml.gp7vf.16.40xlarge:discount:1,ml.gu8tef.8.46xlarge:discount:0.8,ml.gu8tf.8.40xlarge:discount:0.5

STRING

Oui

data_source_uris

Non

Monte directement un chemin de source de données. Le format est --data_source_uris=<uri>::<mount_path>, où :

  • <uri> : Remplacez par le chemin de stockage de la source de données, par exemple oss://examplebucket.oss-cn-hangzhou-internal.aliyuncs.com/path/.

  • <mount_path> : Remplacez par le chemin de montage, par exemple /mnt/data/.

Vous pouvez lier plusieurs chemins de sources de données simultanément, séparés par des virgules (,). La valeur par défaut est vide.

STRING

Oui

code_source

Non

ID de la source de code. Vous pouvez le consulter sur la page Configuration du code. Une seule valeur peut être spécifiée. La valeur par défaut est vide.

STRING

Oui

code_branch

Non

Spécifie la branche du dépôt de code. Utilisez ce paramètre conjointement avec le paramètre code_source.

STRING

Oui

code_commit

Non

Spécifie l'ID de validation (commit) du dépôt de code. Utilisez ce paramètre conjointement avec le paramètre code_source.

STRING

Oui

thirdparty_libs

Non

Bibliothèques tierces Python. Séparez plusieurs bibliothèques par des virgules (,). La valeur par défaut est vide.

STRING

Oui

thirdparty_lib_dir

Non

Répertoire contenant le fichier requirements.txt utilisé pour installer les bibliothèques tierces Python. La valeur par défaut est vide.

STRING

Non

vpc_id

Non

ID du VPC (Virtual Private Cloud) auquel la tâche peut accéder. La valeur par défaut est vide.

STRING

Oui

switch_id

Non (obligatoire si vpc_id est spécifié)

ID du vSwitch dans le VPC auquel la tâche accède. La valeur par défaut est vide.

STRING

Oui

security_group_id

Non (obligatoire si vpc_id est spécifié)

ID du groupe de sécurité dans le VPC auquel la tâche accède. La valeur par défaut est vide.

STRING

Oui

job_file

Non

Fichier de paramètres de la tâche. Les paramètres contenus dans job_file sont prioritaires. Le format est key=value, où le nom de la clé correspond au nom du paramètre de ligne de commande. Pour plus de détails sur la configuration, consultez la section Paramètres avancés pour la soumission de tâches.

STRING

Non

interactive

Non

Indique si la tâche doit être démarrée en mode interactif.

BOOL

Oui

job_max_running_time_minutes

Non

Durée d'exécution maximale de la tâche. La valeur par défaut est 0, ce qui signifie qu'aucune durée maximale n'est définie.

INT64

Oui

success_policy

Non

Pris en charge uniquement par TFJob. Valeurs valides :

  • ChiefWorker : La tâche réussit dès que le Pod du nœud Chief se termine avec succès.

  • AllWorkers : La tâche réussit uniquement lorsque tous les nœuds se terminent avec succès.

Si laissé vide, AllWorkers est utilisé par défaut.

STRING

Oui

envs

Non

Configure les variables d'environnement pour les nœuds worker. Le format est key1=value1,key2=value2. Plusieurs variables d'environnement sont séparées par des virgules (,). La clé et la valeur de chaque variable d'environnement sont séparées par un signe égal (=).

StringToString

Oui

tags

Non

Configure les tags pour la tâche. Le format est key1=value1,key2=value2. Plusieurs tags sont séparés par des virgules (,). La clé et la valeur de chaque tag sont séparées par un signe égal (=).

StringToString

Oui

oversold_type

Non

Configure la manière dont la tâche utilise les ressources de calcul inactives. Valeurs valides :

  • AcceptQuotaOverSold (acceptable) : La tâche peut utiliser les ressources de calcul inactives.

  • ForceQuotaOverSold (inactif uniquement) : La tâche utilise uniquement les ressources de calcul inactives.

  • ForbiddenQuotaOverSold (non acceptable) : La tâche utilise uniquement les ressources incluses dans le quota associé et n'utilise pas les ressources de calcul inactives.

STRING

Oui

driver

Non

Spécifie la version du pilote GPU utilisée par la tâche.

STRING

Oui

default_route

Non

Lorsqu'un VPC est sélectionné, configure la méthode d'accès au réseau public. Valeurs valides :

  • eth0 (par défaut) : Accédez au réseau public via la passerelle publique.

  • eth1 : Accédez au réseau public via la passerelle privée du VPC sélectionné.

STRING

Oui

priority

Non

Configure la priorité de la tâche. La valeur par défaut est 1. La plage de valeurs va de 1 à 9, où :

  • 1 correspond à la priorité la plus basse.

  • 9 correspond à la priorité la plus élevée.

INT32

Oui

exit_code_on_stopped

Non

Lorsqu'une tâche exécutée en mode interactif est arrêtée, spécifie le code de sortie de l'outil de ligne de commande. La valeur par défaut est 0.

INT32

Oui

job_reserved_minutes

Non

Définit la période de conservation (en minutes) après la fin de la tâche. La valeur par défaut est 0.

INT32

Oui

job_reserved_policy

Non

Définit la politique de conservation de la tâche. Valeurs valides :

  • Always (par défaut) : Conserve la tâche, qu'elle réussisse ou échoue.

  • OnFailure : Conserve la tâche uniquement en cas d'échec.

  • OnSucceed : Conserve la tâche uniquement en cas de réussite.

STRING

Oui

Soumettre des tâches d'entraînement TensorFlow (submit tfjob)

  • Fonction

    Permet de soumettre des tâches d'entraînement TensorFlow.

  • Syntaxe

    Vous pouvez soumettre des tâches TensorFlow en utilisant soit des paramètres de ligne de commande, soit un fichier de paramètres de tâche.

    ./dlc submit tfjob [flags]
  • Paramètres

    Lors de la soumission d'une tâche TensorFlow à l'aide de paramètres de ligne de commande, remplacez les paramètres de la commande par des valeurs réelles. Lors de la soumission à l'aide d'un fichier de paramètres de tâche, écrivez les paramètres dans le fichier au format <parameterName>=<parameterValue>. Les paramètres communs pour la soumission de tâches TensorFlow sont répertoriés au début de cette rubrique. Voici les paramètres spécifiques aux tâches TensorFlow :

    Tableau 2. Paramètres spécifiques aux tâches TensorFlow

    Paramètre

    Obligatoire

    Description

    Type

    Pris en charge dans le fichier de paramètres de la tâche

    workspace_id

    Oui

    L'ID de l'espace de travail. La valeur par défaut est vide. Pour savoir comment créer un espace de travail, consultez Créer et gérer des espaces de travail.

    STRING

    Oui

    chief

    Non

    Indique si le nœud TensorFlow Chief est activé. Valeurs possibles :

    • false : Valeur par défaut. Désactive le nœud TensorFlow Chief.

    • true : Active le nœud TensorFlow Chief.

    BOOL

    Oui

    chief_image

    Non

    L'image du nœud TensorFlow Chief. La valeur par défaut est vide.

    STRING

    Oui

    chief_spec

    Non

    Le type d'instance utilisé par le nœud TensorFlow Chief. La valeur par défaut est vide.

    STRING

    Oui

    master_image

    Non

    L'image du nœud TensorFlow Master. La valeur par défaut est vide.

    STRING

    Oui

    master_spec

    Non

    Le type d'instance utilisé par le nœud TensorFlow Master.

    STRING

    Oui

    masters

    Non

    Le nombre de nœuds TensorFlow Master. La valeur par défaut est 0.

    INT

    Oui

    ps

    Non

    Le nombre de nœuds TensorFlow Parameter Server. La valeur par défaut est 0.

    INT

    Oui

    ps_image

    Non

    L'image du nœud TensorFlow Parameter Server. La valeur par défaut est vide.

    STRING

    Oui

    ps_spec

    Non

    Le type d'instance utilisé par le nœud TensorFlow Parameter Server. La valeur par défaut est vide.

    STRING

    Oui

    worker_image

    Non

    L'image du nœud TensorFlow Worker. La valeur par défaut est vide.

    STRING

    Oui

    worker_spec

    Non

    Le type d'instance utilisé par le nœud TensorFlow Worker. La valeur par défaut est vide.

    STRING

    Oui

    workers

    Non

    Le nombre de nœuds TensorFlow Worker. La valeur par défaut est 0.

    INT

    Oui

    evaluator_image

    Non

    L'image du nœud TensorFlow Evaluator. La valeur par défaut est vide.

    STRING

    Oui

    evaluator_spec

    Non

    Le type d'instance utilisé par le nœud TensorFlow Evaluator. La valeur par défaut est vide.

    STRING

    Oui

    evaluators

    Non

    Le nombre de nœuds TensorFlow Evaluator. La valeur par défaut est 0.

    INT

    Oui

    graphlearn_image

    Non

    L'image du nœud TensorFlow GraphLearn. La valeur par défaut est vide.

    STRING

    Oui

    graphlearn_spec

    Non

    Le type d'instance utilisé par le nœud TensorFlow GraphLearn. La valeur par défaut est vide.

    STRING

    Oui

    graphlearns

    Non

    Le nombre de nœuds TensorFlow GraphLearn. La valeur par défaut est 0.

    INT

    Oui

    Tableau 3. Paramètres spécifiques à la soumission de tâches TensorFlow vers un groupe de ressources dédié

    Paramètre

    Obligatoire

    Description

    Type

    Pris en charge dans le fichier de paramètres de la tâche

    resource_id/@parmname

    Non (obligatoire lors de la soumission de tâches vers un groupe de ressources dédié)

    L'ID du quota de ressources dédiées. La valeur par défaut est vide. Pour savoir comment créer un quota de ressources dédiées, consultez Quotas de ressources de calcul générales.

    STRING

    Oui

    priority/@parmname

    Non

    La priorité de la tâche. La valeur par défaut est 1.

    INT

    Oui

    chief_cpu/@parmname

    Non

    Le nombre de CPU utilisés par le nœud TensorFlow Chief. La valeur par défaut est vide.

    STRING

    Oui

    chief_gpu/@parmname

    Non

    Le nombre de GPU utilisés par le nœud TensorFlow Chief. La valeur par défaut est vide.

    STRING

    Oui

    chief_gpu_type/@parmname

    Non

    Le type de GPU utilisé par le nœud TensorFlow Chief. La valeur par défaut est vide. Exemple : GU50.

    STRING

    Oui

    chief_memory/@parmname

    Non

    Les ressources mémoire utilisées par le nœud TensorFlow Chief. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    chief_shared_memory/@parmname

    Non

    Les ressources de mémoire partagée pour le nœud TensorFlow Chief. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    master_cpu/@parmname

    Non

    Le nombre de CPU utilisés par le nœud TensorFlow Master. La valeur par défaut est vide.

    STRING

    Oui

    master_gpu/@parmname

    Non

    Le nombre de GPU utilisés par le nœud TensorFlow Master. La valeur par défaut est vide.

    STRING

    Oui

    master_gpu_type/@parmname

    Non

    Le type de GPU utilisé par le nœud TensorFlow Master. La valeur par défaut est vide. Exemple : GU50.

    STRING

    Oui

    master_memory/@parmname

    Non

    Les ressources mémoire utilisées par le nœud TensorFlow Master. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    master_shared_memory/@parmname

    Non

    Les ressources de mémoire partagée pour le nœud TensorFlow Master. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    *_cpu/@parmname

    Non

    Le nombre de CPU utilisés par les nœuds TensorFlow . La valeur par défaut est vide. Remplacez par (ps, worker, evaluator, graphlearn).

    STRING

    Oui

    *_gpu/@parmname

    Non

    Le nombre de GPU utilisés par les nœuds TensorFlow . La valeur par défaut est vide. Remplacez par (ps, worker, evaluator, graphlearn).

    STRING

    Oui

    *_gpu_type/@parmname

    Non

    Le type de GPU utilisé par les nœuds TensorFlow . La valeur par défaut est vide. Exemple : GU50. Remplacez par (ps, worker, evaluator, graphlearn).

    STRING

    Oui

    *_memory/@parmname

    Non

    Les ressources mémoire utilisées par les nœuds TensorFlow . La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi. Remplacez par (ps, worker, evaluator, graphlearn).

    STRING

    Oui

    *_shared_memory/@parmname

    Non

    Les ressources de mémoire partagée pour les nœuds TensorFlow . La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi. Remplacez par (ps, worker, evaluator, graphlearn).

    STRING

    Oui

  • Exemples

    • Soumettez une tâche distribuée avec 2 Workers et 1 PS à l'aide de paramètres de ligne de commande. Exemple :

      ./dlc submit tfjob --name=test_2021 --ps=1 \
        --ps_spec=ecs.g6.8xlarge \
        --ps_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04 \
        --workers=2 \
        --worker_spec=ecs.g6.4xlarge \
        --worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04 \
        --command="python /root/data/dist_mnist/code/dist-main.py --max_steps=10000 --data_dir=/root/data/dist_mnist/data/" \
        --workspace_id=***** \
        --data_sources=d-pcsah1t86b********:v1:/mnt/data/

      Le système renvoie un résultat similaire au suivant :

      +----------------------------------+--------------------------------------+
      |              JobId               |              RequestId               |
      +----------------------------------+--------------------------------------+
      | dlcmp6vwljkz****                 | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx |
      +----------------------------------+--------------------------------------+
    • Soumettez une tâche distribuée avec 2 Workers et 1 PS à l'aide d'un fichier de paramètres de tâche. Exemple :

      ./dlc submit tfjob --job_file=job_file.dist_mnist.1ps2w

      Dans cet exemple, job_file.dist_mnist.1ps2w/@parmname correspond au fichier de paramètres de la tâche. Les paramètres sont spécifiés au format <parameterName>=<parameterValue>. Le contenu de job_file.dist_mnist.1ps2w/@parmname est le suivant :

      name=test_2021
      workers=2
      worker_spec=ecs.g6.4xlarge
      worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04
      ps=1
      ps_spec=ecs.g6.8xlarge
      ps_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04
      command=python /root/data/dist_mnist/code/dist-main.py --max_steps=10000 --data_dir=/root/data/dist_mnist/data/
      workspace_id=*****
      data_sources=d-pcsah1t86b********:v1:/mnt/data/

Soumettre des tâches d'entraînement PyTorch (submit pytorchjob)

  • Fonction

    Permet de soumettre des tâches d'entraînement PyTorch.

  • Syntaxe

    Vous pouvez soumettre des tâches PyTorch en utilisant soit des paramètres de ligne de commande, soit un fichier de paramètres de tâche.

    ./dlc submit pytorchjob [flags]
  • Paramètres

    Lors de la soumission d'une tâche PyTorch à l'aide de paramètres de ligne de commande, remplacez les paramètres de la commande par des valeurs réelles. Lors de la soumission à l'aide d'un fichier de paramètres de tâche, écrivez les paramètres dans le fichier au format <parameterName>=<parameterValue>. Les paramètres communs pour la soumission de tâches PyTorch sont répertoriés au début de cette rubrique. Voici les paramètres spécifiques aux tâches PyTorch :

    Tableau 4. Paramètres spécifiques aux tâches PyTorch

    Paramètre

    Obligatoire

    Description

    Type

    Pris en charge dans le fichier de paramètres de la tâche

    workspace_id/@parmname

    Oui

    L'ID de l'espace de travail. La valeur par défaut est vide. Pour savoir comment créer un espace de travail, consultez Créer et gérer des espaces de travail.

    STRING

    Oui

    master_image/@parmname

    Non

    L'image du nœud PyTorch Master. La valeur par défaut est vide.

    STRING

    Oui

    master_spec/@parmname

    Non

    Le type d'instance utilisé par le nœud PyTorch Master. La valeur par défaut est vide.

    STRING

    Oui

    masters/@parmname

    Non

    Le nombre de nœuds PyTorch Master. La valeur par défaut est 0.

    INT

    Oui

    worker_image/@parmname

    Non

    L'image du nœud PyTorch Worker. La valeur par défaut est vide.

    STRING

    Oui

    worker_spec/@parmname

    Non

    Le type d'instance utilisé par le nœud PyTorch Worker. La valeur par défaut est vide.

    STRING

    Oui

    workers/@parmname

    Non

    Le nombre de nœuds PyTorch Worker. La valeur par défaut est 0.

    INT

    Oui

    Tableau 5. Paramètres spécifiques à la soumission de tâches PyTorch vers un groupe de ressources dédié

    Paramètre

    Obligatoire

    Description

    Type

    Pris en charge dans le fichier de paramètres de tâche

    resource_id/@parmname

    Non (obligatoire lors de la soumission de tâches vers un groupe de ressources dédié)

    L'ID du quota de ressources dédiées. La valeur par défaut est vide. Pour savoir comment créer un quota de ressources dédiées, consultez la rubrique Quotas de ressources de calcul générales.

    STRING

    Oui

    priority/@parmname

    Non

    La priorité de la tâche. La valeur par défaut est 1.

    INT

    Oui

    master_cpu/@parmname

    Non

    Le nombre de CPU utilisés par le nœud maître PyTorch. La valeur par défaut est vide.

    STRING

    Oui

    master_gpu/@parmname

    Non

    Le nombre de GPU utilisés par le nœud maître PyTorch. La valeur par défaut est vide.

    STRING

    Oui

    master_gpu_type/@parmname

    Non

    Le type de GPU utilisé par le nœud maître PyTorch. La valeur par défaut est vide. Exemple : GU50.

    STRING

    Oui

    master_memory/@parmname

    Non

    Les ressources mémoire utilisées par le nœud maître PyTorch. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    master_shared_memory/@parmname

    Non

    Les ressources de mémoire partagée pour le nœud maître PyTorch. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    worker_cpu/@parmname

    Non

    Le nombre de CPU utilisés par le nœud de travail PyTorch. La valeur par défaut est vide.

    STRING

    Oui

    worker_gpu/@parmname

    Non

    Le nombre de GPU utilisés par le nœud de travail PyTorch. La valeur par défaut est vide.

    STRING

    Oui

    worker_gpu_type/@parmname

    Non

    Le type de GPU utilisé par le nœud de travail PyTorch. La valeur par défaut est vide. Exemple : GU50.

    STRING

    Oui

    worker_memory/@parmname

    Non

    Les ressources mémoire utilisées par le nœud de travail PyTorch. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    worker_shared_memory/@parmname

    Non

    Les ressources de mémoire partagée pour le nœud de travail PyTorch. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

  • Exemples

    Soumettez une tâche d'entraînement de modèle GPU à l'aide de paramètres de ligne de commande. Exemple :

    ./dlc submit pytorchjob --name=test_pt_face \
      --workers=1 \
      --worker_spec=ecs.gn6e-c12g1.3xlarge \
      --worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/pytorch-training:1.7.1-gpu-py37-cu110-ubuntu18.04 \
      --command="apt-get update; apt-get -y --allow-downgrades install libpcre3=2:8.38-3.1 libpcre3-dev libgl1-mesa-glx libglib2.0-dev; cd /root/data/face; python train.py --num_workers 0 --save_folder outputs" \
      --data_sources=d-pcsah1t86b********:v1:/mnt/data/ \
      --workspace_id=*****

    Soumettez une tâche d'entraînement de modèle utilisant des ressources preemptibles à l'aide de paramètres de ligne de commande. Exemple :

    ./dlc submit pytorchjob --name=test_pt_face \
      --workers=1 \
      --elastic_spot_specs=ml.gp7vf.16.40xlarge:discount:1,ml.gu8tef.8.46xlarge:discount:1,ml.gu8tf.8.40xlarge:discount:0.5 \
      --worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/pytorch-training:1.7.1-gpu-py37-cu110-ubuntu18.04 \
      --command="apt-get update; apt-get -y --allow-downgrades install libpcre3=2:8.38-3.1 libpcre3-dev libgl1-mesa-glx libglib2.0-dev; cd /root/data/face; python train.py --num_workers 0 --save_folder outputs" \
      --workspace_id=*****

    Le système renvoie un résultat similaire à ce qui suit :

    +----------------------------------+--------------------------------------+
    |              JobId               |              RequestId               |
    +----------------------------------+--------------------------------------+
    | dlcu704xxuxk****                 | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx |
    +----------------------------------+--------------------------------------+

Soumettre des tâches d'entraînement XGBoost (submit xgboostjob)

  • Fonction

    Permet de soumettre des tâches d'entraînement XGBoost.

  • Syntaxe

    Vous pouvez soumettre des tâches XGBoost en utilisant soit des paramètres de ligne de commande, soit un fichier de paramètres de tâche.

    ./dlc submit xgboostjob [flags]
  • Paramètres

    Lorsque vous soumettez une tâche XGBoost à l'aide de paramètres de ligne de commande, remplacez les paramètres de la commande par des valeurs réelles. Lors de la soumission à l'aide d'un fichier de paramètres de tâche, écrivez les paramètres dans le fichier au format <parameterName>=<parameterValue>. Les paramètres communs pour la soumission de tâches XGBoost sont répertoriés au début de cette rubrique. Voici les paramètres spécifiques aux tâches XGBoost :

    Tableau 6. Paramètres spécifiques aux tâches XGBoost

    Paramètre

    Obligatoire

    Description

    Type

    Pris en charge dans le fichier de paramètres de tâche

    workspace_id/@parmname

    Oui

    L'ID de l'espace de travail. La valeur par défaut est vide. Pour savoir comment créer un espace de travail, consultez la rubrique Créer et gérer des espaces de travail.

    STRING

    Oui

    master_image/@parmname

    Non

    L'image du nœud maître XGBoost. La valeur par défaut est vide.

    STRING

    Oui

    master_spec/@parmname

    Non

    Le type d'instance utilisé par le nœud maître XGBoost. La valeur par défaut est vide.

    STRING

    Oui

    masters/@parmname

    Non

    Le nombre de nœuds maîtres XGBoost. La valeur par défaut est 0.

    INT

    Oui

    worker_image/@parmname

    Non

    L'image du nœud de travail XGBoost. La valeur par défaut est vide.

    STRING

    Oui

    worker_spec/@parmname

    Non

    Le type d'instance utilisé par le nœud de travail XGBoost. La valeur par défaut est vide.

    STRING

    Oui

    workers/@parmname

    Non

    Le nombre de nœuds de travail XGBoost. La valeur par défaut est 0.

    INT

    Oui

    Tableau 7. Paramètres spécifiques à la soumission de tâches XGBoost vers un groupe de ressources dédié

    Paramètre

    Obligatoire

    Description

    Type

    Pris en charge dans le fichier de paramètres de tâche

    resource_id/@parmname

    Non (obligatoire lors de la soumission de tâches vers un groupe de ressources dédié)

    L'ID du quota de ressources dédiées. La valeur par défaut est vide. Pour savoir comment créer un quota de ressources dédiées, consultez la rubrique Quotas de ressources de calcul générales.

    STRING

    Oui

    priority/@parmname

    Non

    La priorité de la tâche. La valeur par défaut est 1.

    INT

    Oui

    master_cpu/@parmname

    Non

    Le nombre de CPU utilisés par le nœud maître XGBoost. La valeur par défaut est vide.

    STRING

    Oui

    master_gpu/@parmname

    Non

    Le nombre de GPU utilisés par le nœud maître XGBoost. La valeur par défaut est vide.

    STRING

    Oui

    master_gpu_type/@parmname

    Non

    Le type de GPU utilisé par le nœud maître XGBoost. La valeur par défaut est vide. Exemple : GU50.

    STRING

    Oui

    master_memory/@parmname

    Non

    Les ressources mémoire utilisées par le nœud maître XGBoost. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    master_shared_memory/@parmname

    Non

    Les ressources de mémoire partagée pour le nœud maître XGBoost. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    worker_cpu/@parmname

    Non

    Le nombre de CPU utilisés par le nœud de travail XGBoost. La valeur par défaut est vide.

    STRING

    Oui

    worker_gpu/@parmname

    Non

    Le nombre de GPU utilisés par le nœud de travail XGBoost. La valeur par défaut est vide.

    STRING

    Oui

    worker_gpu_type/@parmname

    Non

    Le type de GPU utilisé par le nœud de travail XGBoost. La valeur par défaut est vide. Exemple : GU50.

    STRING

    Oui

    worker_memory/@parmname

    Non

    Les ressources mémoire utilisées par le nœud de travail XGBoost. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

    worker_shared_memory/@parmname

    Non

    Les ressources de mémoire partagée pour le nœud de travail XGBoost. La valeur par défaut est vide. Exemple : 500 Mi, 1 Gi.

    STRING

    Oui

  • Exemples

    Soumettez une tâche XGBoost à l'aide de paramètres de ligne de commande. Exemple :

    ./dlc submit xgboostjob --name=test_xgboost \
      --workers=1 \
      --worker_spec=ecs.gn6e-c12g1.3xlarge \
      --worker_image=xgboost-training:1.6.0-cpu-py36-ubuntu18.04 \
      --command="python /root/code/horovod/xgboost/main.py --job_type=Train --xgboost_parameter=objective:multi:softprob,num_class:3 --n_estimators=50 --model_path=autoAI/xgb-opt/2" \
      --data_sources=d-pcsah1t86b********:v1:/mnt/data/ \
      --workspace_id=*****

    Le système renvoie un résultat similaire à ce qui suit :

    +----------------------------------+--------------------------------------+
    |              JobId               |              RequestId               |
    +----------------------------------+--------------------------------------+
    | dlc1nvu3gli0****                 | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx |
    +----------------------------------+--------------------------------------+

Paramètres avancés pour la soumission de tâches

Planifier des tâches sur des nœuds spécifiques

Lorsque vous soumettez une tâche à l'aide d'un quota de ressources de calcul intelligentes Lingjun ou de ressources de calcul générales, vous pouvez planifier la tâche sur des nœuds spécifiques en configurant des paramètres dans la ligne de commande DLC.

Remarque

Cette fonctionnalité est actuellement disponible uniquement pour les utilisateurs figurant sur la liste blanche. Si vous avez besoin d'y accéder, contactez votre gestionnaire de compte pour être ajouté à la liste blanche.

  • Paramètres

    Paramètre

    Description

    Valeur d'exemple

    --allow_nodes="${allow_nodes}"

    Spécifie une liste de noms de nœuds. Séparez plusieurs noms de nœuds par des virgules (,). N'incluez pas d'espaces entre les noms de nœuds.

    lingjuc47iextvg9-,lingjuc47iextvg9-

    --deny_nodes="${deny_nodes}"

    Spécifie une liste de nœuds à exclure. Séparez plusieurs noms de nœuds par des virgules (,). N'incluez pas d'espaces entre les noms de nœuds.

    lingjuc47iextvg9-,lingjuc47iextvg9-

  • Exemples

    Paramètres de ligne de commande

    Soumettez une tâche à l'aide de paramètres de ligne de commande. Exemple :

    • Aucun nœud de planification spécifié

      ./dlc submit pytorchjob --name=assign_node_test_no_node  \--workers=1 \
          --worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04 \
          --command="sleep 1000" \
          --workspace_id='****' \
          --resource_id='quotau2h98mt****' \
          --worker_cpu="1" \
          --worker_memory='2Gi'  
    • Spécifier des nœuds de planification

      ./dlc submit pytorchjob --name=assign_node_test_2_allow_nodes  \--workers=1 \
          --worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04 \
          --command="sleep 1000" \
          --workspace_id='****' \
          --resource_id='quotau2h98mt****' \
          --worker_cpu="1" \
          --worker_memory='2Gi' \
          --allow_nodes="lingjuc47iextvg9-****,lingjuc47iextvg9-****" 
    • Exclure des nœuds spécifiques

       ./dlc submit pytorchjob --name=assign_node_test_two_deny_nodes  \--workers=1 \
          --worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04 \
          --command="sleep 1000" \
          --workspace_id='****' \
          --resource_id='quotau2h98mt****' \
          --worker_cpu="1" \
          --worker_memory='2Gi' \
          --deny_nodes="lingjuc47iextvg9-****,lingjuc47iextvg9-****"
    • Spécifier des nœuds de planification et exclure des nœuds spécifiques

      ./dlc submit pytorchjob --name=assign_node_test_two_allow_two_deny  \--workers=1 \
          --worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04 \
          --command="sleep 1000" \
          --workspace_id='****' \
          --resource_id='quotau2h98mt****' \
          --worker_cpu="1" \
          --worker_memory='2Gi' \
          --allow_nodes="lingjuc47iextvg9-****,lingjuc47iextvg9-****" \
          --deny_nodes="lingjuc47iextvg9-****,lingjuc47iextvg9-****"

    Configuration basée sur un fichier

    Soumettez une tâche à l'aide d'une configuration basée sur un fichier. Exemple :

    ./dlc submit pytorchjob -f job_file

    Ici, job_file est le fichier de paramètres de tâche. Le contenu est le suivant :

    • Aucun nœud de planification spécifié

      name=assign_node_test_no_node
      workers=1
      worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04
      command=sleep 1000
      workspace_id=****
      resource_id=quotau2h98mt****
      worker_cpu=1
      worker_memory=2Gi
      
    • Spécifier des nœuds de planification

      name=assign_node_test_2_allow_nodes
      workers=1
      worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04
      command=sleep 1000
      workspace_id=****
      resource_id=quotau2h98mt****
      worker_cpu=1
      worker_memory=2Gi
      allow_nodes=lingjuc47iextvg9-****,lingjuc47iextvg9-****
      
    • Exclure des nœuds spécifiques

      name=assign_node_test_two_allow_two_deny
      workers=1
      worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04
      command=sleep 1000
      workspace_id=****
      resource_id=quotau2h98mt****
      worker_cpu=1
      worker_memory=2Gi
      deny_nodes=lingjuc47iextvg9-****,lingjuc47iextvg9-****
      
    • Spécifier des nœuds de planification et exclure des nœuds spécifiques

      name=assign_node_test_two_allow_two_deny
      workers=1
      worker_image=dsw-registry-vpc.****.cr.aliyuncs.com/pai/easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04
      command=sleep 1000
      workspace_id=****
      resource_id=quotau2h98mt****
      worker_cpu=1
      worker_memory=2Gi
      allow_nodes=lingjuc47iextvg9-****,lingjuc47iextvg9-****
      deny_nodes=lingjuc47iextvg9-****,lingjuc47iextvg9-****
      

Désactiver la vérification du stock à la demande pour la soumission de tâches

Vous pouvez configurer le paramètre disable_ecs_stock_check dans la ligne de commande DLC pour désactiver la vérification du stock à la demande.

  • Paramètres

    Paramètre

    Description

    Valeur d'exemple

    disable_ecs_stock_check

    Désactive la vérification du stock à la demande. Valeurs valides :

    • false (par défaut) : Active la vérification du stock à la demande.

    • true : Désactive la vérification du stock à la demande.

    true ou false

  • Exemples

    Paramètres de ligne de commande

    Soumettez une tâche à l'aide de paramètres de ligne de commande. Exemple :

    • Activer la vérification du stock à la demande

      ./dlc submit pytorchjob \
          --name=test_skip_checking3 \
          --command='sleep 1000' \
          --workspace_id=**** \
          --priority=1 \
          --workers=1 \
          --worker_image=registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12PAI-gpu-py36-cu101-ubuntu18.04 \
          --worker_spec=ecs.g6.xlarge  
    • Désactiver la vérification du stock à la demande

      ./dlc submit pytorchjob \
          --name=test_skip_checking3 \
          --command='sleep 1000' \
          --workspace_id=**** \
          --priority=1 \
          --workers=1 \
          --worker_image=registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12PAI-gpu-py36-cu101-ubuntu18.04 \
          --worker_spec=ecs.g6.xlarge \
          --disable_ecs_stock_check=true
       

    Configuration basée sur un fichier

    Soumettez une tâche à l'aide d'une configuration basée sur un fichier. Exemple :

    ./dlc submit pytorchjob -f job_file

    Ici, job_file est le fichier de paramètres de tâche. Le contenu est le suivant :

    • Activer la vérification du stock à la demande

      name=test_skip_checking3
      workers=1
      worker_image=registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12PAI-gpu-py36-cu101-ubuntu18.04
      command=sleep 1000
      workspace_id=****
      worker_spec=ecs.g6.xlarge
      
    • Désactiver la vérification du stock à la demande

      name=test_skip_checking3
      workers=1
      worker_image=registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.12PAI-gpu-py36-cu101-ubuntu18.04
      command=sleep 1000
      workspace_id=****
      worker_spec=ecs.g6.xlarge
      disable_ecs_stock_check=true
      

Documents connexes