Configurazione dello stimatore con parametri per la profilazione di base utilizzando i moduli Amazon SageMaker Debugger Python - Amazon SageMaker

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à.

Configurazione dello stimatore con parametri per la profilazione di base utilizzando i moduli Amazon SageMaker Debugger Python

Per impostazione predefinita, la profilazione di base di SageMaker Debugger è attiva per impostazione predefinita e monitora i parametri di utilizzo delle risorse, come utilizzo, utilizzo, CPU utilizzo della GPU memoria, GPU rete e tempo di attesa I/O, di tutti i lavori di formazione inviati utilizzando Amazon Python. SageMaker SageMaker SDK SageMaker Debugger raccoglie questi parametri di utilizzo delle risorse ogni 500 millisecondi. Non è necessario apportare ulteriori modifiche al codice, allo script di addestramento o all’utilità di avvio del processo per tenere traccia dell'utilizzo di base delle risorse. Se desideri modificare l'intervallo di raccolta delle metriche per la profilazione di base, puoi specificare parametri specifici del Debugger durante la creazione di un training SageMaker job launcher utilizzando Python, o (). SageMaker SDK AWS SDK for Python (Boto3) AWS Command Line Interface CLI In questa guida, ci concentriamo su come modificare le opzioni di profilazione utilizzando Amazon SageMaker Python SDK. Questa pagina fornisce modelli di riferimento per la configurazione di questo oggetto estimatore.

Se desideri accedere alla dashboard delle metriche di utilizzo delle risorse del tuo lavoro di formazione in SageMaker Studio, puoi passare al. Esperimenti dell'interfaccia utente di Amazon SageMaker Debugger in Amazon Studio Classic SageMaker

Se desideri attivare automaticamente le regole che rilevano automaticamente i problemi di utilizzo delle risorse di sistema, puoi aggiungere il parametro rules nell'oggetto dello strumento di valutazione per l'attivazione delle regole.

Importante

Per utilizzare le funzionalità più recenti del SageMaker Debugger, è necessario aggiornare SageMaker Python SDK e la libreria client. SMDebug Nel iPython kernel, Jupyter Notebook o nell' JupyterLab ambiente, esegui il codice seguente per installare le versioni più recenti delle librerie e riavviare il kernel.

import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)

Modello di codice per la configurazione di un oggetto SageMaker estimatore con i moduli SageMaker Debugger Python in Python SageMaker SDK

Per modificare la configurazione di base della profilazione (profiler_config) o aggiungere le regole del profiler (rules), scegli una delle schede per ottenere il modello per configurare uno stimatore. SageMaker Nelle pagine successive, puoi trovare ulteriori informazioni su come configurare i due parametri.

Nota

I seguenti esempi di codice non sono direttamente eseguibili. Passa alle sezioni successive per scoprire come configurare ogni parametro.

PyTorch
# An example of constructing a SageMaker PyTorch estimator import boto3 import sagemaker from sagemaker.pytorch import PyTorch from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs session=boto3.session.Session() region=session.region_name profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=PyTorch( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.12.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
TensorFlow
# An example of constructing a SageMaker TensorFlow estimator import boto3 import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs session=boto3.session.Session() region=session.region_name profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=TensorFlow( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="2.8.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
MXNet
# An example of constructing a SageMaker MXNet estimator import sagemaker from sagemaker.mxnet import MXNet from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=MXNet( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.7.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
Nota

InfattiMXNet, quando si configura il profiler_config parametro, è possibile configurarlo solo per il monitoraggio del sistema. Le metriche del framework di profilazione non sono supportate per. MXNet

XGBoost
# An example of constructing a SageMaker XGBoost estimator import sagemaker from sagemaker.xgboost.estimator import XGBoost from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=XGBoost( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.5-1", # Debugger-specific parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
Nota

InfattiXGBoost, quando si configura il profiler_config parametro, è possibile configurarlo solo per il monitoraggio del sistema. Le metriche del framework di profilazione non sono supportate per. XGBoost

Generic estimator
# An example of constructing a SageMaker generic estimator using the XGBoost algorithm base image import boto3 import sagemaker from sagemaker.estimator import Estimator from sagemaker import image_uris from sagemaker.debugger import ProfilerConfig, DebuggerHookConfig, Rule, ProfilerRule, rule_configs profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] region=boto3.Session().region_name xgboost_container=sagemaker.image_uris.retrieve("xgboost", region, "1.5-1") estimator=Estimator( role=sagemaker.get_execution_role() image_uri=xgboost_container, base_job_name="debugger-demo", instance_count=1, instance_type="ml.m5.2xlarge", # Debugger-specific parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)

Di seguito vengono fornite brevi descrizioni dei parametri.

Nota

Debugger salva in modo sicuro i dati di output nelle sottocartelle del bucket S3 predefinito. Ad esempio, il formato del bucket S3 predefinito è. URI s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/ Esistono tre sottocartelle create da Debugger: debug-output, profiler-output e rule-output. Puoi anche recuperare il bucket URIs S3 predefinito usando i metodi della classe estimator. SageMaker

Consulta i seguenti argomenti per scoprire come configurare in dettaglio i parametri specifici di Debugger.