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(oimport 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 comes3:PutObjectambito 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
-
Registri e artefatti di formazione in S3: i risultati del lavoro di formazione e gli artefatti del modello rimangono accessibili. Sono indipendenti da Profiler.
-
Dati di tracciamento di Profiler: i dati storici di profilazione rimangono in S3
rule-output/fino a quando non vengono eliminati. -
CloudWatch metriche: le metriche di sistema cronologiche già presenti CloudWatch vengono conservate in base alle impostazioni di conservazione dell'account. https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention