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(ouimport smppy as smprof) -
SMProfiler.instance(),SMProf.configure(),SMProf.start_profiling(),SMProf.stop_profiling() -
Tous les gestionnaires de
smprof.annotate()contextesmprof.annotation_begin()et/ousmprof.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é auxs3:PutObjectchemins 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.