View a markdown version of this page

Modification de la disponibilité du 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.

Modification de la disponibilité du profileur

Note

Avis de fin de support : le 30 juin 2027, le support d'Amazon SageMaker Profiler AWS prendra fin. Après le 30 juin 2027, vous ne pourrez plus accéder à la console Profiler ni aux ressources du Profiler.

Remplacement d'Amazon SageMaker Profiler

Si vous utilisez actuellement SageMaker Profiler, suivez ces instructions pour passer à des services alternatifs.

Présentation de

Amazon SageMaker Profiler a fourni une visibilité approfondie sur l'activité du GPU et du processeur pendant la formation, y compris les exécutions du noyau, les lancements de noyaux, les opérations de synchronisation, les opérations de mémoire et les latences entre les CPU-initiated lancements et l'exécution du noyau GPU. Ce guide explique comment supprimer votre configuration Profiler existante et adopter des profileurs natifs du framework TensorBoard, ainsi qu'Amazon CloudWatch pour la formation aux diagnostics de performances.

Pour les TensorFlow charges de travail PyTorch et les charges de travail, la combinaison de profileurs natifs du framework TensorBoard fournit une visibilité équivalente au niveau du noyau avec une intégration directe dans l'écosystème open source. Amazon CloudWatch fournit une surveillance des ressources au niveau du système avec des alarmes configurables. Ensemble, ces outils offrent des alternatives aux diagnostics des performances d'entraînement de SageMaker Profiler.

Cartographie des capacités

Fonctionnalité de profilage Remplacé par
Traces du noyau GPU, CPU/GPU utilisation, analyse de synchronisation, latence entre le lancement et l'exécution du noyau PyTorch Profileur/ TensorFlow Profileur + TensorBoard
Profilage du chargeur de données et du pipeline d'entrée Profileurs de cadre + TensorBoard
Surveillance des ressources du système (CPU, GPU, mémoire, disque) Amazon CloudWatch
Annotations d'opérations personnalisées Annotations du Framework Profiler
Visualisation de la chronologie de l'interface utilisateur du profil TensorBoard Plug-in Profiler

Étape 1 : Supprimer la configuration du profileur

Supprimer les annotations smprof de votre script d'entraînement

Si votre script d'entraînement utilise les modules Python de SageMaker Profiler (smprofou des modules plus ancienssmppy), supprimez :

  • import smprof (ou import smppy as smprof)

  • SMProfiler.instance(), SMProf.configure(), SMProf.start_profiling(), SMProf.stop_profiling()

  • Tous les gestionnaires de smprof.annotate() contexte smprof.annotation_begin() et/ou smprof.annotation_end() appels

Supprimer ProfilerConfig de votre configuration d'entraînement

Supprimez le profiler_config paramètre de votre configuration SageMaker d'entraînement :

# Remove this configuration # V2 from sagemaker import ProfilerConfig, Profiler profiler_config = ProfilerConfig( profile_params = Profiler(cpu_profiling_duration=3600) ) # V3 from sagemaker.core.debugger.profiler_config import ProfilerConfig from sagemaker.core.debugger.profiler import Profiler

Supprimer la sortie du profileur dans Amazon S3

SageMaker Profiler a enregistré les données de profil relatives à votre rule-output parcours de formation :

s3://<output-path>/<training-job-name>/rule-output/

Supprimez ce préfixe si vous n'avez plus besoin des données de profilage historiques. Vos journaux de tâches de formation et les artefacts de votre modèle restent inchangés.

Supprimer le package SageMaker Profiler Python (s'il est installé manuellement)

Si vous avez ajouté le smprof package à un conteneur Docker requirements.txt ou à un conteneur Docker personnalisé, supprimez toutes les lignes de référencesmppy.s3.amazonaws.com.

Supprimer des groupes de CloudWatch journaux (facultatif)

Vérifiez les groupes de CloudWatch journaux créés par le traitement des règles Profiler sous/aws/sagemaker/ProcessingJobs. Supprimez-les si vous n'en avez plus besoin pour réduire les coûts de stockage.

Passez en revue les politiques IAM

Supprimez les politiques IAM qui accordaient des autorisations spécifiques à l'utilisation de Profiler :

  • s3:GetObject/limité aux s3:PutObject chemins de sortie des règles Profiler

  • Rôles associés aux tâches de formation uniquement pour le support de Profiler

Conservez toutes les politiques encore nécessaires pour vos tâches de formation ou CloudWatch de suivi.

Désactiver l'automatisation dépendante

Mettez à jour ou supprimez toute automatisation qui a consommé la sortie du Profiler :

  • Workflows Step Functions qui ont traité les données du Profiler

  • EventBridge Règles Amazon déclenchées par la sortie du Profiler

  • Post-training processeurs qui lisent à partir des chemins Profiler S3

Étape 2 : Configuration des remplacements

Activer le profilage au niveau du framework

Mettez à jour votre script de formation pour utiliser le profileur intégré à votre framework. Les profileurs PyTorch et TensorFlow les profileurs s'intègrent directement TensorBoard à la visualisation, notamment aux vues chronologiques, aux statistiques du noyau et aux recommandations de performances.

PyTorch:

import torch from torch.profiler import profile, schedule, tensorboard_trace_handler with profile( activities=[torch.profiler.ProfilerActivity.CPU, torch.profiler.ProfilerActivity.CUDA], schedule=schedule(wait=1, warmup=1, active=3, repeat=1), on_trace_ready=tensorboard_trace_handler("./tensorboard/logs"), record_shapes=True, profile_memory=True, with_stack=True ) as prof: for step, batch in enumerate(train_loader): inputs, labels = batch outputs = model(inputs) loss = criterion(outputs, labels) loss.backward() optimizer.step() prof.step()

Pour annoter des opérations spécifiques (remplacementsmprof.annotate()) :

with torch.profiler.record_function("forward_pass"): outputs = model(inputs) with torch.profiler.record_function("backward_pass"): loss.backward()

TensorFlow:

import tensorflow as tf tf.profiler.experimental.start("./tensorboard/logs") model.fit(train_dataset, epochs=5) tf.profiler.experimental.stop()
Note

Comme pour SageMaker Profiler, il n'est pas recommandé de profiler un poste de formation complet. Profilez un sous-ensemble représentatif d'étapes (jusqu'à quelques centaines) afin de minimiser les frais généraux.

Visualisez avec TensorBoard

Lancez TensorBoard pour afficher les résultats du profilage, les délais d'exécution et les recommandations de performances :

tensorboard --logdir=./tensorboard/logs

Le plug-in TensorBoard Profiler fournit des chronologies du noyau GPU équivalentes à celles de l'interface utilisateur du SageMaker Profiler, ainsi que des statistiques du noyau, des résumés d'exécution, une analyse du pipeline d'entrée et des recommandations de performances. Pour la gestion TensorBoard dans SageMaker AI, reportez-vous TensorBoard à la section Amazon SageMaker AI. Managed TensorBoard nécessite un SageMaker domaine et est disponible dans certaines régions.

Utilisez Amazon CloudWatch pour la surveillance du système et les alertes

Amazon CloudWatch saisit les mesures d'utilisation des ressources pour vos tâches de formation, notamment le processeur, le GPU, la mémoire et le disque, en temps réel, avec la prise en charge d'alarmes configurables pour détecter les goulots d'étranglement des ressources, la sous-utilisation ou les pics inattendus, et des tableaux de bord combinant les mesures du système au cours des sessions de formation. Pour les étapes détaillées, consultez Amazon CloudWatch Metrics for Monitoring and Analysis Training Jobs. Vous pouvez également enregistrer les mesures de performance du système à partir de votre script d'entraînement directement dans MLflow pour un suivi unifié parallèlement aux mesures de vos expériences.

Qu'advient-il de vos données existantes

  • Journaux de formation et artefacts dans S3 — Les résultats de vos tâches de formation et les artefacts de votre modèle restent accessibles. Ils sont indépendants de Profiler.

  • Données de suivi du profileur  : les données de profilage historiques restent dans S3 rule-output/ jusqu'à ce que vous les supprimiez.

  • CloudWatch métriques  : les statistiques historiques du système déjà présentes CloudWatch sont conservées conformément aux paramètres de rétention de votre compte.