View a markdown version of this page

Änderung der Profiler-Verfügbarkeit - Amazon SageMaker KI

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 (oder import smppy as smprof)

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

  • Alle smprof.annotate() Kontextmanager undsmprof.annotation_begin()/-Aufrufe smprof.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 auf s3:PutObject Profiler-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.