Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Explorez les données de sortie de profil visualisées dans l'interface utilisateur du SageMaker profileur

Mode de mise au point
Explorez les données de sortie de profil visualisées dans l'interface utilisateur du SageMaker profileur - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Cette section présente l'interface utilisateur du SageMaker profileur et fournit des conseils sur la façon de l'utiliser et d'en tirer des informations.

Chargement du profil

Lorsque vous ouvrez l'interface utilisateur du SageMaker profileur, la page Charger le profil s'ouvre. Pour charger et générer le Tableau de bord et la Chronologie, suivez la procédure suivante.

Pour charger le profil d'une tâche d'entraînement
  1. Dans la section Liste des tâches d'entraînement, cochez la case pour choisir la tâche d'entraînement pour laquelle vous souhaitez charger le profil.

  2. Choisissez Load (Charger). Le nom de la tâche doit apparaître dans la section Profil chargé en haut de la page.

  3. Cochez la case d'option à gauche du Nom de la tâche pour générer le Tableau de bord et la Chronologie. Notez que lorsque vous cochez la case d'option, l'interface utilisateur ouvre automatiquement le Tableau de bord. Notez également que si vous générez les visualisations alors que le statut de la tâche et le statut de chargement semblent toujours en cours, l'interface utilisateur du SageMaker profileur génère des diagrammes de tableau de bord et une chronologie reprenant les données de profil les plus récentes collectées lors de la tâche de formation en cours ou les données de profil partiellement chargées.

Astuce

Vous pouvez charger et visualiser un seul profil à la fois. Pour charger un autre profil, vous devez d'abord décharger le profil précédemment chargé. Pour décharger un profil, utilisez l'icône de corbeille située à l'extrémité droite du profil dans la section Profil chargé.

Capture d'écran de la page Charger le profil dans l'interface utilisateur du SageMaker profileur

Tableau de bord

Une fois que vous avez fini de charger et de sélectionner la tâche d'entraînement, l'interface utilisateur ouvre la page du Tableau de bord dotée par défaut des panneaux suivants.

  • Temps d'activité de GPU : ce graphique à secteurs montre le pourcentage du temps d'activité de GPU par rapport à son temps d'inactivité. Vous pouvez vérifier si vous GPUs êtes plus actif que inactif pendant toute la durée de l'entraînement. Le temps d'activité de GPU est basé sur les points de données du profil dont le taux d'utilisation est supérieur à 0 %, tandis que le temps d'inactivité de GPU correspond aux points de données du profil avec une utilisation de 0 %.

  • Utilisation de GPU au fil du temps : ce graphique chronologique montre le taux d'utilisation moyen de GPU au fil du temps par nœud, en agrégeant tous les nœuds dans un seul graphique. Vous pouvez vérifier s' GPUsils présentent une charge de travail déséquilibrée, des problèmes de sous-utilisation, des goulots d'étranglement ou des problèmes d'inactivité à certains intervalles de temps. Pour suivre le taux d'utilisation au niveau de chaque GPU et les exécutions associées au noyau, utilisez l'Interface de chronologie. Notez que la collecte des activités de GPU commence à l'endroit où vous avez ajouté la fonction de démarrage du profileur SMProf.start_profiling() dans votre script d'entraînement et s'arrête à SMProf.stop_profiling().

  • Temps d'activité de CPU : ce graphique à secteurs montre le pourcentage du temps d'activité de CPU par rapport à son temps d'inactivité. Vous pouvez vérifier si vous CPUs êtes plus actif que inactif pendant toute la durée de l'entraînement. Le temps d'activité de CPU est basé sur les points de données du profil dont le taux d'utilisation est supérieur à 0 %, tandis que le temps d'inactivité de CPU correspond aux points de données du profil avec une utilisation de 0 %.

  • Utilisation de CPU au fil du temps : ce graphique chronologique montre le taux d'utilisation moyen de CPU au fil du temps par nœud, en agrégeant tous les nœuds dans un seul graphique. Vous pouvez vérifier s' CPUsils sont bloqués ou sous-utilisés pendant certains intervalles de temps. Pour suivre le taux d'utilisation du processeur graphique CPUs correspondant à l'utilisation individuelle du processeur graphique et aux exécutions du noyau, utilisez leInterface de chronologie. Notez que les métriques d'utilisation commencent dès l'initialisation de la tâche.

  • Temps passé par tous les noyaux de GPU : ce graphique à secteurs montre tous les noyaux de GPU utilisés au cours de la tâche d'entraînement. Il affiche les 15 noyaux principaux de GPU par défaut sous forme de secteurs individuels et tous les autres noyaux d'un secteur. Passez la souris sur les secteurs pour obtenir des informations plus détaillées. La valeur indique la durée totale de fonctionnement des noyaux de GPU en secondes et le pourcentage est basé sur la durée totale du profil.

  • Temps passé par les 15 noyaux principaux de GPU : ce graphique à secteurs montre tous les noyaux de GPU utilisés au cours de la tâche d'entraînement. Il montre les 15 noyaux principaux de GPU sous forme de secteurs individuels. Passez la souris sur les secteurs pour obtenir des informations plus détaillées. La valeur indique la durée totale de fonctionnement des noyaux de GPU en secondes et le pourcentage est basé sur la durée totale du profil.

  • Nombre de lancements de tous les noyaux de GPU : ce graphique à secteurs indique le nombre de lancements pour chaque noyau de GPU au cours de la tâche d'entraînement. Il affiche les 15 noyaux principaux de GPU sous forme de secteurs individuels et tous les autres noyaux d'un secteur. Passez la souris sur les secteurs pour obtenir des informations plus détaillées. La valeur indique le nombre total de noyaux de GPU lancés et le pourcentage est basé sur le nombre total de noyaux.

  • Nombre de lancements des 15 noyaux principaux de GPU : ce graphique à secteurs indique le nombre de lancements de chaque noyau de GPU au cours de la tâche d'entraînement. Il montre les 15 noyaux principaux de GPU. Passez la souris sur les secteurs pour obtenir des informations plus détaillées. La valeur indique le nombre total de noyaux de GPU lancés et le pourcentage est basé sur le nombre total de noyaux.

  • Distribution du temps des étapes — Cet histogramme montre la distribution des durées des étapes sur. GPUs Ce diagramme est généré uniquement après avoir ajouté l'annotateur d'étape dans votre script d'entraînement.

  • Distribution de la précision du noyau — Ce diagramme circulaire montre le pourcentage de temps passé à exécuter les noyaux dans différents types de données tels que FP32, FP16 INT32, et INT8.

  • Répartition de l'activité de GPU : ce graphique à secteurs indique le pourcentage de temps consacré aux activités de GPU, telles que l'exécution des noyaux, la mémoire (memcpy et memset) et la synchronisation (sync).

  • Répartition des opérations de mémoire de GPU : ce graphique à secteurs indique le pourcentage de temps consacré aux opérations de mémoire de GPU. Cela permet de visualiser les activités memcopy et de déterminer si votre tâche d'entraînement consacre trop de temps à certaines opérations de mémoire.

  • Créer un nouvel histogramme : créez un nouveau diagramme d'une métrique personnalisée que vous avez annoté manuellement pendant l'Étape 1 : Adaptez votre script d'entraînement à l'aide des modules SageMaker Profiler Python. Lorsque vous ajoutez une annotation personnalisée à un nouvel histogramme, sélectionnez ou saisissez le nom de l'annotation que vous avez ajoutée dans le script d'entraînement. Par exemple, dans le script d'entraînement de démonstration de l'étape 1, step, Forward, Backward, Optimize et Loss sont les annotations personnalisées. Lors de la création d'un nouvel histogramme, les noms de ces annotations doivent apparaître dans le menu déroulant pour la sélection des métriques. Si vous choisissez Backward, l'interface utilisateur ajoute au Tableau de bord l'histogramme du temps consacré aux transmissions vers l'arrière pendant la période profilée. Ce type d'histogramme est utile pour vérifier si des valeurs aberrantes prennent anormalement plus de temps et sont à l'origine de problèmes de goulots d'étranglement.

Les captures d'écran suivantes montrent le ratio de temps d'activité de GPU et de CPU, ainsi que le taux d'utilisation moyen de GPU et de CPU par rapport au temps par nœud de calcul.

Capture d'écran de la page Tableau de bord dans l'interface utilisateur du SageMaker profileur

La capture d'écran suivante montre un exemple de graphique à secteurs permettant de comparer le nombre de fois où les noyaux de GPU sont lancés et de mesurer le temps passé à les exécuter. Dans les panneaux Temps passé par tous les noyaux de GPU et Nombre de lancements de tous les noyaux de GPU, vous pouvez également spécifier un entier dans le champ de saisie pour k afin d'ajuster le nombre de légendes à afficher dans les diagrammes. Par exemple, si vous spécifiez 10, les diagrammes indiquent les 10 noyaux les plus exécutés et les plus lancés, respectivement.

Capture d'écran de la page Tableau de bord dans l'interface utilisateur du SageMaker profileur

La capture d'écran suivante montre un exemple d'histogramme de la durée des étapes et des graphiques à secteurs pour la distribution de la précision du noyau, la distribution de l'activité de GPU et la distribution des opérations de mémoire de GPU.

Capture d'écran de la page Tableau de bord dans l'interface utilisateur du SageMaker profileur

Interface de chronologie

Pour obtenir une vue détaillée des ressources de calcul au niveau des opérations et des noyaux planifiés CPUs et exécutés sur le GPUs, utilisez l'interface Timeline.

Vous pouvez faire un zoom avant et arrière et vous déplacer vers la gauche ou vers la droite dans l'interface de chronologie à l'aide de votre souris, des touches [w, a, s, d] ou des quatre flèches du clavier.

Astuce

Pour plus de conseils sur les raccourcis clavier permettant d'interagir avec l'interface Chronologie, choisissez Raccourcis clavier dans le volet de gauche.

Les traces chronologiques sont organisées sous forme d'arborescence, vous fournissant des informations allant du niveau de l'hôte au niveau de l'appareil. Par exemple, si vous exécutez N des instances de huit GPUs dans chacune, la structure chronologique de chaque instance sera la suivante.

  • algo-i node — Voici les balises SageMaker AI pour attribuer des tâches aux instances provisionnées. inode est attribué de manière aléatoire. Par exemple, si vous utilisez 4 instances, cette section passe d'algo-1 à algo-4.

    • CPU : dans cette section, vous pouvez vérifier le taux d'utilisation moyen de CPU et les compteurs de performance.

    • GPUs— Dans cette section, vous pouvez vérifier le taux d'utilisation moyen du GPU, le taux d'utilisation du GPU individuel et les noyaux.

      • Utilisation du SUM : taux d'utilisation moyen de GPU par instance.

      • HOST-0 PID-123 : nom unique attribué à chaque piste de processus. L'acronyme PID est l'identifiant du processus et le numéro qui y est ajouté est le numéro d'identification du processus enregistré lors de la capture des données du processus. Cette section présente les informations suivantes relatives au processus.

        • Utilisation de GPU-inum_gpu : taux d'utilisation du inum_gpuème GPU au fil du temps.

        • Appareil GPU-inum_gpu : le noyau s'exécute sur le inum_gpuème dispositif GPU.

          • stream icuda_stream : flux CUDA montrant que le noyau s'exécute sur le dispositif GPU. Pour en savoir plus sur les flux CUDA, consultez les diapositives au format PDF sur Flux et simultanéités CUDA C/C++ (langue française non garantie) fournies par NVIDIA.

        • Hôte de GPU-inum_gpu : le noyau est lancé sur le inum_gpuème hôte de GPU.

Les captures d'écran suivantes montrent la chronologie du profil d'une tâche de formation exécutée sur ml.p4d.24xlarge des instances équipées de 8 cœurs NVIDIA A100 Tensor Core chacune GPUs .

Ce qui suit est une vue agrandie du profil, avec une douzaine d'étapes, y compris un chargeur de données intermittent entre step_232 et step_233 pour récupérer le lot de données suivant.

Page chronologique de l'interface utilisateur du SageMaker profileur, qui permet de visualiser le profil d'un exemple de tâche de formation.

Pour chaque CPU, vous pouvez suivre l'utilisation de CPU et les compteurs de performance, tels que "clk_unhalted_ref.tsc" et "itlb_misses.miss_causes_a_walk", qui indiquent les instructions exécutées sur le CPU.

Pour chaque GPU, vous pouvez consulter une chronologie de l'hôte et une chronologie de l'appareil. Les lancements du noyau se font dans le calendrier de l'hôte et les exécutions du noyau dans le calendrier de l'appareil. Vous pouvez également voir les annotations (telles que les annotations Forward, Backward et Optimize) si vous avez ajouté un script d'entraînement dans la chronologie de l'hôte de GPU.

Dans la vue chronologique, vous pouvez également suivre les launch-and-run paires de noyaux. Cela vous permet de comprendre comment un lancement de noyau planifié sur un hôte (CPU) est exécuté sur le dispositif GPU correspondant.

Astuce

Appuyez sur la touche f pour zoomer sur le noyau sélectionné.

La capture d'écran suivante est une vue agrandie de step_233 et step_234 à partir de la capture d'écran précédente. L'intervalle chronologique sélectionné dans la capture d'écran suivante correspond à l'opération AllReduce, étape essentielle de communication et de synchronisation de l'entraînement distribué, exécutée sur l'appareil GPU-0. Dans la capture d'écran, notez que le lancement du noyau dans l'hôte GPU-0 se connecte au noyau exécuté dans le flux 1 de l'appareil GPU-0, indiqué par la flèche de couleur cyan.

Capture d'écran de la page Timeline dans l'interface utilisateur du SageMaker profileur

Deux onglets d'informations apparaissent également dans le volet inférieur de l'interface utilisateur lorsque vous sélectionnez un intervalle chronologique, comme indiqué dans la capture d'écran précédente. L'onglet Sélection actuelle affiche les détails du noyau sélectionné et du lancement du noyau connecté depuis l'hôte. La direction de connexion va toujours de l'hôte (CPU) à l'appareil (GPU) puisque chaque noyau de GPU est toujours appelé depuis un CPU. L'onglet Connexions indique la paire de lancement et d'exécution du noyau choisie. Vous pouvez sélectionner l'un ou l'autre pour le déplacer au centre de la vue Chronologie.

La capture d'écran suivante permet de zoomer davantage sur la paire de lancement et d'exécution de l'opération AllReduce.

Capture d'écran de la page Timeline dans l'interface utilisateur du SageMaker profileur

Informations

Dans Informations, vous pouvez accéder aux informations relatives à la tâche de formation chargée, telles que le type d'instance, les Amazon Resource Names (ARNs) des ressources de calcul allouées pour la tâche, les noms des nœuds et les hyperparamètres.

Paramètres

L'instance d'application SageMaker AI Profiler UI est configurée pour s'arrêter après 2 heures d'inactivité par défaut. Dans Paramètres, utilisez les paramètres suivants pour régler le minuteur d'arrêt automatique.

  • Activer l'arrêt automatique de l'application : choisissez Activé pour permettre à l'application de s'arrêter automatiquement après le nombre d'heures d'inactivité spécifié. Pour désactiver la fonctionnalité d'arrêt automatique, choisissez Désactivé.

  • Seuil d'arrêt automatique en heures : si vous choisissez Activé pour Activer l'arrêt automatique de l'application, vous pouvez définir le délai en heures au cours duquel l'application s'arrête automatiquement. La valeur par défaut de cette option est 2.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.