Passer au contenu principal
La page suivante décrit comment configurer les options de la file d’attente Launch.

Configurer les modèles de configuration de file d’attente

Administrez et gérez des garde-fous pour la consommation des ressources de calcul à l’aide des modèles de configuration de file d’attente. Définissez des valeurs par défaut, minimales et maximales pour des champs tels que la consommation de mémoire, le GPU et la durée d’exécution. Après avoir configuré une file d’attente avec des modèles de configuration, les membres de votre équipe ne peuvent modifier les champs que vous avez définis que dans la plage que vous avez spécifiée.

Configurer un modèle de file d’attente

Vous pouvez configurer un modèle de file d’attente sur une file d’attente existante ou créer une nouvelle file d’attente.
  1. Accédez à la W&B Launch App.
  2. Sélectionnez View queue à côté du nom de la file d’attente à laquelle vous souhaitez ajouter un modèle.
  3. Sélectionnez l’onglet Config. Il affiche des informations sur votre file d’attente, notamment sa date de création, sa configuration et les remplacements existants au moment du lancement.
  4. Accédez à la section configuration de la file d’attente.
  5. Identifiez les paires clé-valeur de configuration pour lesquelles vous souhaitez créer un modèle.
  6. Remplacez la valeur dans la configuration par un champ de modèle. Les champs de modèle prennent la forme {{variable-name}}.
  7. Cliquez sur le bouton Parse configuration. Lorsque vous analysez votre configuration, W&B crée automatiquement des vignettes sous la configuration de la file d’attente pour chaque modèle créé.
  8. Pour chaque vignette générée, vous devez d’abord spécifier le type de données (chaîne, entier ou nombre à virgule flottante) autorisé par la configuration de la file d’attente. Pour ce faire, sélectionnez le type de données dans le menu déroulant Type.
  9. Selon le type de données, renseignez les champs qui apparaissent dans chaque vignette.
  10. Cliquez sur Save config.
Par exemple, supposons que vous souhaitiez créer un modèle pour limiter les instances AWS que votre équipe peut utiliser. Avant d’ajouter un champ de modèle, la configuration de votre file d’attente peut ressembler à ceci :
launch config
RoleArn: arn:aws:iam:region:account-id:resource-type/resource-id
ResourceConfig:
  InstanceType: ml.m4.xlarge
  InstanceCount: 1
  VolumeSizeInGB: 2
OutputDataConfig:
  S3OutputPath: s3://bucketname
StoppingCondition:
  MaxRuntimeInSeconds: 3600
Si vous ajoutez un champ de modèle pour InstanceType, votre configuration ressemblera à ceci :
launch config
RoleArn: arn:aws:iam:region:account-id:resource-type/resource-id
ResourceConfig:
  InstanceType: "{{aws_instance}}"
  InstanceCount: 1
  VolumeSizeInGB: 2
OutputDataConfig:
  S3OutputPath: s3://bucketname
StoppingCondition:
  MaxRuntimeInSeconds: 3600
Ensuite, cliquez sur Parse configuration. Une nouvelle vignette intitulée aws-instance apparaît sous configuration de la file d’attente. À partir de là, sélectionnez String comme type de données dans le menu déroulant Type. Des champs s’affichent alors, dans lesquels vous pouvez spécifier les valeurs parmi lesquelles un utilisateur pourra choisir. Par exemple, dans l’image suivante, l’administrateur de l’équipe a configuré deux types d’instances AWS différents parmi lesquels les utilisateurs peuvent choisir (ml.m4.xlarge et ml.p3.xlarge) :
Modèle AWS CloudFormation

Configurer dynamiquement les jobs Launch

Les configurations de la file d’attente peuvent être définies dynamiquement à l’aide de macros évaluées lorsque l’agent extrait un job de la file d’attente. Vous pouvez définir les macros suivantes :
MacroDescription
${project_name}Le nom du projet dans lequel le run est lancé.
${entity_name}Le propriétaire du projet dans lequel le run est lancé.
${run_id}L’ID du run en cours de lancement.
${run_name}Le nom du run en cours de lancement.
${image_uri}L’URI de l’image de conteneur de ce run.
Toute macro personnalisée ne figurant pas dans le tableau ci-dessus (par exemple ${MY_ENV_VAR}) est remplacée par une variable d’environnement issue de l’environnement de l’agent.

Utiliser l’agent Launch pour créer des images qui s’exécutent sur des accélérateurs (GPU)

Vous devrez peut-être spécifier une image de base pour accélérateur si vous utilisez Launch pour créer des images qui s’exécutent dans un environnement avec accélérateur. Cette image de base pour accélérateur doit répondre aux exigences suivantes :
  • Compatibilité avec Debian (le Dockerfile de Launch utilise apt-get pour récupérer Python)
  • Compatibilité des jeux d’instructions matériels CPU et GPU (assurez-vous que votre version de CUDA est prise en charge par le GPU que vous prévoyez d’utiliser)
  • Compatibilité entre la version d’accélérateur que vous fournissez et les packages installés dans votre algorithme de ML
  • Packages installés nécessitant des étapes supplémentaires pour assurer la compatibilité avec le matériel

Comment utiliser des GPU avec TensorFlow

Assurez-vous que TensorFlow utilise correctement votre GPU. Pour cela, spécifiez une image Docker ainsi que son tag pour la clé builder.accelerator.base_image dans la configuration des ressources de la file d’attente. Par exemple, l’image de base tensorflow/tensorflow:latest-gpu garantit que TensorFlow utilise correctement votre GPU. Vous pouvez la configurer dans la configuration des ressources de la file d’attente. L’extrait JSON suivant montre comment spécifier l’image de base TensorFlow dans la configuration de votre file d’attente :
configuration de la file d'attente
{
    "builder": {
        "accelerator": {
            "base_image": "tensorflow/tensorflow:latest-gpu"
        }
    }
}