wandb journalise automatiquement les métriques système toutes les 15 secondes.Afficher les métriques système
Vous pouvez afficher et surveiller les métriques système dans la W&B App ou dans l’interface terminalwandb leet.
- App
- LEET
Pour afficher les métriques système dans la W&B App :
- Accédez à votre projet dans la W&B App.
- Sélectionnez un run dans le tableau Runs.
- Dans le workspace, repérez la section System, qui affiche des graphiques pour :
- l’utilisation et la mémoire du GPU
- l’utilisation du CPU
- l’utilisation de la mémoire
- les E/S disque
- le trafic réseau
CPU
Process CPU Percent (CPU)
Pourcentage d’utilisation du CPU par le processus, normalisé par le nombre de CPU disponibles. W&B attribue le tagcpu à cette métrique.
Threads CPU du processus
Nombre de threads utilisés par le processus. W&B attribue le tagproc.cpu.threads à cette métrique.
Disque
Par défaut, les métriques d’utilisation sont collectées pour le chemin/. Pour configurer les chemins à surveiller, utilisez le paramètre suivant :
Pourcentage d’utilisation du disque
Représente l’utilisation totale du disque système, en pourcentage, pour les chemins spécifiés. W&B attribue le tagdisk.{path}.usagePercent à cette métrique.
Utilisation du disque
Représente l’utilisation totale du disque système, en gigaoctets (Go), pour les chemins spécifiés. Les chemins accessibles sont échantillonnés, et l’utilisation du disque (en Go) de chacun d’eux est ajoutée aux échantillons. W&B attribue le tagdisk.{path}.usageGB à cette métrique.
Disque en lecture
Indique le volume total lu sur le disque système, en mégaoctets (Mo). Le nombre initial d’octets lus sur le disque est enregistré lors du premier échantillonnage. Chaque échantillon suivant calcule la différence entre le nombre actuel d’octets lus et cette valeur initiale. W&B attribue le tagdisk.in à cette métrique.
Disque en écriture
Représente le volume total d’écriture sur le disque système, en mégaoctets (Mo). Comme pour Disque en lecture, le nombre initial d’octets écrits sur le disque est enregistré lors du premier échantillonnage. Chaque échantillon suivant calcule la différence entre le nombre actuel d’octets écrits et cette valeur initiale. W&B attribue le tagdisk.out à cette métrique.
Mémoire
Mémoire RSS du processus
Représente la taille de l’ensemble résident (RSS, Resident Set Size) du processus, en mégaoctets (Mo). Le RSS correspond à la part de la mémoire occupée par un processus qui se trouve dans la mémoire principale (RAM). W&B attribue le tagproc.memory.rssMB à cette métrique.
Pourcentage de mémoire du processus
Indique l’utilisation de la mémoire par le processus, en pourcentage de la mémoire totale disponible. W&B attribue le tagproc.memory.percent à cette métrique.
Pourcentage de mémoire
Représente l’utilisation totale de la mémoire système, exprimée en pourcentage de la mémoire totale disponible. W&B attribue le tagmemory_percent à cette métrique.
Mémoire disponible
Indique la quantité totale de mémoire système disponible, en mégaoctets (Mo). W&B attribue le tagproc.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 correspondent à la différence entre le nombre actuel d’octets envoyés et cette valeur initiale. W&B attribue le tagnetwork.sent à cette métrique.
Octets réseau reçus
Indique le nombre total d’octets reçus sur le réseau. Comme pour les octets réseau envoyés, le nombre initial d’octets reçus est enregistré lors de la première initialisation de la métrique. Chaque échantillon suivant correspond à la différence entre le nombre actuel d’octets reçus et cette valeur initiale. W&B attribue le tagnetwork.recv à cette métrique.
GPU NVIDIA
Outre les métriques décrites ci-dessous, si le processus ou ses processus descendants utilisent un GPU donné, W&B capture les métriques correspondantes sous la formegpu.process.{gpu_index}.{metric_name}
Utilisation de la mémoire GPU
Représente l’utilisation de la mémoire de chaque GPU, en pourcentage. W&B attribue un taggpu.{gpu_index}.memory à cette métrique.
Mémoire GPU allouée
Indique la mémoire GPU allouée, en pourcentage de la mémoire totale disponible, pour chaque GPU. W&B attribue le taggpu.{gpu_index}.memoryAllocated à cette métrique.
Mémoire GPU allouée Bytes
Indique la mémoire GPU allouée, en octets, pour chaque GPU. W&B attribue le taggpu.{gpu_index}.memoryAllocatedBytes à cette métrique.
Utilisation du GPU
Indique le taux d’utilisation de chaque GPU, en pourcentage. W&B attribue le taggpu.{gpu_index}.gpu à cette métrique.
Température du GPU
La température de chaque GPU, en degrés Celsius. W&B attribue le taggpu.{gpu_index}.temp à cette métrique.
Consommation électrique du GPU en watts
Indique la consommation électrique de chaque GPU, en watts. W&B attribue le taggpu.{gpu_index}.powerWatts à cette métrique.
Pourcentage de consommation électrique du GPU
Indique la consommation électrique de chaque GPU, en pourcentage de sa puissance maximale. W&B attribue un taggpu.{gpu_index}.powerPercent à cette métrique.
Fréquence d’horloge SM du GPU
Représente la fréquence d’horloge du Streaming Multiprocessor (SM) du GPU, en MHz. Cette métrique reflète la vitesse de traitement des cœurs du GPU chargés des tâches de calcul. W&B attribue le taggpu.{gpu_index}.smClock à cette métrique.
Fréquence d’horloge de la mémoire GPU
Représente la fréquence d’horloge de la mémoire GPU en MHz, qui influe sur la vitesse de transfert des données entre la mémoire GPU et les cœurs de traitement. W&B attribue le taggpu.{gpu_index}.memoryClock à cette métrique.
Fréquence d’horloge graphique du GPU
Représente la fréquence d’horloge de base des 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 le taggpu.{gpu_index}.graphicsClock à cette métrique.
Erreurs de mémoire GPU corrigées
Suit le nombre d’erreurs de mémoire du GPU que W&B corrige automatiquement grâce aux protocoles de détection et de correction d’erreurs, ce qui signale des problèmes matériels récupérables. W&B attribue le taggpu.{gpu_index}.correctedMemoryErrors à cette métrique.
Erreurs de mémoire GPU non corrigées
Suit le nombre d’erreurs de mémoire du GPU que W&B n’a pas corrigées, signe d’erreurs irrécupérables susceptibles de compromettre la fiabilité du traitement. W&B attribue le taggpu.{gpu_index}.unCorrectedMemoryErrors à cette métrique.
Utilisation de l’encodeur GPU
Représente le pourcentage d’utilisation de l’encodeur vidéo du GPU, qui reflète sa charge pendant l’exécution de tâches d’encodage (par exemple, le rendu vidéo). W&B attribue le taggpu.{gpu_index}.encoderUtilization à cette métrique.
GPU AMD
W&B extrait les métriques de la sortie de l’outilrocm-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 fournit des informations plus détaillées.
Utilisation des GPU AMD
Représente le taux d’utilisation du GPU, en pourcentage, pour chaque appareil GPU AMD. W&B attribue un taggpu.{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 GPU AMD. W&B attribue le taggpu.{gpu_index}.memoryAllocated à cette métrique.
Température des GPU AMD
Température, en degrés Celsius, de chaque GPU AMD. W&B attribue le taggpu.{gpu_index}.temp à cette métrique.
Consommation électrique des GPU AMD en watts
Consommation électrique, en watts, de chaque GPU AMD. W&B attribue un taggpu.{gpu_index}.powerWatts à cette métrique.
Pourcentage de consommation électrique du GPU AMD
Indique la consommation électrique de chaque GPU AMD, exprimée en pourcentage de sa capacité de puissance. W&B attribue la clégpu.{gpu_index}.powerPercent à cette métrique.
GPU des Mac Apple ARM
Utilisation du GPU Apple
Indique le taux d’utilisation du GPU, en pourcentage, pour les GPU Apple, en particulier sur les Mac ARM. W&B attribue le taggpu.0.gpu à cette métrique.
Mémoire GPU allouée (Apple)
Mémoire GPU allouée, exprimée en pourcentage de la mémoire totale disponible, pour les GPU Apple des Mac ARM. W&B attribue le taggpu.0.memoryAllocated à cette métrique.
Température du GPU Apple
La température du GPU, en degrés Celsius, des GPU Apple sur les Mac ARM. W&B attribue le taggpu.0.temp à cette métrique.
Consommation électrique du GPU Apple en watts
La consommation électrique, en watts, des GPU Apple sur les Mac ARM. W&B attribue le taggpu.0.powerWatts à cette métrique.
Pourcentage de consommation électrique du GPU Apple
Consommation électrique du GPU, exprimée en pourcentage de sa capacité électrique maximale, pour les GPU Apple des Mac ARM. W&B attribue le taggpu.0.powerPercent à cette métrique.
Graphcore IPU
Les IPU (Intelligence Processing Units) de Graphcore sont des accélérateurs matériels d’un genre unique, conçus spécifiquement pour les tâches d’intelligence artificielle.Métriques des appareils IPU
Ces métriques représentent diverses statistiques relatives à un appareil IPU donné. Chaque métrique est identifiée par un ID d’appareil (device_id) et une clé de métrique (metric_key). W&B attribue le tag ipu.{device_id}.{metric_key} à cette métrique.
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 de journaliser des données redondantes, seules les métriques qui évoluent dans le temps sont journalisées, ainsi que celles récupérées pour la première fois sur un appareil.
Pour chaque métrique, la méthode parse_metric extrait la valeur de la métrique à partir de sa représentation brute sous forme de chaîne de caractères. Les métriques sont ensuite agrégées sur plusieurs échantillons à l’aide de la méthode aggregate.
Voici la liste des métriques disponibles et de 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 l’IPU par session (
ipu utilisation (session) (%)) : pourcentage d’utilisation de l’IPU propre à la session en cours. - Débit de la liaison de 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 sur mesure par Google pour accélérer les charges de travail de machine learning.Les métriques exactes remontées dépendent de la génération de puce TPU (par exemple v4, v5e, v5p, v6e ou 7x) ainsi que de l’environnement d’exécution.
Métriques de calcul TPU
-
tpu.{tpu_index}.tensorcoreUtilization: pourcentage d’utilisation des TensorCore par appareil. C’est l’indicateur le plus direct pour savoir si les unités de calcul TensorCore sont pleinement exploitées. -
tpu.{tpu_index}.dutyCycle: pourcentage du temps de la période d’échantillonnage pendant lequel le TensorCore de l’accélérateur était en cours de traitement actif. Cette métrique est remontée par puce, puis répliquée sur tous les appareils des puces multi-appareils. Plus la valeur est élevée, meilleure est l’utilisation des TensorCore.
Métriques de mémoire TPU
-
tpu.{tpu_index}.hbmCapacityTotal: capacité totale de la mémoire à haute bande passante (HBM), en octets par appareil. -
tpu.{tpu_index}.hbmCapacityUsage: utilisation actuelle de la HBM, en octets par appareil.
État de l’interconnexion TPU
tpu.{tpu_index}.iciLinkHealth: état des liens d’interconnexion inter-puces (Inter-Chip Interconnect, ICI) par appareil. Cette métrique n’est disponible que via le chemin du SDK libtpu.
Latence de transfert TPU
Distributions de latence en microsecondes. Les statistiques rapportées peuvent inclure la moyenne, p50, p90, p95 et p999. Ces métriques concernent surtout les configurations de pods TPU multi-slices.-
tpu.bufferTransferLatency.{label}.{stat}Us: latences de transfert des buffers DCN (Data Center Network) entre les slices. -
tpu.inboundBufferTransferLatency.{label}.{stat}Us: latences de transfert des buffers DCN entrants. -
tpu.hostToDeviceTransferLatency.{label}.{stat}Us: latences de transfert des données de l’hôte vers l’appareil. -
tpu.deviceToHostTransferLatency.{label}.{stat}Us: latences de transfert des données de l’appareil vers l’hôte.
Communication collective TPU
-
tpu.collectiveE2ELatency.{label}.{stat}Us: latence de bout en bout des opérations collectives, telles que all-reduce et all-gather. -
tpu.hostComputeLatency.{label}.{stat}Us: latences de calcul côté hôte, y compris les latences de calcul MXLA.
Métriques réseau des TPU
-
tpu.grpcTcpMinRtt.{stat}Us: temps d’aller-retour TCP minimum pour les connexions gRPC. -
tpu.grpcTcpDeliveryRate.{stat}Mbps: débit de transmission TCP pour les connexions gRPC, en mégabits par seconde.
Métriques d’exécution HLO des TPU
-
tpu.hloExecTiming.{label}.{stat}Us: distributions des temps d’exécution HLO (High Level Operations), en microsecondes. Cette métrique fournit le temps d’exécution par opération. -
tpu.hloQueueSize.{label}: taille actuelle de la file d’attente d’exécution HLO. Cette métrique indique le nombre d’opérations en attente d’exécution.
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. Les métriques AWS Trainium sont capturées à l’aide de l’outilneuron-monitor d’AWS.
Utilisation des Neuron Cores Trainium
Pourcentage d’utilisation de chaque NeuronCore, mesuré cœur par cœur. W&B attribue le tagtrn.{core_index}.neuroncore_utilization à cette métrique.
Utilisation totale de la mémoire de l’hôte Trainium
Consommation totale de mémoire sur l’hôte, en octets. W&B attribue le tagtrn.host_total_memory_usage à cette métrique.
Utilisation totale de la mémoire de l’appareil Trainium Neuron
Utilisation totale de la mémoire sur l’appareil Neuron, en octets. W&B attribue un tagtrn.neuron_device_total_memory_usage) à cette métrique.
Répartition de l’utilisation de la mémoire hôte 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 (DMA). - Tenseurs (
trn.host_total_memory_usage.tensors) : mémoire utilisée pour les tenseurs.
Répartition de l’utilisation de la mémoire des Neuron Cores Trainium
Informations détaillées sur l’utilisation de la mémoire de chaque NeuronCore :- Constantes (
trn.{core_index}.neuroncore_memory_usage.constants) - Code du modèle (
trn.{core_index}.neuroncore_memory_usage.model_code) - Scratchpad partagé du modèle (
trn.{core_index}.neuroncore_memory_usage.model_shared_scratchpad) - Mémoire du runtime (
trn.{core_index}.neuroncore_memory_usage.runtime_memory) - Tenseurs (
trn.{core_index}.neuroncore_memory_usage.tensors)