Profilage et optimisation des performances de calcul - 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.

Profilage et optimisation des performances de calcul

Lors de l’entraînement de modèles de deep learning de pointe dont la taille augmente rapidement, il devient difficile de mettre à l’échelle la tâche d’entraînement de ces modèles à un grand cluster de GPU et d’identifier les problèmes de performance de calcul liés à des milliards et à des milliers de milliards d’opérations et de communications à chaque itération du processus de descente du gradient.

SageMaker AI fournit des outils de profilage permettant de visualiser et de diagnostiquer ces problèmes de calcul complexes liés à l’exécution de tâches d’entraînement sur des ressources de cloud computing AWS. SageMaker AI propose deux options de profilage : le profileur Amazon SageMaker et un moniteur d’utilisation des ressources dans Amazon SageMaker Studio Classic. Consultez les présentations suivantes des deux fonctionnalités pour obtenir un aperçu rapide et savoir laquelle utiliser en fonction de vos besoins.

Profileur Amazon SageMaker

Le profileur Amazon SageMaker AI est une fonctionnalité de profilage de SageMaker qui permet d’étudier en profondeur les ressources de calcul provisionnées tout en entraînant des modèles de deep learning et de gagner en visibilité sur les détails opérationnels. Le profileur SageMaker fournit des modules Python permettant d’ajouter des annotations dans les scripts d’entraînement PyTorch ou TensorFlow et d’activer le profileur SageMaker. Vous pouvez accéder aux modules via le kit SageMaker Python SDK et les conteneurs AWS Deep Learning.

Avec le profileur SageMaker, vous pouvez suivre toutes les activités des CPU et des GPU, comme l’utilisation des CPU et des GPU, les exécutions de noyaux sur les GPU, les lancements du noyau sur les CPU, les opérations de synchronisation, les opérations de mémoire entre les CPU et les GPU, les latences entre les lancements du noyau et les exécutions correspondantes, et le transfert de données entre les CPU et les GPU.

Le profileur SageMaker propose également une interface utilisateur (UI) qui permet de visualiser le profil, un résumé statistique des événements profilés et la chronologie d’une tâche d’entraînement afin de suivre et de comprendre la relation temporelle des événements entre les GPU et les CPU.

Pour en savoir plus sur le profileur SageMaker, consultez Profileur Amazon SageMaker.

Surveillance des ressources de calcul AWS dans Amazon SageMaker Studio Classic

SageMaker AI fournit également une interface utilisateur dans Studio Classic pour surveiller l’utilisation des ressources à un niveau élevé, mais avec une plus grande granularité par rapport aux métriques d’utilisation par défaut collectées par SageMaker AI vers CloudWatch.

Pour chaque tâche d’entraînement que vous exécutez dans SageMaker AI à l’aide du kit SageMaker Python SDK, SageMaker AI collecte des métriques d’utilisation des ressources de base, telles que l’utilisation de CPU, l’utilisation de GPU, l’utilisation de la mémoire de GPU, le réseau et le temps d’attente des E/S. Il collecte ces métriques d’utilisation des ressources toutes les 500 millisecondes.

Par rapport aux métriques Amazon CloudWatch, qui collectent des métriques à intervalles d’une seconde, la fonctionnalité de surveillance de SageMaker AI fournit une granularité plus fine dans les métriques d’utilisation des ressources, jusqu’à des intervalles de 100 millisecondes (0,1 seconde) afin que vous puissiez explorer les métriques au niveau d’une opération ou d’une étape.

Pour accéder au tableau de bord de surveillance des métriques d’utilisation des ressources liés à une tâche d’entraînement, consultez l’interface utilisateur de SageMaker AI Debugger dans SageMaker Studio Experiments.