

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
<a name="profiler-availability-change"></a>

**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
<a name="profiler-replacing"></a>

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

## Panoramica di
<a name="profiler-overview"></a>

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à
<a name="profiler-capability-mapping"></a>


| 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
<a name="profiler-step1-remove"></a>

### Rimuovi le annotazioni smprof dal tuo script di allenamento
<a name="profiler-remove-smprof"></a>

Se il tuo script di training utilizza i moduli SageMaker Profiler Python (`smprof`o 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
<a name="profiler-remove-config"></a>

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
<a name="profiler-delete-s3-output"></a>

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)
<a name="profiler-remove-package"></a>

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)
<a name="profiler-delete-cloudwatch-logs"></a>

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
<a name="profiler-review-iam"></a>

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
<a name="profiler-disable-automation"></a>

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
<a name="profiler-step2-configure"></a>

### Abilita la profilazione a livello di framework
<a name="profiler-enable-framework"></a>

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
<a name="profiler-visualize-tensorboard"></a>

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 ](https://docs.aws.amazon.com/sagemaker/latest/dg/tensorboard-on-sagemaker.html) Managed TensorBoard richiede un SageMaker dominio ed è disponibile in alcune regioni.

### Usa Amazon CloudWatch per il monitoraggio del sistema e gli avvisi
<a name="profiler-cloudwatch"></a>

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 ](https://docs.aws.amazon.com/sagemaker/latest/dg/training-metrics.html) 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
<a name="profiler-existing-data"></a>
+ **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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention)