

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.

# Amazon SageMaker Profiler
<a name="train-use-sagemaker-profiler"></a>


|  | 
| --- |
|  Amazon SageMaker Profiler se encuentra actualmente en versión preliminar y está disponible sin coste alguno si es compatible Regiones de AWS. La versión general de Amazon SageMaker Profiler (si existe) puede incluir funciones y precios diferentes a los que se ofrecen en la versión preliminar.  | 

Amazon SageMaker Profiler es una función de Amazon SageMaker AI que proporciona una vista detallada de los recursos AWS informáticos aprovisionados durante el entrenamiento de modelos de aprendizaje profundo en SageMaker IA. Se centra en perfilar el uso de la CPU y la GPU, la ejecución del núcleo GPUs, el inicio del núcleo, las operaciones de sincronización CPUs, las operaciones de memoria entre CPUs y GPUs, las latencias entre los lanzamientos del núcleo y las ejecuciones correspondientes, y la transferencia de datos entre y. CPUs GPUs SageMaker Profiler también ofrece una interfaz de usuario (UI) que visualiza el *perfil*, un resumen estadístico de los eventos perfilados y el cronograma de un trabajo de capacitación para rastrear y comprender la relación temporal de los eventos entre y. GPUs CPUs

**nota**  
SageMaker Profiler es compatible PyTorch TensorFlow y está disponible en [AWS Deep Learning Containers for SageMaker AI](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only). Para obtener más información, consulte [Tipos de marcos Regiones de AWS, imágenes y instancias compatibles](profiler-support.md).

**Para científicos de datos**

El entrenamiento de modelos de aprendizaje profundo en un clúster de computación grande suele tener problemas de optimización computacional, como cuellos de botella, latencias de lanzamiento del kernel, límite de memoria y bajo consumo de recursos.

Para identificar estos problemas de rendimiento computacional, es necesario analizar más a fondo los recursos de computación para comprender qué kernels introducen latencias y qué operaciones provocan cuellos de botella. Los científicos de datos pueden aprovechar la interfaz de usuario de SageMaker Profiler para visualizar el perfil detallado de los trabajos de formación. La interfaz de usuario proporciona un panel de control con gráficos resumidos y una interfaz de cronograma para realizar un seguimiento de todos los eventos de los recursos de computación. Los científicos de datos también pueden añadir anotaciones personalizadas para realizar un seguimiento de determinadas partes del trabajo de formación mediante los módulos SageMaker Profiler Python.

**Para administradores**

A través de la página de inicio de Profiler en la SageMaker consola de [SageMaker IA o en el dominio](https://docs.aws.amazon.com/sagemaker/latest/dg/sm-domain.html) de IA, puede gestionar los usuarios de la aplicación Profiler si es administrador de una AWS cuenta o un dominio de IA. SageMaker Cada usuario de dominio puede acceder a su propia aplicación Generador de perfiles con los permisos concedidos. Como administrador y usuario del dominio de SageMaker IA, puedes crear y eliminar la aplicación Profiler en función del nivel de permiso del que dispongas.

**Topics**
+ [Tipos de marcos Regiones de AWS, imágenes y instancias compatibles](profiler-support.md)
+ [Requisitos previos para Profiler SageMaker](profiler-prereq.md)
+ [Prepara y ejecuta un trabajo de formación con SageMaker Profiler](profiler-prepare.md)
+ [Abre la aplicación de interfaz de SageMaker usuario Profiler](profiler-access-smprofiler-ui.md)
+ [Explore los datos de salida del perfil visualizados en la interfaz de usuario de Profiler SageMaker](profiler-explore-viz.md)
+ [Solución de problemas para Profiler SageMaker](profiler-faq.md)

# Tipos de marcos Regiones de AWS, imágenes y instancias compatibles
<a name="profiler-support"></a>

Esta característica es compatible con los siguientes marcos de machine learning y Regiones de AWS.

**nota**  
Para usar esta función, asegúrese de haber instalado la [versión 2.180.0](https://pypi.org/project/sagemaker/2.180.0/) o posterior del SDK de SageMaker Python.

## SageMaker Imágenes de AI Framework preinstaladas con Profiler SageMaker
<a name="profiler-support-frameworks"></a>

SageMaker Profiler viene preinstalado en los siguientes [AWS Deep Learning Containers for SageMaker AI](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only).

### PyTorch imágenes
<a name="profiler-support-frameworks-pytorch"></a>


| PyTorch versiones | AWS URI de imagen DLC | 
| --- | --- | 
| 2.2.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.2.0-gpu-py310-cu121-ubuntu20.04-sagemaker  | 
| 2.1.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.1.0-gpu-py310-cu121-ubuntu20.04-sagemaker  | 
| 2.0.1 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training: 2.0.1-gpu-py310-cu118-ubuntu20.04-sagemaker *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.0.1-gpu-py310-cu121-ubuntu20.04-sagemaker  | 
| 1.13.1 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:1.13.1-gpu-py39-cu117-ubuntu20.04-sagemaker  | 

### TensorFlow imágenes
<a name="profiler-support-frameworks-tensorflow"></a>


| TensorFlow versiones | AWS URI de imagen DLC | 
| --- | --- | 
| 2.13.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/tensorflow-training: 2.13.0-gpu-py310-cu118-ubuntu20.04-sagemaker  | 
| 2.12.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/tensorflow-training: 2.12.0-gpu-py310-cu118-ubuntu20.04-sagemaker  | 
| 2.11.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/tensorflow-training:2.11.0-gpu-py39-cu112-ubuntu20.04-sagemaker  | 

**importante**  
La distribución y el mantenimiento de los contenedores del marco de las tablas anteriores se rigen por la [Política de soporte del marco](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/support-policy.html) gestionada por el servicio AWS Deep Learning Containers. Le recomendamos actualizar a las [versiones de marco admitidas actualmente](https://aws.amazon.com/releasenotes/dlc-support-policy/) si utiliza versiones de marco anteriores que ya no se admiten.

**nota**  
Si desea utilizar SageMaker Profiler para otras imágenes de framework o para sus propias imágenes de Docker, puede instalar SageMaker Profiler utilizando los archivos binarios del paquete Profiler SageMaker Python que se proporcionan en la siguiente sección.

## SageMaker Archivos binarios del paquete Profiler Python
<a name="profiler-python-package"></a>

Si desea configurar su propio contenedor de Docker, usar SageMaker Profiler en otros contenedores prediseñados o instalar el paquete Profiler SageMaker Python de forma local TensorFlow, use uno de los siguientes archivos binarios. PyTorch En función de las versiones de Python y CUDA de su entorno, elija una de las siguientes opciones.

### PyTorch
<a name="profiler-python-package-for-pytorch"></a>
+ Python 3.8, CUDA 11.3: [https://smppy.s3.amazonaws.com/pytorch/cu113/smprof-0.3.334-cp38-cp38-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu113/smprof-0.3.334-cp38-cp38-linux_x86_64.whl)
+ Python 3.9, CUDA 11.7: [https://smppy.s3.amazonaws.com/pytorch/cu117/smprof-0.3.334-cp39-cp39-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu117/smprof-0.3.334-cp39-cp39-linux_x86_64.whl)
+ Python 3.10, CUDA 11.8: [https://smppy.s3.amazonaws.com/pytorch/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl)
+ Python 3.10, CUDA 12.1: [https://smppy.s3.amazonaws.com/pytorch/cu121/smprof-0.3.334-cp310-cp310-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu121/smprof-0.3.334-cp310-cp310-linux_x86_64.whl)

### TensorFlow
<a name="profiler-python-package-for-tensorflow"></a>
+ Python 3.9, CUDA 11.2: [https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.334-cp39-cp39-linux_x86_64.whl](https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.334-cp39-cp39-linux_x86_64.whl)
+ Python 3.10, CUDA 11.8: [https://smppy.s3.amazonaws.com/tensorflow/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl](https://smppy.s3.amazonaws.com/tensorflow/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl)

Para obtener más información sobre cómo instalar SageMaker Profiler mediante los archivos binarios, consulte. [(Opcional) Instale el paquete SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package)

## Compatible Regiones de AWS
<a name="profiler-support-regions"></a>

SageMaker El generador de perfiles está disponible en las siguientes Regiones de AWS versiones.
+ Este de EE. UU. (Norte de Virginia) (`us-east-1`)
+ Este de EE. UU. (Ohio) (`us-east-2`)
+ Oeste de EE. UU. (Oregón) (`us-west-2`)
+ Europa (Fráncfort) (`eu-central-1`)
+ Europa (Irlanda) (`eu-west-1`)

## Tipos de instancias admitidas
<a name="profiler-support-instance-types"></a>

SageMaker Profiler admite la creación de perfiles de los trabajos de formación en los siguientes tipos de instancias.

**Generación de perfiles de CPU y GPU**
+ `ml.g4dn.12xlarge`
+ `ml.g5.24xlarge`
+ `ml.g5.48xlarge`
+ `ml.p3dn.24xlarge`
+ `ml.p4de.24xlarge`
+ `ml.p4d.24xlarge`
+ `ml.p5.48xlarge`

**Solo generación de perfiles de GPU**
+ `ml.g5.2xlarge`
+ `ml.g5.4xlarge`
+ `ml.g5.8xlarge`
+ `ml.g5.16.xlarge`

# Requisitos previos para Profiler SageMaker
<a name="profiler-prereq"></a>

En la siguiente lista se muestran los requisitos previos para empezar a utilizar Profiler. SageMaker 
+ Un dominio de SageMaker IA configurado con Amazon VPC en tu AWS cuenta. 

  Para obtener instrucciones sobre cómo configurar un dominio, consulta [Cómo incorporar un dominio de Amazon SageMaker AI mediante una configuración rápida](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html). También debe añadir perfiles de usuario de dominio para que los usuarios individuales puedan acceder a la aplicación de interfaz de usuario del Generador de perfiles. Para obtener más información, consulte [Adición de perfiles de usuario](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).
+ La siguiente lista es el conjunto mínimo de permisos para usar la aplicación de interfaz de usuario Generador de perfiles.
  + `sagemaker:CreateApp`
  + `sagemaker:DeleteApp`
  + `sagemaker:DescribeTrainingJob`
  + `sagemaker:Search`
  + `s3:GetObject`
  + `s3:ListBucket`

# Prepara y ejecuta un trabajo de formación con SageMaker Profiler
<a name="profiler-prepare"></a>

La configuración para ejecutar un trabajo de formación con el SageMaker Profiler consta de dos pasos: adaptar el guion de formación y configurar el lanzador de tareas de SageMaker formación.

**Topics**
+ [Paso 1: Adapte su script de entrenamiento con los módulos SageMaker Profiler Python](#profiler-prepare-training-script)
+ [Paso 2: Cree un estimador del marco de SageMaker IA y active Profiler SageMaker](#profiler-profilerconfig)
+ [(Opcional) Instale el paquete SageMaker Profiler Python](#profiler-install-python-package)

## Paso 1: Adapte su script de entrenamiento con los módulos SageMaker Profiler Python
<a name="profiler-prepare-training-script"></a>

Para empezar a capturar las ejecuciones del núcleo GPUs mientras se ejecuta el trabajo de entrenamiento, modifique el script de entrenamiento mediante los módulos Python de SageMaker Profiler. Importe la biblioteca y añada los métodos `start_profiling()` y `stop_profiling()` para definir el principio y el final de la creación de perfiles. También puede utilizar anotaciones personalizadas opcionales para añadir marcadores en el script de entrenamiento a fin de visualizar las actividades del hardware durante determinadas operaciones de cada paso.

Tenga en cuenta que los anotadores extraen las operaciones de. GPUs Para realizar operaciones de creación de perfiles CPUs, no es necesario añadir ninguna anotación adicional. La creación de perfiles de CPU también se activa cuando especificas la configuración de creación de perfiles, con la que practicará en [Paso 2: Cree un estimador del marco de SageMaker IA y active Profiler SageMaker](#profiler-profilerconfig).

**nota**  
Elaborar un perfil de todo un trabajo de entrenamiento no es el uso más eficiente de los recursos. Recomendamos perfilar un máximo de 300 pasos de un trabajo de entrenamiento.

**importante**  
La versión en [14 de diciembre de 2023](profiler-release-notes.md#profiler-release-notes-20231214) implica un cambio importante. El nombre del paquete SageMaker Profiler Python se cambia de `smppy` a`smprof`. Esto es efectivo en los [contenedores de SageMaker AI Framework](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only) para la TensorFlow versión 2.12 y versiones posteriores.  
Si utiliza una de las versiones anteriores de los [contenedores de SageMaker AI Framework](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only), como la TensorFlow v2.11.0, el paquete Profiler SageMaker Python seguirá disponible como. `smppy` Si no está seguro de qué versión o del nombre del paquete debe utilizar, sustituya la declaración de importación del paquete SageMaker Profiler por el siguiente fragmento de código.  

```
try:
    import smprof 
except ImportError:
    # backward-compatability for TF 2.11 and PT 1.13.1 images
    import smppy as smprof
```

**Método 1.** Utilice el administrador de contexto `smprof.annotate` para anotar todas las funciones

El administrador de contextos de `smprof.annotate()` puede encapsular todas las funciones. Se recomienda utilizar este contenedor si desea crear perfiles por funciones en lugar de por líneas de código. El siguiente script de ejemplo muestra cómo implementar el administrador de contexto para encapsular el ciclo de entrenamiento y todas las funciones en cada iteración.

```
import smprof

SMProf = smprof.SMProfiler.instance()
config = smprof.Config()
config.profiler = {
    "EnableCuda": "1",
}
SMProf.configure(config)
SMProf.start_profiling()

for epoch in range(args.epochs):
    if world_size > 1:
        sampler.set_epoch(epoch)
    tstart = time.perf_counter()
    for i, data in enumerate(trainloader, 0):
        with smprof.annotate("step_"+str(i)):
            inputs, labels = data
            inputs = inputs.to("cuda", non_blocking=True)
            labels = labels.to("cuda", non_blocking=True)
    
            optimizer.zero_grad()
    
            with smprof.annotate("Forward"):
                outputs = net(inputs)
            with smprof.annotate("Loss"):
                loss = criterion(outputs, labels)
            with smprof.annotate("Backward"):
                loss.backward()
            with smprof.annotate("Optimizer"):
                optimizer.step()

SMProf.stop_profiling()
```

**Método 1.** Utilice `smprof.annotation_begin()` y `smprof.annotation_end()` anote una línea de código específica en funciones

También puede definir anotaciones para perfilar líneas de código específicas. Puede establecer el punto de inicio y el punto de conexión exactos de la creación de perfiles a nivel de líneas de código individuales, no mediante las funciones. Por ejemplo, en el siguiente script, el `step_annotator` se define el al principio de cada iteración y termina al final de la iteración. Mientras tanto, se definen otros anotadores detallados para cada operación y encapsulan las operaciones objetivo a lo largo de cada iteración.

```
import smprof

SMProf = smprof.SMProfiler.instance()
config = smprof.Config()
config.profiler = {
    "EnableCuda": "1",
}
SMProf.configure(config)
SMProf.start_profiling()

for epoch in range(args.epochs):
    if world_size > 1:
        sampler.set_epoch(epoch)
    tstart = time.perf_counter()
    for i, data in enumerate(trainloader, 0):
        step_annotator = smprof.annotation_begin("step_" + str(i))

        inputs, labels = data
        inputs = inputs.to("cuda", non_blocking=True)
        labels = labels.to("cuda", non_blocking=True)
        optimizer.zero_grad()

        forward_annotator = smprof.annotation_begin("Forward")
        outputs = net(inputs)
        smprof.annotation_end(forward_annotator)

        loss_annotator = smprof.annotation_begin("Loss")
        loss = criterion(outputs, labels)
        smprof.annotation_end(loss_annotator)

        backward_annotator = smprof.annotation_begin("Backward")
        loss.backward()
        smprof.annotation_end(backward_annotator)

        optimizer_annotator = smprof.annotation_begin("Optimizer")
        optimizer.step()
        smprof.annotation_end(optimizer_annotator)

        smprof.annotation_end(step_annotator)

SMProf.stop_profiling()
```

Tras anotar y configurar los módulos de iniciación del generador de perfiles, guarde el guion para enviarlo mediante un lanzador de tareas de SageMaker formación en el siguiente paso 2. En el ejemplo del lanzador se presupone que el script de entrenamiento se llama `train_with_profiler_demo.py`.

## Paso 2: Cree un estimador del marco de SageMaker IA y active Profiler SageMaker
<a name="profiler-profilerconfig"></a>

El siguiente procedimiento muestra cómo preparar un estimador del marco de SageMaker IA para el entrenamiento con el SDK de SageMaker Python.

1. Configure un objeto `profiler_config` mediante los módulos `ProfilerConfig` y `Profiler` de la siguiente manera.

   ```
   from sagemaker import ProfilerConfig, Profiler
   profiler_config = ProfilerConfig(
       profile_params = Profiler(cpu_profiling_duration=3600)
   )
   ```

   La siguiente es la descripción del módulo `Profiler` y su argumento.
   +  `Profiler`: El módulo para activar SageMaker Profiler con el trabajo de formación.
     +  `cpu_profiling_duration`(int): especifique la duración en segundos para activar la creación de perfiles. CPUs El valor predeterminado es de 3600 segundos. 

1. Cree un estimador del marco de SageMaker IA con el `profiler_config` objeto creado en el paso anterior. En el siguiente código se muestra un ejemplo de creación de un PyTorch estimador. Si desea crear un TensorFlow estimador, impórtelo `sagemaker.tensorflow.TensorFlow` en su lugar y especifique una de [TensorFlowlas versiones](profiler-support.md#profiler-support-frameworks-tensorflow) compatibles con Profiler. SageMaker Para obtener más información sobre los tipos de instancias admitidos, consulte [SageMaker Imágenes de AI Framework preinstaladas con Profiler SageMaker](profiler-support.md#profiler-support-frameworks).

   ```
   import sagemaker
   from sagemaker.pytorch import PyTorch
   
   estimator = PyTorch(
       framework_version="2.0.0",
       role=sagemaker.get_execution_role(),
       entry_point="train_with_profiler_demo.py", # your training job entry point
       source_dir=source_dir, # source directory for your training script
       output_path=output_path,
       base_job_name="sagemaker-profiler-demo",
       hyperparameters=hyperparameters, # if any
       instance_count=1, # Recommended to test with < 8
       instance_type=ml.p4d.24xlarge,
       profiler_config=profiler_config
   )
   ```

1. Inicie el trabajo de entrenamiento ejecutando el método `fit`. Con `wait=False`, puede silenciar los registros de los trabajos de entrenamiento y dejar que se ejecuten en segundo plano.

   ```
   estimator.fit(wait=False)
   ```

Mientras ejecuta el trabajo de entrenamiento o una vez finalizado el trabajo, puede pasar al tema siguiente en [Abre la aplicación de interfaz de SageMaker usuario Profiler](profiler-access-smprofiler-ui.md) y empezar a explorar y visualizar los perfiles guardados.

Si desea acceder directamente a los datos del perfil guardados en el bucket de Amazon S3, utilice el siguiente script para recuperar el URI de S3.

```
import os
# This is an ad-hoc function to get the S3 URI
# to where the profile output data is saved
def get_detailed_profiler_output_uri(estimator):
    config_name = None
    for processing in estimator.profiler_rule_configs:
        params = processing.get("RuleParameters", dict())
        rule = config_name = params.get("rule_to_invoke", "")
        if rule == "DetailedProfilerProcessing":
            config_name = processing.get("RuleConfigurationName")
            break
    return os.path.join(
        estimator.output_path, 
        estimator.latest_training_job.name, 
        "rule-output",
        config_name,
    )

print(
    f"Profiler output S3 bucket: ", 
    get_detailed_profiler_output_uri(estimator)
)
```

## (Opcional) Instale el paquete SageMaker Profiler Python
<a name="profiler-install-python-package"></a>

Para usar SageMaker Profiler en imágenes de TensorFlow marcos PyTorch o marcos que no figuran en [SageMaker Imágenes de AI Framework preinstaladas con Profiler SageMaker](profiler-support.md#profiler-support-frameworks) él o en su propio contenedor Docker personalizado con fines de formación, puede instalar SageMaker Profiler mediante uno de los. [SageMaker Archivos binarios del paquete Profiler Python](profiler-support.md#profiler-python-package)

**Opción 1: Instale el paquete SageMaker Profiler al iniciar un trabajo de formación**

[Si desea utilizar SageMaker Profiler para realizar tareas de formación con TensorFlow imágenes PyTorch o imágenes que no figuran en ellas[SageMaker Imágenes de AI Framework preinstaladas con Profiler SageMaker](profiler-support.md#profiler-support-frameworks), cree un `requirements.txt` archivo y ubíquelo en la ruta que especifique para el `source_dir` parámetro del estimador del marco de SageMaker IA en el paso 2.](#profiler-profilerconfig) Para obtener más información sobre la configuración de un `requirements.txt` archivo en general, consulte [Uso de bibliotecas de terceros](https://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/using_pytorch.html#using-third-party-libraries) en la *documentación del SDK de SageMaker Python*. En el archivo `requirements.txt`, añada una de las rutas de bucket de S3 para los [SageMaker Archivos binarios del paquete Profiler Python](profiler-support.md#profiler-python-package).

```
# requirements.txt
https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.332-cp39-cp39-linux_x86_64.whl
```

**Opción 2: instale el paquete SageMaker Profiler en sus contenedores Docker personalizados**

Si usa un contenedor de Docker personalizado para entrenamiento, agregue uno de los [SageMaker Archivos binarios del paquete Profiler Python](profiler-support.md#profiler-python-package) a su Dockerfile.

```
# Install the smprof package version compatible with your CUDA version
RUN pip install https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.332-cp39-cp39-linux_x86_64.whl
```

Para obtener información sobre cómo ejecutar un contenedor Docker personalizado para el entrenamiento sobre SageMaker IA en general, consulta Cómo [adaptar tu propio](https://docs.aws.amazon.com/sagemaker/latest/dg/adapt-training-container.html) contenedor de entrenamiento.

# Abre la aplicación de interfaz de SageMaker usuario Profiler
<a name="profiler-access-smprofiler-ui"></a>

Puede acceder a la aplicación de interfaz de usuario SageMaker Profiler a través de las siguientes opciones.

**Topics**
+ [Opción 1: inicie la interfaz de usuario del SageMaker generador de perfiles desde la página de detalles del dominio](#profiler-access-smprofiler-ui-console-smdomain)
+ [Opción 2: inicie la aplicación de interfaz de usuario de SageMaker Profiler desde la página de inicio de SageMaker Profiler en la consola de IA SageMaker](#profiler-access-smprofiler-ui-console-profiler-landing-page)
+ [Opción 3: usar la función de inicio de aplicaciones en el SDK de Python para SageMaker IA](#profiler-access-smprofiler-ui-app-launcher-function)

## Opción 1: inicie la interfaz de usuario del SageMaker generador de perfiles desde la página de detalles del dominio
<a name="profiler-access-smprofiler-ui-console-smdomain"></a>

Si tienes acceso a la consola de SageMaker IA, puedes elegir esta opción.

**Navegación a la página de detalles del dominio**

 En el siguiente procedimiento se muestra cómo ir a la página de detalles del dominio. 

1. Abre la consola Amazon SageMaker AI en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. En el panel de navegación izquierdo, elija **Dominios**. 

1. En la lista de dominios, seleccione el dominio en el que desee iniciar la aplicación SageMaker Profiler.

**Inicie la aplicación de interfaz de SageMaker usuario Profiler**

El siguiente procedimiento muestra cómo iniciar la aplicación SageMaker Profiler que está relacionada con un perfil de usuario. 

1. En la página de detalles del dominio, elija la pestaña **Perfiles de usuario**. 

1. Identifique el perfil de usuario para el que desea iniciar la aplicación de interfaz de usuario SageMaker Profiler. 

1. Elija **Launch (Lanzar)** para el perfil de usuario seleccionado y elija **Profiler (Generador de perfiles)**. 

## Opción 2: inicie la aplicación de interfaz de usuario de SageMaker Profiler desde la página de inicio de SageMaker Profiler en la consola de IA SageMaker
<a name="profiler-access-smprofiler-ui-console-profiler-landing-page"></a>

El siguiente procedimiento describe cómo iniciar la aplicación de interfaz de usuario de SageMaker Profiler desde la página de inicio de SageMaker Profiler en la consola de AI. SageMaker Si tiene acceso a la consola de SageMaker IA, puede elegir esta opción.

1. Abre la consola Amazon SageMaker AI en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. En el panel de navegación izquierdo, seleccione **Profiler (Generador de perfiles)**.

1. En **Comenzar**, seleccione el dominio en el que desea iniciar la aplicación de Studio Classic. Si su perfil de usuario solo pertenece a un dominio, no verá la opción para seleccionar un dominio.

1. Seleccione el perfil de usuario para el que desea iniciar la aplicación SageMaker Profiler UI. Si no hay ningún perfil de usuario en el dominio, seleccione **Crear perfil de usuario**. Para obtener más información sobre la creación de un nuevo perfil de usuario, consulte [Adición de perfiles de usuario](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).

1. Seleccione **Open Profiler (Abrir generador de perfiles)**.

## Opción 3: usar la función de inicio de aplicaciones en el SDK de Python para SageMaker IA
<a name="profiler-access-smprofiler-ui-app-launcher-function"></a>

Si es usuario de un dominio de SageMaker IA y solo tiene acceso a SageMaker Studio, puede acceder a la aplicación de interfaz de usuario SageMaker Profiler a través de SageMaker Studio Classic ejecutando la [https://sagemaker.readthedocs.io/en/stable/api/utility/interactive_apps.html#module-sagemaker.interactive_apps.detail_profiler_app](https://sagemaker.readthedocs.io/en/stable/api/utility/interactive_apps.html#module-sagemaker.interactive_apps.detail_profiler_app)función.

Ten en cuenta que SageMaker Studio Classic es la experiencia anterior a la interfaz de usuario de Studio antes de re:Invent 2023 y se migrará como aplicación a una interfaz de usuario de Studio de nuevo diseño en re:Invent 2023. La aplicación de interfaz de usuario SageMaker Profiler está disponible a nivel de dominio de SageMaker IA y, por lo tanto, requiere tu ID de dominio y tu nombre de perfil de usuario. Actualmente, la `DetailedProfilerApp` función solo funciona en la aplicación SageMaker Studio Classic; la función recoge correctamente la información del dominio y del perfil de usuario de SageMaker Studio Classic.

Para dominios, usuarios de dominios y Studio creados antes de re:Invent 2023, Studio Classic sería la experiencia predeterminada, a menos que la hayas actualizado siguiendo las instrucciones de [Migración desde Amazon SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-migrate.html) Studio Classic. Si este es tu caso, no es necesario realizar ninguna otra acción y puedes iniciar directamente la aplicación de interfaz de usuario SageMaker Profiler ejecutando la función. `DetailProfilerApp`

Si has creado un dominio y Studio nuevos después de re:Invent 2023, inicia la aplicación Studio Classic en la interfaz de usuario de Studio y, a continuación, ejecuta la `DetailProfilerApp` función para iniciar la aplicación de interfaz de usuario de Profiler. SageMaker 

Ten en cuenta que la `DetailedProfilerApp` función no funciona en otras instancias de aprendizaje automático de SageMaker IA IDEs, como la aplicación Studio, la JupyterLab aplicación SageMaker SageMaker Studio Code Editor y SageMaker las instancias de Notebook. Si ejecutas la `DetailedProfilerApp` función en ellas IDEs, devolverá una URL a la página de inicio de Profiler en la consola de SageMaker AI, en lugar de un enlace directo para abrir la aplicación de interfaz de usuario de Profiler.

# Explore los datos de salida del perfil visualizados en la interfaz de usuario de Profiler SageMaker
<a name="profiler-explore-viz"></a>

En esta sección, se explica la interfaz de usuario del SageMaker generador de perfiles y se proporcionan consejos sobre cómo utilizarla y obtener información al respecto.

## Cargar perfil
<a name="profiler-explore-viz-load"></a>

Al abrir la interfaz de usuario del SageMaker generador de perfiles, se abre la página **Cargar perfil**. Para cargar y generar **Dashboard (Panel de control)** y **Timeline (Línea temporal)**, siga el siguiente procedimiento.<a name="profiler-explore-viz-load-procedure"></a>

**Para cargar el perfil de un trabajo de entrenamiento**

1. En la sección **List of training jobs (Lista de trabajos de entrenamiento)**, utilice la casilla de verificación para elegir el trabajo de entrenamiento para el que desea cargar el perfil.

1. Elija **Load (Cargar)**. El nombre del trabajo debe aparecer en la sección **Loaded profile (Perfil cargado)**, en la parte superior.

1. Pulse el botón de radio situado a la izquierda de **Job name (Nombre del trabajo)** para generar el **Dashboard (Panel de control)** y **Timeline (Línea temporal)**. Tenga en cuenta que cuando selecciona el botón de opción, la interfaz de usuario abre automáticamente **Dashboard (Panel de control)**. Tenga en cuenta también que si genera las visualizaciones mientras el estado del trabajo y el estado de carga aún parecen estar en curso, la interfaz de usuario del SageMaker generador de perfiles genera gráficos de **panel** y una **cronología** con los datos de perfil más recientes recopilados del trabajo de formación en curso o los datos del perfil cargados parcialmente.

**sugerencia**  
Puede cargar y visualizar un perfil a la vez. Para cargar otro perfil, primero debe descargar el perfil cargado anteriormente. Para descargar un perfil, utilice el icono de la papelera situado en el extremo derecho del perfil, en la sección **Loaded profile (Perfil cargado)**.

![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-load-data.png)


## Panel de control
<a name="profiler-explore-viz-overview"></a>

Cuando termine de cargar y seleccionar el trabajo de entrenamiento, la interfaz de usuario abre la página de **Dahsboard (Panel de control)**, que incluye los siguientes paneles de forma predeterminada.
+ **GPU active time (Tiempo de actividad de la GPU)**: este gráfico circular muestra el porcentaje de tiempo de actividad de la GPU en comparación con el tiempo de inactividad de la GPU. Puedes comprobar si GPUs estás más activo que inactivo durante todo el trabajo de formación. El tiempo de actividad de la GPU se basa en los puntos de datos del perfil con una tasa de utilización superior al 0 %, mientras que el tiempo de inactividad de la GPU se basa en los puntos de datos perfilados con un 0 % de utilización.
+ **GPU utilization over time (Utilización de la GPU a lo largo del tiempo)**: este gráfico cronológico muestra la tasa media de utilización de la GPU a lo largo del tiempo por nodo, agrupando todos los nodos en un único gráfico. Puedes comprobar si GPUs tienen una carga de trabajo desequilibrada, problemas de infrautilización, cuellos de botella o problemas de inactividad durante determinados intervalos de tiempo. Para realizar un seguimiento de la tasa de utilización a nivel de GPU individual y de las ejecuciones del kernel relacionadas, utilice la [Interfaz de línea de tiempo](#profiler-explore-viz-timeline). Tenga en cuenta que la recopilación de actividades de la GPU comienza desde donde agregó la función de inicio del generador de perfiles `SMProf.start_profiling()` en su script de entrenamiento y termina en `SMProf.stop_profiling()`.
+ **GPU active time (Tiempo de actividad de la CPU)**: este gráfico circular muestra el porcentaje de tiempo de actividad de la CPU en comparación con el tiempo de inactividad de la CPU. Puede comprobar si está más activo que inactivo durante todo el trabajo de formación. CPUs El tiempo de actividad de la GCU se basa en los puntos de datos del perfil con una tasa de utilización superior al 0 %, mientras que el tiempo de inactividad de la CPU se basa en los puntos de datos perfilados con un 0 % de utilización.
+ **CPU utilization over time (Utilización de la CPU a lo largo del tiempo)**: este gráfico cronológico muestra la tasa media de utilización de la CPU a lo largo del tiempo por nodo, agrupando todos los nodos en un único gráfico. Puedes comprobar si CPUs están obstruidos o infrautilizados durante determinados intervalos de tiempo. Para realizar un seguimiento de la tasa de utilización de la GPU en función CPUs de la utilización individual de la GPU y de las ejecuciones del núcleo, utilice la. [Interfaz de línea de tiempo](#profiler-explore-viz-timeline) Tenga en cuenta que las métricas de uso comienzan desde el principio, desde la inicialización del trabajo.
+ **Tiempo empleado por todos los kernels de GPU**: en este gráfico circular se muestran todos los kernels de GPU utilizados durante el trabajo de entrenamiento. Muestra los 15 kernels de GPU principales de forma predeterminada como sectores individuales y todos los demás kernels en un sector. Pase el ratón sobre los sectores para ver información más detallada. El valor muestra el tiempo total de funcionamiento de los kernels de la GPU en segundos y el porcentaje se basa en el tiempo total del perfil. 
+ **Tiempo empleado por los 15 principales kernels de GPU**: en este gráfico circular se muestran todos los kernels de GPU que se utilizaron durante el trabajo de entrenamiento. Muestra los 15 kernels de GPU principales como sectores individuales. Pase el ratón sobre los sectores para ver información más detallada. El valor muestra el tiempo total de funcionamiento de los kernels de la GPU en segundos y el porcentaje se basa en el tiempo total del perfil. 
+ **Launch counts of all GPU kernels (Número de lanzamientos de todos los kernels de GPU)**: este gráfico circular muestra el número de lanzamientos de cada kernel de GPU lanzados durante el trabajo de entrenamiento. Muestra los 15 kernels de GPU principales como sectores individuales y todos los demás kernels en un sector. Pase el ratón sobre los sectores para ver información más detallada. El valor muestra el recuento total de los kernels de GPU lanzados y el porcentaje se basa en el número total de todos los kernels. 
+ **Launch counts of all CPU kernels (Número de lanzamientos de los 15 kernels de CPU)**: este gráfico circular muestra el número de lanzamientos de cada kernel de CPU lanzados durante el trabajo de entrenamiento. Muestra los 15 kernels de GPU principales. Pase el ratón sobre los sectores para ver información más detallada. El valor muestra el recuento total de los kernels de GPU lanzados y el porcentaje se basa en el número total de todos los kernels. 
+ **Distribución del tiempo de paso**: este histograma muestra la distribución de las duraciones de los pasos en. GPUs Este gráfico se genera solo después de añadir el anotador de pasos al script de entrenamiento.
+ **Distribución de precisión del núcleo**: este gráfico circular muestra el porcentaje de tiempo dedicado a ejecutar los núcleos en diferentes tipos de datos FP32, como FP16, INT32 y. INT8 
+ **GPU activity distribution (Distribución de la actividad de la GPU)**: este gráfico circular muestra el porcentaje de tiempo dedicado a las actividades de la GPU, como la ejecución de los kernels, la memoria (`memcpy` y `memset`) y la sincronización (`sync`).
+ **GPU memory operations distribution (Distribución de las operaciones de memoria de la GPU)**: este gráfico circular muestra el porcentaje de tiempo dedicado a las operaciones de memoria de la GPU. Esto visualiza las actividades `memcopy` y ayuda a identificar si su trabajo de entrenamiento está dedicando demasiado tiempo a determinadas operaciones de memoria.
+ **Create a new histogram (Crear un histograma nuevo)**: cree un diagrama nuevo de una métrica personalizada que haya anotado manualmente durante [Paso 1: Adapte su script de entrenamiento con los módulos SageMaker Profiler Python](profiler-prepare.md#profiler-prepare-training-script). Al añadir una anotación personalizada a un histograma nuevo, seleccione o escriba el nombre de la anotación que ha añadido en el script de entrenamiento. Por ejemplo, en el script de entrenamiento de demostración del paso 1,`step`, `Forward`, `Backward`, `Optimize` y `Loss` están las anotaciones personalizadas. Al crear un histograma nuevo, estos nombres de anotación deberían aparecer en el menú desplegable para seleccionar las métricas. Si elige `Backward`, la interfaz de usuario añade al **panel de control** el histograma del tiempo dedicado a las pasadas hacia atrás a lo largo del tiempo perfilado. Este tipo de histograma es útil para comprobar si hay valores atípicos que tardan anormalmente más tiempo y provocan problemas de embotellamiento.

En las siguientes capturas de pantalla se muestra la relación entre el tiempo de actividad de la GPU y la CPU y la tasa media de utilización de la GPU y la CPU con respecto al tiempo por nodo de procesamiento.

![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-dashboard-1.png)


En la siguiente captura de pantalla se muestra un ejemplo de gráficos circulares para comparar el número de veces que se lanzan los kernels de la GPU y medir el tiempo empleado en ejecutarlos. En los paneles **Tiempo empleado por todos los kernels de la GPU** y **Recuento de lanzamientos de todos los kernels de la GPU**, también puede especificar un número entero en el campo de entrada de *k* para ajustar el número de leyendas que se muestran en los gráficos. Por ejemplo, si especifica 10, los gráficos muestran los 10 kernels más ejecutados y lanzados, respectivamente.

![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-dashboard-2.png)


En la siguiente captura de pantalla se muestra un ejemplo de paso, tiempo, duración, histograma y gráficos circulares para la distribución de precisión del kernel, la distribución de la actividad de la GPU y la distribución del funcionamiento de la memoria de la GPU.

![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-dashboard-3.png)


## Interfaz de línea de tiempo
<a name="profiler-explore-viz-timeline"></a>

Para obtener una visión detallada de los recursos informáticos a nivel de las operaciones y los núcleos programados CPUs y ejecutados en el GPUs, utilice la interfaz **Timeline**.

Puedes acercar y alejar la imagen y desplazarte hacia la izquierda o hacia la derecha en la interfaz de la línea de tiempo con el ratón, las teclas `[w, a, s, d]` o las cuatro teclas de flecha del teclado.

**sugerencia**  
Para obtener más consejos sobre los métodos abreviados de teclado para interactuar con la interfaz de **Timeline (Línea de tiempo)**, seleccione **Keyboard shortcuts (Métodos abreviados de teclado)** en el panel izquierdo.

Las pistas de la línea de tiempo están organizadas en una estructura de árbol, lo que proporciona información desde el nivel del host hasta el nivel del dispositivo. Por ejemplo, si ejecuta `N` instancias con ocho GPUs en cada una, la estructura temporal de cada instancia sería la siguiente.
+ **algo-i node**: es lo que la SageMaker IA etiqueta para asignar tareas a las instancias aprovisionadas. El dígito inode se asigna de forma aleatoria. Por ejemplo, si usa 4 instancias, esta sección se expande de **algo-1** a **algo-4**.
  + **CPU**: en esta sección, puede comprobar la tasa media de utilización de la CPU y los contadores de rendimiento.
  + **GPUs**— En esta sección, puedes comprobar la tasa media de utilización de la GPU, la tasa de utilización de cada GPU individual y los núcleos.
    + **SUM Utilization (Utilización de SUM)**: las tasas de uso medio de la GPU por instancia.
    + **HOST-0 PID-123**: un nombre único asignado a cada pista de proceso. El acrónimo PID es el ID del proceso y el número que se le asocia es el número de ID del proceso que se registra durante la captura de datos del proceso. En esta sección se muestra la siguiente información del proceso.
      + **Utilización de GPU-inum\$1gpu**: la tasa de utilización de la inum\$1gpu-ésima GPU a lo largo del tiempo.
      + **Dispositivo GPU-inum\$1gpu**: el kernel se ejecuta en el inum\$1gpu-ésimo dispositivo GPU.
        + **stream icuda\$1stream**: secuencias CUDA que muestran cómo el kernel se ejecuta en el dispositivo GPU. Para obtener más información sobre las transmisiones de CUDA, consulte las diapositivas en PDF en [CUDA C/C\$1\$1 Streams and Concurrency](https://developer.download.nvidia.com/CUDA/training/StreamsAndConcurrencyWebinar.pdf) proporcionadas por NVIDIA.
      + **Host GPU-inum\$1gpu**: el kernel se inicia en el inum\$1gpu-ésimo host de la GPU.

En las siguientes capturas de pantalla se muestra la **cronología** del perfil de un trabajo de formación ejecutado en `ml.p4d.24xlarge` instancias equipadas con 8 NVIDIA A100 Tensor Core en cada una. GPUs 

La siguiente es una vista ampliada del perfil, en la que se imprimen una docena de pasos, incluido un cargador de datos intermitente entre `step_232` y `step_233` para recuperar el siguiente lote de datos.

![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-timeline-1.png)


Para cada CPU, puede realizar un seguimiento de los contadores de uso y rendimiento de la CPU, como `"clk_unhalted_ref.tsc"` y `"itlb_misses.miss_causes_a_walk"`, que son indicativos de las instrucciones que se ejecutan en la CPU.

Para cada GPU, puede ver una línea de tiempo del host y una del dispositivo. Los lanzamientos del kernel se producen en la línea de tiempo del host y las ejecuciones del kernel se realizan en la línea temporal del dispositivo. También puede ver las anotaciones (como avanzar, retroceder y optimizar) si ha añadido un script de entrenamiento en la cronología del host de la GPU.

En la vista cronológica, también puede realizar un seguimiento de los pares de núcleos launch-and-run. Esto le ayuda a entender cómo se ejecuta un lanzamiento del kernel programado en un host (CPU) en el dispositivo GPU correspondiente.

**sugerencia**  
Pulse la tecla `f` para ampliar el kernel seleccionado.

La siguiente captura de pantalla es una vista ampliada de `step_233` y `step_234` desde la captura de pantalla anterior. El intervalo temporal seleccionado en la siguiente captura de pantalla corresponde a la operación `AllReduce`, un paso esencial de comunicación y sincronización en el entrenamiento distribuido, que se ejecuta en el dispositivo GPU-0. En la captura de pantalla, observe que el inicio del kernel en el host de la GPU-0 se conecta con el kernel que se ejecuta en la secuencia 1 de dispositivos de la GPU-0, indicada con una flecha en color cian.

![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-timeline-2.png)


También aparecen dos pestañas de información en el panel inferior de la interfaz de usuario al seleccionar un intervalo de tiempo, como se muestra en la captura de pantalla anterior. La pestaña **Current Selection (Selección actual)** muestra los detalles del kernel seleccionado y del lanzamiento del kernel conectado desde el servidor. La dirección de conexión es siempre del host (CPU) al dispositivo (GPU), ya que cada kernel de la GPU siempre se llama desde una CPU. La pestaña **Connections (Conexiones)** muestra el par de inicio y ejecución del kernel elegido. Puede seleccionar cualquiera de ellas para moverla al centro de la vista **Timeline (Línea de tiempo)**.

En la siguiente captura de pantalla se amplía aún más la combinación de inicio y ejecución de la operación `AllReduce`. 

![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-timeline-3.png)


## Información
<a name="profiler-expore-viz-information"></a>

En **Información**, puede acceder a la información sobre el trabajo de entrenamiento cargado, como el tipo de instancia, los nombres de los recursos de Amazon (ARNs) de los recursos informáticos aprovisionados para el trabajo, los nombres de los nodos y los hiperparámetros.

## Configuración
<a name="profiler-expore-viz-settings"></a>

De forma predeterminada, la instancia de la aplicación SageMaker AI Profiler UI está configurada para cerrarse tras 2 horas de inactividad. En **Settings (Ajustes)**, use los siguientes parámetros para ajustar el temporizador de cierre automático.
+ **Enable app auto shutdown (Habilitar el cierre de la aplicación)**: seleccione y **configúrelo como Enabled (Habilitado)** para permitir que la aplicación se cierre automáticamente después del número especificado de horas de inactividad. Para desactivar la función de apagado automático, selecciona **DIsabled (Desactivado)**.
+ **Auto shutdown threshold in hours (Umbral de cierre automático en horas)**: si selecciona **Enabled (Habilitado)** para **Enable app auto shutdown (Habilitar apierre automático de aplicación)**, puede establecer el tiempo límite en horas para que la aplicación se cierre automáticamente. De forma predeterminada, se establece en 2.

# Solución de problemas para Profiler SageMaker
<a name="profiler-faq"></a>

Utilice los siguientes question-and-answer pares para solucionar problemas al utilizar Profiler. SageMaker 

**P: Aparece un mensaje de error, `ModuleNotFoundError: No module named 'smppy'`**

Desde diciembre de 2023, el nombre del paquete SageMaker Profiler Python ha cambiado de `smppy` `smprof` a para resolver un problema de nombre de paquete duplicado; ya lo `smppy` usa un paquete de código abierto.

Por lo tanto, si ha estado usando `smppy` desde antes de diciembre de 2023 y tiene este problema de `ModuleNotFoundError`, es posible que se deba al nombre del paquete obsoleto de su script de entrenamiento mientras tenía el paquete `smprof` más reciente instalado o estaba usando uno de las [SageMaker Imágenes de AI Framework preinstaladas con Profiler SageMaker](profiler-support.md#profiler-support-frameworks) más recientes. En este caso, asegúrese de reemplazar todas las menciones de `smppy` por `smprof` en el script de entrenamiento.

Al actualizar el nombre del paquete Python de SageMaker Profiler en sus scripts de entrenamiento, para evitar confusiones sobre la versión del nombre del paquete que debe usar, considere la posibilidad de usar una declaración de importación condicional, como se muestra en el siguiente fragmento de código.

```
try:
    import smprof 
except ImportError:
    # backward-compatability for TF 2.11 and PT 1.13.1 images
    import smppy as smprof
```

Tenga en cuenta también que, si lo ha estado utilizando `smppy` durante la actualización a la TensorFlow versión PyTorch o versiones más recientes, asegúrese de instalar el `smprof` paquete más reciente siguiendo las instrucciones que aparecen en. [(Opcional) Instale el paquete SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package)

**P: Aparece un mensaje de error, `ModuleNotFoundError: No module named 'smprof'`**

En primer lugar, asegúrate de utilizar uno de los contenedores de SageMaker AI Framework compatibles oficialmente. Si no utiliza uno de esos, puede instalar el paquete de `smprof` siguiendo las instrucciones que aparecen en [(Opcional) Instale el paquete SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

**P: No puedo importar `ProfilerConfig`**

Si no puede importar `ProfilerConfig` el script del iniciador de tareas mediante el SDK de SageMaker Python, es posible que su entorno local o el núcleo de Jupyter tengan una versión bastante anticuada del SDK de Python SageMaker . Asegúrese de actualizar el SDK a la versión más reciente.

```
$ pip install --upgrade sagemaker
```

**P: Aparece un mensaje de error, `aborted: core dumped when importing smprof into my training script`**

En una versión anterior de`smprof`, este problema se producía con la versión PyTorch 2.0\$1 y Lightning. PyTorch Para resolver este problema, instale también el paquete de `smprof` más reciente siguiendo las instrucciones que se encuentran en [(Opcional) Instale el paquete SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

**P: No encuentro la interfaz de usuario del SageMaker generador de perfiles en Studio. SageMaker ¿Cómo puedo encontrarlo?**

Si tiene acceso a la consola de SageMaker IA, elija una de las siguientes opciones.
+ [Opción 1: inicie la interfaz de usuario del SageMaker generador de perfiles desde la página de detalles del dominio](profiler-access-smprofiler-ui.md#profiler-access-smprofiler-ui-console-smdomain)
+ [Opción 2: inicie la aplicación de interfaz de usuario de SageMaker Profiler desde la página de inicio de SageMaker Profiler en la consola de IA SageMaker](profiler-access-smprofiler-ui.md#profiler-access-smprofiler-ui-console-profiler-landing-page)

Si eres usuario de un dominio y no tienes acceso a la consola de SageMaker IA, puedes acceder a la aplicación a través de SageMaker Studio Classic. Si este es su caso, elija la siguiente opción.
+ [Opción 3: usar la función de inicio de aplicaciones en el SDK de Python para SageMaker IA](profiler-access-smprofiler-ui.md#profiler-access-smprofiler-ui-app-launcher-function)