Configuración del estimador con parámetros para la creación de perfiles básicos mediante los módulos Python de Amazon Debugger SageMaker - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración del estimador con parámetros para la creación de perfiles básicos mediante los módulos Python de Amazon Debugger SageMaker

De forma predeterminada, la creación de perfiles básicos de SageMaker Debugger está activada de forma predeterminada y supervisa las métricas de utilización de los recursos, como CPU la utilización, GPU la utilización de la GPU memoria, la red y el tiempo de espera de E/S, de todos los trabajos de SageMaker formación enviados con Amazon Python. SageMaker SDK SageMaker Debugger recopila estas métricas de uso de recursos cada 500 milisegundos. No necesita realizar ningún cambio adicional en el código, el script de entrenamiento o el iniciador de tareas para realizar un seguimiento del uso de los recursos básicos. Si desea cambiar el intervalo de recopilación de métricas para la creación de perfiles básicos, puede especificar los parámetros específicos del Debugger al crear un iniciador de tareas de SageMaker entrenamiento con SageMaker PythonSDK,, o (). AWS SDK for Python (Boto3) AWS Command Line Interface CLI En esta guía, nos centramos en cómo cambiar las opciones de creación de perfiles mediante Amazon SageMaker Python SDK. Esta página proporciona plantillas de referencia para configurar este objeto estimador.

Si quieres acceder al panel de métricas de utilización de los recursos de tu trabajo de formación en SageMaker Studio, puedes ir directamente al. Interfaz de usuario de Amazon SageMaker Debugger en Amazon SageMaker Studio Classic Experiments

Si desea activar las reglas que detectan automáticamente los problemas de utilización de los recursos del sistema, puede añadir el parámetro rules en el objeto estimador para activar las reglas.

importante

Para utilizar las últimas funciones del SageMaker Debugger, debe actualizar SageMaker Python SDK y la biblioteca SMDebug cliente. En su iPython núcleo, Jupyter Notebook o JupyterLab entorno, ejecute el siguiente código para instalar las últimas versiones de las bibliotecas y reiniciar el núcleo.

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

Plantilla de código para configurar un objeto SageMaker estimador con los módulos Python SageMaker Debugger en Python SageMaker SDK

Para ajustar la configuración básica de creación de perfiles (profiler_config) o añadir las reglas del generador de perfiles (rules), seleccione una de las pestañas para obtener la plantilla para configurar un estimador. SageMaker En las siguientes páginas encontrará más información acerca de cómo configurar los dos parámetros.

nota

Los siguientes ejemplos de código no se pueden ejecutar directamente. Continúe con las siguientes secciones para aprender a configurar cada parámetro.

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

PuesMXNet, al configurar el profiler_config parámetro, solo puede configurarlo para la supervisión del sistema. No se admiten las métricas del marco de creación de perfiles. 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

PuesXGBoost, al configurar el profiler_config parámetro, solo puede configurarlo para la supervisión del sistema. No se admiten las métricas del marco de creación de perfiles. 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)

A continuación, se proporcionan breves descripciones de los parámetros.

nota

El depurador guarda de forma segura los datos de salida en subcarpetas del bucket de S3 predeterminado. Por ejemplo, el formato del bucket S3 predeterminado URI ess3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/. El creador crea tres subcarpetas: debug-output, profiler-output y rule-output. También puede recuperar el depósito de S3 predeterminado URIs mediante los métodos de la SageMaker clase estimador.

Consulte los siguientes temas para obtener información detallada sobre cómo configurar los parámetros específicos del depurador.