Passer au contenu principal
Cette page fournit des informations détaillées sur les métriques du système suivies par le SDK W&B.
wandb enregistre automatiquement les métriques du système toutes les 15 secondes.

Afficher les métriques système

Vous pouvez afficher et surveiller les métriques système à l’aide de la W&B App ou de l’interface terminal wandb beta leet.
Pour afficher les métriques système dans la W&B App :
  1. Accédez à votre projet dans la W&B App.
  2. Sélectionnez un run dans le tableau Runs.
  3. Dans le Workspace, recherchez la section System, qui affiche des graphiques pour :
    • l’utilisation du GPU et la mémoire
    • l’utilisation du CPU
    • l’utilisation de la mémoire
    • les E/S du disque
    • le trafic réseau
Vous pouvez personnaliser les métriques système à afficher en ajoutant des panneaux à votre Workspace. Voir Panels pour plus d’informations sur la création et la personnalisation des visualisations.

CPU

Pourcentage CPU du processus (CPU)

Pourcentage d’utilisation du processeur par le processus, normalisé en fonction du nombre de processeurs disponibles. W&B attribue la balise cpu à cette métrique.

Threads CPU du processus

Le nombre de threads utilisés par le processus. W&B attribue la balise proc.cpu.threads à cette métrique.

Disque

Par défaut, les métriques d’utilisation sont collectées sur le chemin /. Pour configurer les chemins à surveiller, utilisez le paramètre suivant :
run = wandb.init(
    settings=wandb.Settings(
        x_stats_disk_paths=("/System/Volumes/Data", "/home", "/mnt/data"),
    ),
)

Pourcentage d’utilisation du disque

Représente le pourcentage total d’utilisation du disque système pour les chemins spécifiés. W&B attribue la balise disk.{path}.usagePercent à cette métrique.

Utilisation du disque

Représente l’utilisation totale du disque système, en gigaoctets (GB), pour les chemins spécifiés. Les chemins accessibles sont échantillonnés, et l’utilisation du disque (en GB) de chaque chemin est ajoutée aux échantillons. W&B attribue une balise disk.{path}.usageGB à cette métrique.

Disque In

Indique le volume total de lectures sur le disque système, en mégaoctets (MB). Les octets lus sur le disque sont enregistrés lors du premier échantillonnage. Les échantillons suivants calculent la différence entre le nombre actuel d’octets lus et la valeur initiale. W&B attribue une balise disk.in à cette métrique.

Écriture sur disque

Représente le volume total des écritures système sur disque en mégaoctets (MB). Comme pour Disque In, les octets d’écriture initiaux sur disque sont enregistrés lors du premier échantillonnage. Les échantillons suivants calculent la différence entre le nombre actuel d’octets écrits et la valeur initiale. W&B attribue la balise disk.out à cette métrique.

Mémoire

Mémoire RSS du processus

Représente la taille de l’ensemble résident (RSS) du processus, en mégaoctets (Mo). Le RSS correspond à la partie de la mémoire occupée par un processus et conservée dans la mémoire principale (RAM). W&B attribue une balise proc.memory.rssMB à cette métrique.

Pourcentage de mémoire du processus

Indique l’utilisation mémoire du processus en pourcentage de la mémoire totale disponible. W&B attribue la balise proc.memory.percent à cette métrique.

Pourcentage de mémoire

Représente l’utilisation totale de la mémoire système en pourcentage de la mémoire totale disponible. W&B attribue la balise memory_percent à cette métrique.

Mémoire disponible

Indique la quantité totale de mémoire système disponible en megabytes (MB). W&B attribue une balise proc.memory.availableMB à cette métrique.

Réseau

Octets réseau envoyés

Représente le nombre total d’octets envoyés sur le réseau. Le nombre initial d’octets envoyés est enregistré lors de la première initialisation de la métrique. Les échantillons suivants calculent la différence entre le nombre actuel d’octets envoyés et cette valeur initiale. W&B attribue une balise network.sent à cette métrique.

Données reçues sur le réseau

Indique le nombre total d’octets reçus sur le réseau. Comme pour Données envoyées sur le réseau, le nombre initial d’octets reçus est enregistré lors de la première initialisation de la métrique. Les échantillons suivants calculent la différence entre le nombre actuel d’octets reçus et la valeur initiale. W&B attribue la balise network.recv à cette métrique.

GPU NVIDIA

En plus des métriques décrites ci-dessous, si le processus et/ou ses processus descendants utilisent un GPU donné, W&B capture les métriques correspondantes sous la forme gpu.process.{gpu_index}.{metric_name}

Utilisation de la mémoire GPU

Représente l’utilisation de la mémoire GPU, en pourcentage, pour chaque GPU. W&B attribue à cette métrique la balise gpu.{gpu_index}.memory.

Mémoire GPU allouée

Indique la part de mémoire GPU allouée, en pourcentage de la mémoire totale disponible pour chaque GPU. W&B attribue la balise gpu.{gpu_index}.memoryAllocated à cette métrique.

Mémoire GPU allouée en octets

Indique la quantité de mémoire GPU allouée, en octets, pour chaque GPU. W&B attribue la balise gpu.{gpu_index}.memoryAllocatedBytes à cette métrique.

Utilisation du GPU

Indique le pourcentage d’utilisation de chaque GPU. W&B attribue une balise gpu.{gpu_index}.gpu à cette métrique.

Température du GPU

La température en degrés Celsius de chaque GPU. W&B attribue la balise gpu.{gpu_index}.temp à cette métrique.

Consommation électrique du GPU en watts

Indique la consommation électrique en watts de chaque GPU. W&B attribue une balise gpu.{gpu_index}.powerWatts à cette métrique.

Pourcentage de consommation électrique du GPU

Indique, pour chaque GPU, la consommation électrique en pourcentage de sa puissance maximale. W&B attribue la balise gpu.{gpu_index}.powerPercent à cette métrique.

Vitesse d’horloge du SM du GPU

Représente la fréquence d’horloge du Streaming Multiprocessor (SM) du GPU, en MHz. Cette métrique indique la vitesse de traitement au sein des cœurs du GPU responsables des tâches de calcul. W&B attribue la balise gpu.{gpu_index}.smClock à cette métrique.

Fréquence d’horloge de la mémoire du GPU

Représente la fréquence d’horloge de la mémoire du GPU en MHz, qui influe sur le débit de transfert des données entre la mémoire du GPU et les cœurs de traitement. W&B attribue à cette métrique la balise gpu.{gpu_index}.memoryClock.

Fréquence d’horloge graphique du GPU

Représente la fréquence d’horloge de base pour les opérations de rendu graphique sur le GPU, exprimée en MHz. Cette métrique reflète souvent les performances lors des tâches de visualisation ou de rendu. W&B attribue une balise gpu.{gpu_index}.graphicsClock à cette métrique.

Erreurs de mémoire GPU corrigées

Suit le nombre d’erreurs de mémoire sur le GPU que W&B corrige automatiquement grâce à des protocoles de vérification d’erreurs, ce qui indique des problèmes matériels récupérables. W&B attribue une balise gpu.{gpu_index}.correctedMemoryErrors à cette métrique.

Erreurs de mémoire non corrigées du GPU

Indique le nombre d’erreurs de mémoire non corrigées sur le GPU, c’est-à-dire des erreurs non récupérables susceptibles d’affecter la fiabilité du traitement. W&B attribue à cette métrique la balise gpu.{gpu_index}.unCorrectedMemoryErrors.

Utilisation de l’encodeur GPU

Représente le pourcentage d’utilisation de l’encodeur vidéo du GPU, ce qui indique sa charge lorsque des tâches d’encodage (par exemple, le rendu vidéo) sont en cours. W&B attribue la balise gpu.{gpu_index}.encoderUtilization à cette métrique.

GPU AMD

W&B extrait des métriques de la sortie de l’outil rocm-smi fourni par AMD (rocm-smi -a --json). Les formats ROCm 6.x (dernière version) et 5.x sont pris en charge. Pour en savoir plus sur les formats ROCm, consultez la documentation AMD ROCm. Le format le plus récent inclut plus de détails.

Utilisation des GPU AMD

Représente le taux d’utilisation du GPU, en pourcentage, pour chaque GPU AMD. W&B attribue la balise gpu.{gpu_index}.gpu à cette métrique.

Mémoire GPU AMD allouée

Indique la mémoire GPU allouée, en pourcentage de la mémoire totale disponible, pour chaque périphérique GPU AMD. W&B attribue la balise gpu.{gpu_index}.memoryAllocated à cette métrique.

Température du GPU AMD

La température, en degrés Celsius, de chaque GPU AMD. W&B attribue la balise gpu.{gpu_index}.temp à cette métrique.

Consommation électrique du GPU AMD en watts

La consommation électrique, en watts, de chaque GPU AMD. W&B attribue la balise gpu.{gpu_index}.powerWatts à cette métrique.

Pourcentage de consommation électrique du GPU AMD

Indique, pour chaque GPU AMD, la consommation électrique du GPU en pourcentage de sa puissance maximale. W&B associe gpu.{gpu_index}.powerPercent à cette métrique.

GPU sur Mac Apple ARM

Utilisation du GPU Apple

Indique l’utilisation du GPU en pourcentage pour les GPU Apple, en particulier sur les Mac ARM. W&B attribue une balise gpu.0.gpu à cette métrique.

Mémoire allouée du GPU Apple

La mémoire GPU allouée, exprimée en pourcentage de la mémoire totale disponible, pour les GPU Apple sur les Mac ARM. W&B attribue la balise gpu.0.memoryAllocated à cette métrique.

Température du GPU Apple

La température du GPU, en degrés Celsius, sur les Mac ARM équipés d’un GPU Apple. W&B attribue la balise gpu.0.temp à cette métrique.

Consommation du GPU Apple en watts

La consommation du GPU en watts sur les Mac ARM équipés d’un GPU Apple. W&B attribue à cette métrique la balise gpu.0.powerWatts.

Pourcentage d’utilisation de la puissance du GPU Apple

Utilisation de la puissance du GPU, exprimée en pourcentage de sa capacité maximale, pour les GPU Apple sur les Mac ARM. W&B attribue une balise gpu.0.powerPercent à cette métrique.

Graphcore IPU

Les IPU (Intelligence Processing Units) de Graphcore sont des accélérateurs matériels spécialement conçus pour les tâches d’intelligence artificielle.

Métriques de l’appareil IPU

Ces métriques représentent diverses statistiques pour un appareil IPU donné. Chaque métrique possède un ID d’appareil (device_id) et une clé de métrique (metric_key) pour l’identifier. W&B attribue à cette métrique la balise ipu.{device_id}.{metric_key}. Les métriques sont extraites à l’aide de la bibliothèque propriétaire gcipuinfo, qui interagit avec le binaire gcipuinfo de Graphcore. La méthode sample récupère ces métriques pour chaque appareil IPU associé à l’ID de processus (pid). Pour éviter d’enregistrer des données redondantes, seules les métriques qui évoluent au fil du temps, ainsi que celles récupérées lors de la première collecte des métriques d’un appareil, sont enregistrées. Pour chaque métrique, la méthode parse_metric est utilisée pour extraire la valeur de la métrique à partir de sa représentation brute sous forme de chaîne. Les métriques sont ensuite agrégées sur plusieurs échantillons à l’aide de la méthode aggregate. La liste suivante présente les métriques disponibles et leurs unités :
  • Température moyenne de la carte (average board temp (C)) : Température de la carte IPU en degrés Celsius.
  • Température moyenne de la puce (average die temp (C)) : Température de la puce IPU en degrés Celsius.
  • Fréquence d’horloge (clock (MHz)) : Fréquence d’horloge de l’IPU en MHz.
  • Puissance de l’IPU (ipu power (W)) : Consommation électrique de l’IPU en watts.
  • Utilisation de l’IPU (ipu utilisation (%)) : Pourcentage d’utilisation de l’IPU.
  • Utilisation de session de l’IPU (ipu utilisation (session) (%)) : Pourcentage d’utilisation de l’IPU propre à la session en cours.
  • Vitesse de liaison des données (speed (GT/s)) : Vitesse de transmission des données en gigatransferts par seconde.

Google Cloud TPU

Les Tensor Processing Units (TPU) sont des ASIC (Application Specific Integrated Circuits) conçus par Google pour accélérer les charges de travail d’apprentissage automatique.

Utilisation de la mémoire TPU

Utilisation actuelle de la High Bandwidth Memory, en octets, par cœur de TPU. W&B attribue à cette métrique la balise tpu.{tpu_index}.memoryUsageBytes.

Pourcentage d’utilisation de la mémoire TPU

Utilisation actuelle de la High Bandwidth Memory, en pourcentage, par cœur TPU. W&B attribue la balise tpu.{tpu_index}.memoryUsageBytes à cette métrique.

Taux d’activité du TPU

Pourcentage du taux d’activité de TensorCore pour chaque appareil TPU. Indique le pourcentage de temps, sur la période d’échantillonnage, pendant lequel l’accélérateur TensorCore traitait activement des données. Une valeur plus élevée signifie une meilleure utilisation de TensorCore. W&B attribue une balise tpu.{tpu_index}.dutyCycle à cette métrique.

AWS Trainium

AWS Trainium est une plateforme matérielle spécialisée proposée par AWS, conçue pour accélérer les charges de travail de machine learning. L’outil neuron-monitor d’AWS sert à collecter les métriques d’AWS Trainium.

Utilisation des NeuronCore de Trainium

Le pourcentage d’utilisation de chaque NeuronCore, indiqué pour chaque cœur. W&B attribue la balise trn.{core_index}.neuroncore_utilization à cette métrique.

Utilisation totale de la mémoire de l’hôte Trainium

La consommation totale de mémoire de l’hôte, en octets. W&B attribue la balise trn.host_total_memory_usage à cette métrique.

Utilisation totale de la mémoire du périphérique Neuron Trainium

L’utilisation totale de la mémoire sur le périphérique Neuron, en octets. W&B attribue une balise trn.neuron_device_total_memory_usage) à cette métrique.

Répartition de l’utilisation de la mémoire hôte de Trainium :

Voici la répartition de l’utilisation de la mémoire sur l’hôte :
  • Mémoire de l’application (trn.host_total_memory_usage.application_memory) : mémoire utilisée par l’application.
  • Constantes (trn.host_total_memory_usage.constants) : mémoire utilisée pour les constantes.
  • Tampons DMA (trn.host_total_memory_usage.dma_buffers) : mémoire utilisée pour les tampons d’accès direct à la mémoire.
  • Tenseurs (trn.host_total_memory_usage.tensors) : mémoire utilisée pour les tenseurs.

Répartition de l’utilisation de la mémoire des NeuronCore Trainium

Informations détaillées sur l’utilisation de la mémoire pour chaque NeuronCore :
  • Constantes (trn.{core_index}.neuroncore_memory_usage.constants)
  • Code du modèle (trn.{core_index}.neuroncore_memory_usage.model_code)
  • Zone de travail partagée du modèle (trn.{core_index}.neuroncore_memory_usage.model_shared_scratchpad)
  • Mémoire d’exécution (trn.{core_index}.neuroncore_memory_usage.runtime_memory)
  • Tenseurs (trn.{core_index}.neuroncore_memory_usage.tensors)

OpenMetrics

Capturez et consignez des métriques à partir d’endpoints externes qui exposent des données compatibles avec OpenMetrics / Prometheus, avec prise en charge de filtres de métriques personnalisés basés sur des expressions régulières à appliquer aux endpoints interrogés. Consultez Surveillance des performances d’un cluster GPU dans W&B pour un exemple détaillé de l’utilisation de cette fonctionnalité dans un cas concret de surveillance des performances d’un cluster GPU avec NVIDIA DCGM-Exporter.