Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Änderung der Profiler-Verfügbarkeit
Anmerkung
Hinweis zum Ende des Supports: Am 30. Juni 2027 AWS wird der Support für Amazon SageMaker Profiler eingestellt. Nach dem 30. Juni 2027 können Sie nicht mehr auf die Profiler-Konsole oder die Profiler-Ressourcen zugreifen.
Amazon Profiler ersetzen SageMaker
Wenn Sie derzeit SageMaker Profiler verwenden, folgen Sie dieser Anleitung, um zu alternativen Diensten überzugehen.
-Übersicht
Amazon SageMaker Profiler bot während des Trainings einen umfassenden Einblick in die GPU- und CPU-Aktivität, einschließlich Kernelausführungen, Kernelstarts, Synchronisierungsvorgänge, Speicheroperationen und Latenzen zwischen CPU-initiated Starts und GPU-Kernelausführung. In diesem Handbuch erfahren Sie, wie Sie Ihre bestehende Profiler-Konfiguration entfernen und Framework-native Profiler sowie Amazon für die TensorBoard Trainingsleistungsdiagnostik einsetzen. CloudWatch
Für PyTorch und TensorFlow Workloads TensorBoard bietet die Kombination aus Framework-nativen Profilern und gleichwertiger Transparenz auf Kernel-Ebene mit direkter Integration in das Open-Source-Ökosystem. Amazon CloudWatch bietet eine Ressourcenüberwachung auf Systemebene mit konfigurierbaren Alarmen. Zusammen bieten diese Tools Alternativen zur Trainingsleistungsdiagnose von SageMaker Profiler.
Zuordnung der Fähigkeiten
| Profiler-Fähigkeit | Ersetzt durch |
|---|---|
| GPU-Kernel-Traces, CPU/GPU Auslastung, Synchronisationsanalyse, Latenz vom Kernelstart bis zur Ausführung | PyTorch Profiler//Profiler + TensorFlow TensorBoard |
| Profilerstellung für Datenlader und Eingabe-Pipeline | Framework-Profiler + TensorBoard |
| Überwachung der Systemressourcen (CPU, GPU, Speicher, Festplatte) | Amazon CloudWatch |
| Anmerkungen zu benutzerdefinierten Vorgängen | Anmerkungen zum Framework Profiler |
| Visualisierung der Profiler-Benutzeroberfläche | TensorBoard Profiler-Plugin |
Schritt 1: Profiler-Konfiguration entfernen
Entfernen Sie smprof-Anmerkungen aus Ihrem Trainingsskript
Wenn Ihr Trainingsskript die SageMaker Profiler-Python-Module (smprofoder älteresmppy) verwendet, entfernen Sie:
-
import smprof(oderimport smppy as smprof) -
SMProfiler.instance(),SMProf.configure(),SMProf.start_profiling(),SMProf.stop_profiling() -
Alle
smprof.annotate()Kontextmanager undsmprof.annotation_begin()/-Aufrufesmprof.annotation_end()
ProfilerConfig Aus Ihrer Trainingskonfiguration entfernen
Entfernen Sie den profiler_config Parameter aus Ihrer SageMaker Trainingskonfiguration:
# 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
Löschen Sie die Profiler-Ausgabe in Amazon S3
SageMaker Profiler hat Profildaten unter dem rule-output Pfad Ihres Ausbildungsjobs gespeichert:
s3://<output-path>/<training-job-name>/rule-output/
Löschen Sie dieses Präfix, wenn Sie die historischen Profildaten nicht mehr benötigen. Ihre Trainingsaufzeichnungen und Modellartefakte bleiben davon unberührt.
Entfernen Sie das SageMaker Profiler-Python-Paket (falls manuell installiert)
Wenn Sie das smprof Paket einem requirements.txt oder einem benutzerdefinierten Docker-Container hinzugefügt haben, entfernen Sie alle Zeilen, die darauf verweisen. smppy.s3.amazonaws.com
CloudWatch Loggruppen löschen (optional)
Suchen Sie unter /aws/sagemaker/ProcessingJobs nach CloudWatch Protokollgruppen, die durch die Profiler-Regelverarbeitung erstellt wurden. Löschen Sie diese, wenn sie nicht mehr benötigt werden, um die Speicherkosten zu senken.
Überprüfen Sie die IAM-Richtlinien
Entfernen Sie die IAM-Richtlinien, die speziell für die Profiler-Nutzung Berechtigungen gewährt haben:
-
s3:GetObject/bezieht sich aufs3:PutObjectProfiler-Regel-Ausgabepfade -
Rollen, die Schulungsjobs ausschließlich für den Profiler-Support zugewiesen wurden
Behalten Sie alle Richtlinien bei, die Sie für Ihre Schulungsaufträge oder die CloudWatch Überwachung noch benötigen.
Deaktivieren Sie die abhängige Automatisierung
Aktualisieren oder löschen Sie alle Automatisierungen, die die Profiler-Ausgabe verbraucht haben:
-
Step Functions — Workflows, die Profiler-Daten verarbeitet haben
-
EventBridge Amazon-Regeln, die durch die Profiler-Ausgabe ausgelöst wurden
-
Post-training Prozessoren, die aus Profiler S3-Pfaden lesen
Schritt 2: Ersatzprodukte konfigurieren
Aktivieren Sie die Profilerstellung auf Framework-Ebene
Aktualisieren Sie Ihr Trainingsskript, um den integrierten Profiler Ihres Frameworks zu verwenden. Beide PyTorch TensorFlow Profiler lassen sich direkt TensorBoard zur Visualisierung integrieren, einschließlich Zeitleistenansichten, Kernel-Statistiken und Leistungsempfehlungen.
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()
Um bestimmte Operationen mit Anmerkungen zu versehen (zu ersetzensmprof.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()
Anmerkung
Wie bei SageMaker Profiler wird die Erstellung eines Profils für einen gesamten Trainingsjob nicht empfohlen. Erstellen Sie ein Profil für eine repräsentative Teilmenge von Schritten (bis zu ein paar hundert), um den Aufwand zu minimieren.
Visualisieren Sie mit TensorBoard
Starten Sie TensorBoard , um die Ergebnisse der Profilerstellung, Ausführungszeitpläne und Leistungsempfehlungen einzusehen:
tensorboard --logdir=./tensorboard/logs
Das TensorBoard Profiler-Plugin bietet GPU-Kernel-Zeitpläne, die der SageMaker Profiler-Benutzeroberfläche entsprechen, zusammen mit Kernel-Statistiken, Ausführungszusammenfassungen, Eingabe-Pipeline-Analysen und Leistungsempfehlungen. Informationen zur Verwaltung TensorBoard in SageMaker KI finden Sie unter in Amazon AI. TensorBoard SageMaker Managed TensorBoard erfordert eine SageMaker Domain und ist in ausgewählten Regionen verfügbar.
Verwenden Sie Amazon CloudWatch für Systemüberwachung und Benachrichtigungen
Amazon CloudWatch erfasst Kennzahlen zur Ressourcenauslastung für Ihre Trainingsjobs, einschließlich CPU, GPU, Arbeitsspeicher und Festplatte, in Echtzeit und unterstützt konfigurierbare Alarme, um Ressourcenengpässe, Unterauslastung oder unerwartete Spitzen zu erkennen, und Dashboards, in denen Systemkennzahlen für alle Trainingsläufe kombiniert werden. Eine ausführliche Anleitung finden Sie unter CloudWatch Amazon-Metriken für die Überwachung und Analyse von Schulungsjobs. Alternativ können Sie Systemleistungskennzahlen aus Ihrem Trainingsskript direkt in MLflow protokollieren, um sie zusammen mit Ihren Testmetriken einheitlich verfolgen zu können.
Was passiert mit Ihren vorhandenen Daten
-
Trainingsprotokolle und Artefakte in S3 — Ihre Trainingsjobs und Modellartefakte bleiben zugänglich. Diese sind unabhängig von Profiler.
-
Profiler-Trace-Daten — Historische Profiling-Daten bleiben in S3 unter,
rule-output/bis Sie sie löschen. -
CloudWatch Metriken — Historische Systemmetriken, die bereits vorhanden CloudWatch sind, werden gemäß den Aufbewahrungseinstellungen Ihres Kontos beibehalten.