

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.

# SageMaker creación de planes de formación mediante la SageMaker API, o AWS CLI
<a name="training-plan-creation-using-api-cli-sdk"></a>

SageMaker los planes de formación apoyan la creación programática de planes de formación a través de su API. Puede interactuar con la API de los planes de formación mediante la AWS CLI o SageMaker SDKs.

SageMaker Las acciones de la API de los planes de formación proporcionan un flujo de trabajo integral para gestionar los planes de formación mediante programación:
+ **`SearchTrainingPlanOfferings`:** permite a los usuarios consultar y descubrir los recursos de computación disponibles especificando parámetros como el tipo de instancia, el recuento y el intervalo de tiempo deseado. La API devuelve una lista clasificada de las ofertas de planes de entrenamiento que mejor se adaptan a los requisitos del usuario.
+ **`CreateTrainingPlan`:** permite reservar una oferta de plan de entrenamiento específica, lo que transforma una capacidad de computación potencial en capacidades reservadas programadas con un ARN de plan de entrenamiento único.
+ **`ListTrainingPlans`:** Proporciona un método para recuperar y revisar todos los planes de formación existentes en la AWS cuenta de un usuario, con funciones opcionales de filtrado y clasificación.
+ **`DescribeTrainingPlan`:** ofrece información detallada sobre un plan de entrenamiento específico, incluidas las etapas de su ciclo de vida de `Pending` a `Active` hasta `Expired`.
+ **`ExtendTrainingPlan`:** Amplía un plan de formación existente mediante la compra de una oferta de extensión. Para obtener más información, consulte [Extensión de los planes de formación](training-plan-extension.md).
+ **`DescribeTrainingPlanExtensionHistory`:** Recupera el historial de extensiones de un plan de formación. Para obtener más información, consulte [Extensión de los planes de formación](training-plan-extension.md).

**Topics**
+ [Búsqueda de ofertas de planes de entrenamiento](search-training-plan-offerings-api-cli-sdk.md)
+ [Reserva del mejor plan de entrenamiento](choose-best-training-plan-using-api-cli-sdk.md)
+ [Lista de planes de entrenamiento](list-training-plans-using-api-cli-sdk.md)
+ [Visualización de los detalles del plan de entrenamiento](training-plan-details-using-api-cli-sdk.md)

# Búsqueda de ofertas de planes de entrenamiento
<a name="search-training-plan-offerings-api-cli-sdk"></a>

Para crear un plan de entrenamiento, comience por llamar a la operación de la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html) e incorpore los requisitos del plan (como el tipo de instancia, el recuento y el intervalo de tiempo deseado) como parámetros de entrada. Los planes de entrenamiento son específicos para el recurso objetivo. Asegúrese de especificar para qué recurso objetivo se utilizará el plan (`training-job` o `hyperpod-cluster`). La API devuelve una lista de ofertas disponibles que coinciden con sus requisitos. Si no encuentra ninguna oferta adecuada, es posible que tenga que ajustar sus requisitos y volver a buscar.

Esta llamada a la API obtiene las ofertas de planes de entrenamiento que mejor se adaptan a sus necesidades de capacidad. Cada [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanOffering.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanOffering.html) devuelta en la respuesta se identifica con un ID de oferta único. La primera oferta de la lista representa la que mejor se adapta a sus necesidades. Si no hay ningún plan de entrenamiento adecuado disponible en las fechas especificadas, la lista estará vacía. Adapte sus criterios de búsqueda y busque un nuevo conjunto de ofertas.
+ La duración de las reservas está disponible en incrementos de 1 día, de 1 a 182 días.
+ Las opciones de cantidad de instancias de reserva son 1, 2, 4, 8, 16, 32 o 64 instancias.

Para obtener más información sobre la lista de instancias disponibles compatibles con los planes de SageMaker formación, consulte[Tipos de instancias compatibles y precios Regiones de AWS](reserve-capacity-with-training-plans.md#training-plans-supported-instances-and-regions).

En el siguiente ejemplo, se utiliza un AWS CLI comando para solicitar ofertas de planes de formación con un tipo de instancia, un recuento y una información de tiempo específicos.

```
# List training plan offerings with instance type, instance count, duration in hours, start time after, and end time before.
aws sagemaker search-training-plan-offerings \
--target-resources "training-job" \
--instance-type "ml.p4d.24xlarge" \
--instance-count 1 \
--duration-hours 15 \
--start-time-after "1737484800"
--end-time-before "1737657600"
```

Este documento JSON es un ejemplo de respuesta de la API de planes de SageMaker formación. La respuesta proporciona información sobre las distintas ofertas de planes de entrenamiento disponibles que cumplen los requisitos de capacidad especificados. Incluye tres ofertas distintas con diferentes duraciones, tarifas anticipadas y start/end horarios, todas ellas con el mismo tipo de instancia y orientadas a trabajos de formación.

```
{
    "TrainingPlanOfferings": [
        {
            "TrainingPlanOfferingId": "tpo-SHA-256-hash-value",
            "TargetResources": [
                "training-job"
            ],
            "RequestedStartTimeAfter": "2025-01-21T11:08:27.704000-08:00",
            "DurationHours": 15,
            "DurationMinutes": 51,
            "UpfrontFee": "xxxx.xx",
            "CurrencyCode": "USD",
            "ReservedCapacityOfferings": [
                {
                    "InstanceType": "ml.p4d.24xlarge",
                    "InstanceCount": 1,
                    "AvailabilityZone": "us-west-2a",
                    "DurationHours": 15,
                    "DurationMinutes": 51,
                    "StartTime": "2025-01-21T11:39:00-08:00",
                    "EndTime": "2025-01-22T03:30:00-08:00"
                }
            ]
        },
        {
            "TrainingPlanOfferingId": "tpo-SHA-256-hash-value",
            "TargetResources": [
                "training-job"
            ],
            "RequestedStartTimeAfter": "2025-01-21T11:08:27.704000-08:00",
            "DurationHours": 39,
            "DurationMinutes": 51,
            "UpfrontFee": "xxxx.xx",
            "CurrencyCode": "USD",
            "ReservedCapacityOfferings": [
                {
                    "InstanceType": "ml.p4d.24xlarge",
                    "InstanceCount": 1,
                    "AvailabilityZone": "us-west-2a",
                    "DurationHours": 39,
                    "DurationMinutes": 51,
                    "StartTime": "2025-01-21T11:39:00-08:00",
                    "EndTime": "2025-01-23T03:30:00-08:00"
                }
            ]
        },
        {
            "TrainingPlanOfferingId": "tpo-SHA-256-hash-value",
            "TargetResources": [
                "training-job"
            ],
            "RequestedStartTimeAfter": "2025-01-21T11:08:27.704000-08:00",
            "DurationHours": 24,
            "DurationMinutes": 0,
            "UpfrontFee": "xxxx.xx",
            "CurrencyCode": "USD",
            "ReservedCapacityOfferings": [
                {
                    "InstanceType": "ml.p4d.24xlarge",
                    "InstanceCount": 1,
                    "AvailabilityZone": "us-west-2a",
                    "DurationHours": 24,
                    "DurationMinutes": 0,
                    "StartTime": "2025-01-22T03:30:00-08:00",
                    "EndTime": "2025-01-23T03:30:00-08:00"
                }
            ]
        }
    ]
}
```

El siguiente es un ejemplo de comando sobre cómo usarlo AWS CLI para buscar ofertas de planes de formación que incluyan. UltraServers

```
aws sagemaker search-training-plan-offerings \
--ultra-server-type ml.c6i-32xlargesc \
--ultra-server-count 1 \
--duration-hours 24 \
--target-resources hyperpod-cluster
--start-time-after "1737484800" \
--end-time-before "1737657600"
```

```
{
    "TrainingPlanOfferings": [
        {
            "TrainingPlanOfferingId": "tpo-SHA-256-hash-value",
            "TargetResources": [
                "training-job"
            ],
            "RequestedStartTimeAfter": "2025-07-21T16:59:25.760000+00:00",
            "DurationHours": 24,
            "DurationMinutes": 0,
            "UpfrontFee": "0.24",
            "CurrencyCode": "USD",
            "ReservedCapacityOfferings": [
                {
                    "ReservedCapacityType": "UltraServer",
                    "UltraServerType": "ml.u-p6e-gb200x72",
                    "UltraServerCount": 1,
                    "InstanceType": "ml.p6e-gb200.36xlarge",
                    "InstanceCount": 18,
                    "AvailabilityZone": "us-east-2a",
                    "DurationHours": 24,
                    "DurationMinutes": 0,
                    "StartTime": "2025-07-22T11:30:00+00:00",
                    "EndTime": "2025-07-23T11:30:00+00:00"
                }
            ]
        }
    ]
}
```

En las siguientes secciones se definen los parámetros de solicitud de entrada obligatorios y opcionales para la operación de la API `SearchTrainingPlanOfferings`.

## Parámetros necesarios
<a name="search-training-plan-options-required-params"></a>

Al llamar a la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html) para ver una lista de las ofertas de planes de entrenamiento que cumplen sus requisitos, debe proporcionar los siguientes valores:
+ `TargetResources`: son los recursos objetivo (`training-job` o `hyperpod-cluster`) para los que se utilizará el plan. El valor predeterminado es `training-job`. Los planes de entrenamiento son específicos para el recurso objetivo.
  + Un plan de formación diseñado para tareas de SageMaker formación solo se puede utilizar para programar y ejecutar tareas de formación.
  + Un plan de capacitación para HyperPod clústeres se puede usar exclusivamente para proporcionar recursos de cómputo al grupo de instancias de un clúster.
+ `InstanceType`: es el tipo de instancia que se va a aprovisionar. El `InstanceType` debe ser de un tipo compatible. 

  Para obtener más información sobre la lista de instancias disponibles compatibles con los planes de SageMaker formación, consulta[Tipos de instancias compatibles y precios Regiones de AWS](reserve-capacity-with-training-plans.md#training-plans-supported-instances-and-regions).
+ `InstanceCount`: es el número de instancias que se va a aprovisionar. Si el número de instancias es superior a 1, debe ser una potencia de 2.
+ `DurationHour`: es la duración total del plan solicitado en horas. La `DurationHour` se redondea al múltiplo de 24 más cercano.

## Parámetros opcionales
<a name="search-training-plan-options-optional-params"></a>

En las siguientes secciones, se proporcionan detalles sobre algunos parámetros opcionales que puede transferir a su solicitud de la API `SearchTrainingPlanOfferings`.
+ `StartTimeAfter`: especifique la hora de inicio solicitada del plan. `StartTimeAfter` debería ser un valor `timestamp` o `ISO 8601 date/time` del futuro.
+ `EndTimeBefore`: especifique la hora de finalización solicitada del plan en un formato `timestamp` o `ISO 8601 date/time`. `EndTimeBefore` debe ocurrir al menos 24 horas después de la hora de inicio.
+ `UltraServerType`: especifique el tipo UltraServer de búsqueda. Para obtener más información al respecto UltraServers, consulte[UltraServers en SageMaker IA](reserve-capacity-with-training-plans.md#training-plans-ultraservers).
+ `UltraServerCount`: especifique el número de UltraServers que desea buscar.

# Reserva del mejor plan de entrenamiento
<a name="choose-best-training-plan-using-api-cli-sdk"></a>

Tras revisar las ofertas de planes de entrenamiento disponibles que mejor se adapten a sus necesidades, puede reservar un plan específico llamando a la operación de la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html). Cuando se crea, el plan tiene inicialmente al estado `Pending` y lo mantiene hasta que se complete el proceso de reserva. La respuesta a la llamada a la API devuelve un Nombre de recurso de Amazon (ARN) de plan de entrenamiento. Anote este ARN para el seguimiento y supervisión futuras. La reserva del plan de entrenamiento se realiza de forma asíncrona en el backend. El pago del importe total se cobra automáticamente como parte del proceso de cumplimiento. Una vez finalizada la transacción de pago y aseguradas las capacidades reservadas solicitadas, el plan de entrenamiento pasa a tener el estado `Scheduled` y ya se puede programar.

**importante**  
Los planes de entrenamiento no se pueden modificar una vez comprados.
Los planes de formación no se pueden compartir entre AWS cuentas ni dentro de su AWS organización.

En el siguiente ejemplo, se utiliza el AWS CLI comando an para solicitar un plan de formación específico, pasando el identificador del plan como parámetro.

```
aws sagemaker create-training-plan \
--training-plan-offering-id "tpo-SHA-256-hash-value" \
--training-plan-name "name" \
```

Este documento JSON es un ejemplo de respuesta de la API de planes de SageMaker formación. La respuesta contiene el nombre de recurso de Amazon (ARN) del plan de entrenamiento que se ha creado correctamente.

**nota**  
El plan de entrenamiento conserva el estado `Pending` hasta que se complete el proceso de cumplimiento.

```
{
   "TrainingPlanArn":"arn:aws:sagemaker:us-east-1:123456789123:training-plan/large-models-fine-tuning"
}
```

En las siguientes secciones se definen los parámetros de solicitud de entrada obligatorios y opcionales para la operación de la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html).

## Parámetros necesarios
<a name="choose-best-training-plan-using-api-cli-sdk-required-params"></a>

Al llamar a la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html) para reservar un plan de entrenamiento concreto, debe proporcionar los siguientes valores:
+ `TrainingPlanOfferingId`: es el ID del plan que va a elegir. Puede obtener el ID de la oferta de un plan en respuesta a su llamada a la API `SearchTrainingPlanOfferings`. Su formato debe empezar por `pto-*`.
+ `TrainingPlanName`: es el nombre del plan que está creando. 

# Lista de planes de entrenamiento
<a name="list-training-plans-using-api-cli-sdk"></a>

Puedes hacer una lista de todos los planes de formación que se han creado en tu AWS cuenta y región llamando a la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingPlans.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingPlans.html)API.

En el siguiente ejemplo, se utiliza un AWS CLI comando para recuperar la lista de tus planes de formación.

```
aws sagemaker list-training-plans \
--start-time-after "2024-09-26T00:00:01.000Z"
```

Este documento JSON es un ejemplo de respuesta de la API de planes de SageMaker formación. La respuesta proporciona detalles sobre un plan de entrenamiento que se ha creado y reservado correctamente.

```
{
   "[TrainingPlanSummaries](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanSummary.html)": [ 
      { 
         "AvailableInstanceCount": 2,
         "CurrencyCode": "USD",
         "DurationHours": 48,
         "DurationMinutes": 0,
         "EndTime": "2024-09-28T04:30:00-07:00",
         "InUseInstanceCount": 2,
         "[ReservedCapacitySummaries](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ReservedCapacitySummary.html)": [ 
            { 
               "AvailabilityZone": "string",
               "DurationHours": 48,
               "DurationMinutes": 0,
               "EndTime": "2024-09-28T04:30:00-07:00",
               "InstanceType": "ml.p5.48xlarge",
               "ReservedCapacityArn": "arn:aws:sagemaker:us-east-1:123456789123:reserved-capacity/large-models-fine-tuning-rc1",
               "StartTime": "2024-09-26T04:30:00-07:00",
               "Status": "Scheduled",
               "TotalInstanceCount": 4,
               "UltraServerCount": 4,
               "UltraServerType": "ml.p6e-gb200.36xlarge"
            }
         ],
         "StartTime": "2024-09-26T04:30:00-07:00",
         "Status": "Scheduled",
         "StatusMessage": "Payment confirmed, training plan scheduled."
         "TargetResources": [ "training-job" ],
         "TotalInstanceCount": 4,
         "TotalUltraServerCount": 4,
         "TrainingPlanArn": "arn:aws:sagemaker:us-east-1:123456789123:training-plan/large-models-fine-tuning",
         "TrainingPlanName": "large-models-fine-tuning",
         "UpfrontFee": "xxxx.xx"
      }
   ]
}
```

En las siguientes secciones, se proporcionan detalles sobre algunos parámetros opcionales que puede transferir a su solicitud de la API `ListTrainingPlans`.

## Parámetros opcionales
<a name="list-training-plans-optional-params"></a>

En las siguientes secciones, se proporcionan detalles sobre algunos parámetros opcionales que puede transferir a su solicitud de la API `ListTrainingPlans`.
+ `StartTimeAfter`: es la hora de inicio del intervalo de tiempo real de los planes de la lista, especificada como `timestamp` o `ISO 8601 date/time`. 
+ `StartTimeBefore`: es la hora de finalización del intervalo de tiempo real de los planes de la lista, especificada como `timestamp` o `ISO 8601 date/time`. 
+ `Filters`: Criterios utilizados para filtrar los resultados, con hasta 5 pares nombre-valor, donde «Nombre» es el nombre de un campo de a [TrainingPlanSummary](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanSummary.html)y «Valor» es el valor a tener en cuenta para el filtro. Por ejemplo, `Name=Status,Value=Active`.

En el siguiente ejemplo, se utiliza un AWS CLI comando para recuperar la lista de planes de entrenamiento mediante algunos de los parámetros opcionales descritos anteriormente.

```
aws sagemaker list-training-plans --max-results 10 --sort-by StartTime --sort-order Descending --start-time-after 13000000 --filters Name=Status,Value=Active
```

# Visualización de los detalles del plan de entrenamiento
<a name="training-plan-details-using-api-cli-sdk"></a>

Para supervisar el estado o recuperar los detalles de un plan de entrenamiento, puede utilizar la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlan.html). La respuesta de la API incluye un campo `Status` que refleja el estado actual del plan de entrenamiento:
+ Si el plan genera un error, el estado se establece en `Failed`.
+ Si el pago se realiza correctamente, el estado pasa de `Pending` a `Scheduled`, en función de la fecha de inicio del plan. 
+ Cuando el plan alcanza la fecha de inicio, su estado cambia a `Active`.
+ En el caso de los planes con varias capacidades reservadas discontinuas, el estado vuelve al estado `Scheduled` entre períodos activos, hasta la fecha de inicio de la siguiente capacidad reservada. 
+ Tras la fecha de finalización del plan, el estado pasa a `Expired`.

Una vez obtenido el estado`Scheduled`, puede utilizar la capacidad reservada en el plan para sus trabajos de SageMaker formación o cargas de trabajo en HyperPod clústeres.

**nota**  
Los trabajos de entrenamiento asociados al plan conservan el estado `Pending` hasta que el plan pase a estar `Active`. 
En el caso de HyperPod los clústeres que utilizan un plan de capacitación para la capacidad de cómputo, el estado del grupo de instancias aparece como `InService` una vez creado. 

En el siguiente ejemplo, se usa un AWS CLI comando para recuperar los detalles de un plan de entrenamiento por su nombre.

```
aws sagemaker describe-training-plan \
--training-plan-name "name"
```

Este documento JSON es un ejemplo de respuesta de la API de planes de SageMaker formación. Esta respuesta proporciona detalles sobre un plan de entrenamiento que se ha creado correctamente.

```
      { 
         "AvailableInstanceCount": 2,
         "CurrencyCode": "USD",
         "DurationHours": 48,
         "DurationMinutes": 0,
         "EndTime": "2024-09-28T04:30:00-07:00",
         "InUseInstanceCount": 2,
         "[ReservedCapacitySummaries](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ReservedCapacitySummary.html)": [ 
            { 
               "AvailabilityZone": "string",
               "DurationHours": 48,
               "DurationMinutes": 0,
               "EndTime": "2024-09-28T04:30:00-07:00",
               "InstanceType": "ml.p5.48xlarge",
               "ReservedCapacityArn": "arn:aws:sagemaker:us-east-1:123456789123:reserved-capacity/large-models-fine-tuning-rc1",
               "StartTime": "2024-09-26T04:30:00-07:00",
               "Status": "Scheduled",
               "TotalInstanceCount": 4,
               "UltraServerCount": 4,
               "UltraServerType": "ml.p6e-gb200.36xlarge"
            }
         ],
         "StartTime": "2024-09-26T04:30:00-07:00",
         "Status": "Scheduled",
         "StatusMessage": "Payment confirmed, training plan scheduled."
         "TargetResources": [ "training-job" ],
         "TotalInstanceCount": 4,
         "TotalUltraServerCount": 4,
         "TrainingPlanArn": "arn:aws:sagemaker:us-east-1:123456789123:training-plan/large-models-fine-tuning",
         "TrainingPlanName": "large-models-fine-tuning",
         "UpfrontFee": "xxxx.xx"
      }
```

En las siguientes secciones se definen los parámetros de solicitud de entrada obligatorios para la operación de la API `DescribeTrainingPlan`.

## Parámetros necesarios
<a name="training-plan-details-required-params"></a>
+ `TrainingPlanName`: es el nombre del plan de entrenamiento que desea describir.