View a markdown version of this page

Modifica della disponibilità del profiler - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Modifica della disponibilità del profiler

Nota

Avviso di fine del supporto: il 30 giugno 2027, AWS terminerà il supporto per Amazon SageMaker Profiler. Dopo il 30 giugno 2027, non potrai più accedere alla console Profiler o alle risorse di Profiler.

Sostituzione di Amazon Profiler SageMaker

Se stai utilizzando SageMaker Profiler, segui questa guida per passare a servizi alternativi.

Panoramica di

Amazon SageMaker Profiler ha fornito una visibilità approfondita sull'attività di GPU e CPU durante l'addestramento, comprese le esecuzioni del kernel, i lanci del kernel, le operazioni di sincronizzazione, le operazioni di memoria e le latenze tra i lanci e l'esecuzione del kernel GPU. CPU-initiated Questa guida illustra come rimuovere la configurazione esistente di Profiler e adottare profiler nativi del framework e Amazon per la diagnostica delle prestazioni di formazione. TensorBoard CloudWatch

Per PyTorch i TensorFlow carichi di lavoro, la combinazione di profiler nativi del framework offre una visibilità equivalente a livello di kernel con integrazione diretta nell'ecosistema open source. TensorBoard CloudWatch Amazon fornisce il monitoraggio delle risorse a livello di sistema con allarmi configurabili. Insieme, questi strumenti offrono alternative alla diagnostica delle prestazioni di formazione di SageMaker Profiler.

Mappatura delle capacità

Funzionalità Profiler Sostituita da
Tracce del kernel GPU, CPU/GPU utilizzo, analisi di sincronizzazione, latenza dall'avvio all'esecuzione del kernel PyTorch TensorFlow Profiler/Profiler + TensorBoard
Caricatore di dati e profilazione della pipeline di input Framework Profilers + TensorBoard
Monitoraggio delle risorse di sistema (CPU, GPU, memoria, disco) Amazon CloudWatch
Annotazioni operative personalizzate Annotazioni Framework Profiler
Visualizzazione della timeline dell'interfaccia utente di Profiler TensorBoard Plugin Profiler

Passaggio 1: rimuovere la configurazione di Profiler

Rimuovi le annotazioni smprof dal tuo script di allenamento

Se il tuo script di training utilizza i moduli SageMaker Profiler Python (smprofo quelli precedenti), rimuovi: smppy

  • import smprof (o import smppy as smprof)

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

  • Tutti i gestori di smprof.annotate() contesto e le chiamate/smprof.annotation_begin()smprof.annotation_end()

Rimuovi ProfilerConfig dalla tua configurazione di allenamento

Rimuovi il profiler_config parametro dalla tua configurazione SageMaker di allenamento:

# 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

Elimina l'output di Profiler in Amazon S3

SageMaker Profiler ha archiviato i dati del profilo durante il rule-output percorso del tuo lavoro di formazione:

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

Elimina questo prefisso se non hai più bisogno dei dati storici di profilazione. I registri dei processi di formazione e gli artefatti del modello rimangono inalterati.

Rimuovi il pacchetto SageMaker Profiler Python (se installato manualmente)

Se hai aggiunto il smprof pacchetto a un contenitore Docker requirements.txt o personalizzato, rimuovi tutte le righe che fanno riferimento. smppy.s3.amazonaws.com

Elimina i gruppi di CloudWatch log (opzionale)

Controlla i gruppi di CloudWatch log creati dall'elaborazione delle regole di Profiler in/aws/sagemaker/ProcessingJobs. Eliminali se non sono più necessari per ridurre i costi di archiviazione.

Rivedi le politiche IAM

Rimuovi le politiche IAM che concedevano autorizzazioni specifiche per l'utilizzo di Profiler:

  • s3:GetObject/ha come s3:PutObject ambito i percorsi di output delle regole di Profiler

  • Ruoli associati ai lavori di formazione esclusivamente per il supporto di Profiler

Mantieni tutte le politiche ancora necessarie per i tuoi lavori di formazione o il CloudWatch monitoraggio.

Disabilita l'automazione dipendente

Aggiorna o elimina qualsiasi automazione che ha consumato l'output di Profiler:

  • Flussi di lavoro Step Functions che hanno elaborato i dati di Profiler

  • EventBridge Regole Amazon attivate dall'output di Profiler

  • Post-training processori che leggono dai percorsi S3 di Profiler

Passaggio 2: configurare le sostituzioni

Abilita la profilazione a livello di framework

Aggiorna lo script di formazione per utilizzare il profiler integrato del framework. Entrambi PyTorch i TensorFlow profiler si integrano direttamente con le funzionalità di visualizzazione, incluse TensorBoard le visualizzazioni della timeline, le statistiche del kernel e i consigli sulle prestazioni.

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()

Per annotare operazioni specifiche (sostituzione): smprof.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()
Nota

Come con SageMaker Profiler, non è consigliabile profilare un intero lavoro di formazione. Profila un sottoinsieme rappresentativo di passaggi (fino a poche centinaia) per ridurre al minimo i costi generali.

Visualizza con TensorBoard

Avvia TensorBoard per visualizzare i risultati della profilazione, le tempistiche di esecuzione e i consigli sulle prestazioni:

tensorboard --logdir=./tensorboard/logs

Il TensorBoard Profiler Plugin fornisce linee temporali del kernel GPU equivalenti all'interfaccia utente di SageMaker Profiler, insieme a statistiche del kernel, riepiloghi delle esecuzioni, analisi della pipeline di input e consigli sulle prestazioni. Per informazioni su managed TensorBoard in AI, consulta in Amazon AI. SageMaker TensorBoard SageMaker Managed TensorBoard richiede un SageMaker dominio ed è disponibile in alcune regioni.

Usa Amazon CloudWatch per il monitoraggio del sistema e gli avvisi

Amazon CloudWatch acquisisce i parametri di utilizzo delle risorse per i tuoi lavori di formazione, tra cui CPU, GPU, memoria e disco, in tempo reale, con il supporto di allarmi configurabili per rilevare problemi di risorse, sottoutilizzo o picchi imprevisti e dashboard che combinano le metriche di sistema durante le sessioni di formazione. Per passaggi dettagliati, consulta Amazon Metrics for Monitoring and Analyzing Training Jobs. CloudWatch In alternativa, puoi registrare le metriche delle prestazioni del sistema dallo script di formazione direttamente su MLFlow per un monitoraggio unificato insieme alle metriche dell'esperimento.

Cosa succede ai tuoi dati esistenti