

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# SageMaker création de plans de formation à l'aide de SageMaker l'API, ou AWS CLI
<a name="training-plan-creation-using-api-cli-sdk"></a>

SageMaker les plans de formation soutiennent la création programmatique de plans de formation via son API. Vous pouvez interagir avec l'API des plans de formation à l'aide du AWS CLI ou SageMaker SDKs.

SageMaker les actions d'API des plans de formation fournissent un flux de travail complet pour gérer les plans de formation de manière programmatique :
+ **`SearchTrainingPlanOfferings`** : permet aux utilisateurs d’interroger et de découvrir les ressources de calcul disponibles en spécifiant des paramètres tels que le type d’instance, le nombre et la fenêtre temporelle souhaitée. L’API renvoie une liste classée des offres de plans d’entraînement qui répondent le mieux aux besoins de l’utilisateur.
+ **`CreateTrainingPlan`** : permet de réserver une offre de plan d’entraînement spécifique, transformant une capacité de calcul potentielle en capacités réservées planifiées avec un ARN unique de plan d’entraînement.
+ **`ListTrainingPlans`:** fournit une méthode pour récupérer et examiner tous les plans de formation existants dans le AWS compte d'un utilisateur, avec des fonctionnalités de filtrage et de tri facultatives.
+ **`DescribeTrainingPlan`** : fournit des informations détaillées sur un plan d’entraînement spécifique, y compris les phases de son cycle de vie de `Pending` à `Active`, puis à `Expired`.
+ **`ExtendTrainingPlan`:** étend un plan de formation existant en achetant une offre d'extension. Pour de plus amples informations, veuillez consulter [Extension des plans de formation](training-plan-extension.md).
+ **`DescribeTrainingPlanExtensionHistory`:** Récupère l'historique des extensions pour un plan de formation. Pour de plus amples informations, veuillez consulter [Extension des plans de formation](training-plan-extension.md).

**Topics**
+ [Recherche d’offres de plans d’entraînement](search-training-plan-offerings-api-cli-sdk.md)
+ [Réservation du meilleur plan d’entraînement](choose-best-training-plan-using-api-cli-sdk.md)
+ [Liste des plans d’entraînement](list-training-plans-using-api-cli-sdk.md)
+ [Visualisation des détails d’un plan d’entraînement](training-plan-details-using-api-cli-sdk.md)

# Recherche d’offres de plans d’entraînement
<a name="search-training-plan-offerings-api-cli-sdk"></a>

Pour créer un plan d’entraînement, commencez par appeler l’opération d’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html), en transmettant les exigences de votre plan (telles que le type d’instance, le nombre et la fenêtre temporelle souhaitée) en tant que paramètres d’entrée. Les plans d’entraînement sont spécifiques à la ressource cible. Veillez à spécifier la ressource cible pour laquelle le plan sera utilisé (`training-job` ou `hyperpod-cluster`). L’API renvoie la liste des offres disponibles qui correspondent à vos exigences. Si aucune offre appropriée n’est trouvée, vous devrez peut-être ajuster vos exigences et effectuer une nouvelle recherche.

Cet appel d’API permet d’extraire les offres de plans d’entraînement qui répondent le mieux à vos besoins en capacité. Chaque élément [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanOffering.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanOffering.html) renvoyé en réponse est identifié par un identifiant d’offre unique. La première offre de la liste représente celle qui correspond le mieux à vos exigences. Si aucun plan d’entraînement adapté n’est disponible aux dates que vous avez spécifiées, la liste est vide. Ajustez vos critères de recherche et recherchez un nouvel ensemble d’offres.
+ Les durées de réservation sont disponibles par incréments de 1 jour, de 1 à 182 jours.
+ Les options de quantité d’instances de réservation sont de 1, 2, 4, 8, 16, 32 ou 64 instances.

Pour en savoir plus sur la liste des instances disponibles prises en charge par les plans de SageMaker formation, consultez[Types d'instances pris Régions AWS en charge et tarifs](reserve-capacity-with-training-plans.md#training-plans-supported-instances-and-regions).

L'exemple suivant utilise une AWS CLI commande pour demander des offres de plan de formation avec un type d'instance, un nombre et des informations temporelles spécifiés.

```
# 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"
```

Ce document JSON est un exemple de réponse provenant de l'API des plans de SageMaker formation. Cette réponse fournit des informations sur plusieurs offres de plans d’entraînement disponibles qui répondent aux exigences de capacité spécifiées. Il comprend trois offres distinctes avec des durées, des frais initiaux et des start/end durées variables, qui utilisent toutes le même type d'instance et ciblent les tâches de formation.

```
{
    "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"
                }
            ]
        }
    ]
}
```

Voici un exemple de commande expliquant comment utiliser le AWS CLI pour rechercher des offres de plans de formation qui incluent 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"
                }
            ]
        }
    ]
}
```

Les sections suivantes définissent les paramètres de demande d’entrée obligatoires et facultatifs pour l’opération d’API `SearchTrainingPlanOfferings`.

## Paramètres requis
<a name="search-training-plan-options-required-params"></a>

Lorsque vous appelez l’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html) pour répertorier les offres de plans d’entraînement qui répondent à vos exigences, vous devez fournir les valeurs suivantes :
+ `TargetResources` : les ressources cibles (`training-job` ou `hyperpod-cluster`) pour lesquelles le plan sera utilisé. La valeur par défaut est `training-job`. Les plans d’entraînement sont spécifiques à la ressource cible.
  + Un plan de formation conçu pour des tâches de SageMaker formation ne peut être utilisé que pour planifier et exécuter des tâches de formation.
  + Un plan de formation pour les HyperPod clusters peut être utilisé exclusivement pour fournir des ressources de calcul au groupe d'instances d'un cluster.
+ `InstanceType` : type d’instance à provisionner. `InstanceType` doit être d’un type pris en charge. 

  Pour en savoir plus sur la liste des instances disponibles prises en charge par les plans de SageMaker formation, consultez[Types d'instances pris Régions AWS en charge et tarifs](reserve-capacity-with-training-plans.md#training-plans-supported-instances-and-regions).
+ `InstanceCount` : nombre d’instances à provisionner. Si le nombre d’instances est supérieur à 1, il doit être une puissance de 2.
+ `DurationHour` : durée totale du plan que vous avez demandé en heures. La valeur de `DurationHour` est arrondie au multiple de 24 le plus proche.

## Paramètres facultatifs
<a name="search-training-plan-options-optional-params"></a>

Les sections suivantes fournissent des détails sur certains paramètres facultatifs que vous pouvez transmettre à votre demande d’API `SearchTrainingPlanOfferings`.
+ `StartTimeAfter` : spécifiez l’horaire de début demandé du plan. `StartTimeAfter` doit être un élément `timestamp` ou une valeur `ISO 8601 date/time` dans le futur.
+ `EndTimeBefore` : spécifiez l’horaire de fin demandé du plan dans un élément `timestamp` ou un format `ISO 8601 date/time`. `EndTimeBefore` doit être au moins 24 heures après l’horaire de début.
+ `UltraServerType`: Spécifiez le type UltraServer à rechercher. Pour plus d'informations sur UltraServers, voir[UltraServers en SageMaker IA](reserve-capacity-with-training-plans.md#training-plans-ultraservers).
+ `UltraServerCount`: Spécifiez le nombre de UltraServers à rechercher.

# Réservation du meilleur plan d’entraînement
<a name="choose-best-training-plan-using-api-cli-sdk"></a>

Après avoir examiné les offres de plans d’entraînement disponibles qui répondent le mieux à vos exigences, vous pouvez réserver un plan spécifique en appelant l’opération d’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html). Une fois créé, le plan entre initialement dans un état `Pending` et y reste jusqu’à ce que le processus de réservation soit terminé. La réponse à l’appel d’API renvoie un Amazon Resource Name (ARN) de plan d’entraînement. Notez cet ARN à des fins ultérieures de suivi et de surveillance. La réservation du plan d’entraînement est effectuée de manière asynchrone dans le système dorsal. Le paiement du montant total est automatiquement collecté dans le cadre du processus de réalisation. Une fois que la transaction de paiement est terminée et que les capacités réservées demandées sont sécurisées, le plan d’entraînement passe à l’état `Scheduled` et est prêt pour la planification.

**Important**  
Les plans d’entraînement ne peuvent pas être modifiés une fois achetés.
Les plans de formation ne peuvent pas être partagés entre AWS comptes ou au sein de votre AWS organisation.

L'exemple suivant utilise la AWS CLI commande an pour demander un plan d'entraînement spécifique, en transmettant l'ID du plan en tant que paramètre.

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

Ce document JSON est un exemple de réponse provenant de l'API des plans de SageMaker formation. La réponse contient l’Amazon Resource Name (ARN) du plan d’entraînement qui a été créé avec succès.

**Note**  
Le plan d’entraînement conserve le statut `Pending` jusqu’à ce que le processus de réalisation soit terminé.

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

Les sections suivantes définissent les paramètres de demande d’entrée obligatoires et facultatifs pour l’opération d’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html).

## Paramètres requis
<a name="choose-best-training-plan-using-api-cli-sdk-required-params"></a>

Lorsque vous appelez l’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html) pour réserver un plan d’entraînement particulier, vous devez fournir les valeurs suivantes :
+ `TrainingPlanOfferingId` : ID du plan que vous choisissez. Vous pouvez extraire l’ID d’une offre de plan dans la réponse de votre appel d’API `SearchTrainingPlanOfferings`. Son format doit commencer par `pto-*`.
+ `TrainingPlanName` : nom du plan que vous créez. 

# Liste des plans d’entraînement
<a name="list-training-plans-using-api-cli-sdk"></a>

Vous pouvez répertorier tous les plans de formation créés dans votre AWS compte et dans votre région en appelant l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingPlans.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingPlans.html)API.

L'exemple suivant utilise une AWS CLI commande pour récupérer la liste de vos plans d'entraînement.

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

Ce document JSON est un exemple de réponse provenant de l'API des plans de SageMaker formation. La réponse fournit des détails sur un plan d’entraînement qui a été créé et réservé avec succès.

```
{
   "[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"
      }
   ]
}
```

Les sections suivantes fournissent des détails sur certains paramètres facultatifs que vous pouvez transmettre à votre demande d’API `ListTrainingPlans`.

## Paramètres facultatifs
<a name="list-training-plans-optional-params"></a>

Les sections suivantes fournissent des détails sur certains paramètres facultatifs que vous pouvez transmettre à votre demande d’API `ListTrainingPlans`.
+ `StartTimeAfter` : horaire de début de la plage de temps réelle des plans répertoriés, spécifié en tant qu’élément `timestamp` ou `ISO 8601 date/time`. 
+ `StartTimeBefore` : horaire de fin de la plage de temps réelle des plans répertoriés, spécifié en tant qu’élément `timestamp` ou `ISO 8601 date/time`. 
+ `Filters`: Critères utilisés pour filtrer les résultats, avec jusqu'à 5 paires nom-valeur où « Nom » est le nom d'un champ de a [TrainingPlanSummary](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanSummary.html)et « Valeur » est la valeur à prendre en compte pour le filtre. Par exemple `Name=Status,Value=Active`.

L'exemple suivant utilise une AWS CLI commande pour récupérer votre liste de plans d'entraînement, en utilisant certains des paramètres facultatifs décrits ci-dessus.

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

# Visualisation des détails d’un plan d’entraînement
<a name="training-plan-details-using-api-cli-sdk"></a>

Pour surveiller le statut ou extraire les détails d’un plan d’entraînement, vous pouvez utiliser l’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlan.html). La réponse de l’API inclut un champ `Status`, qui reflète l’état actuel du plan d’entraînement :
+ Si l’achat du plan échoue, le statut est défini sur `Failed`.
+ Une fois le paiement effectué, le statut passe de `Pending` à `Scheduled`, en fonction de la date de début du plan. 
+ Lorsque le plan atteint sa date de début, le statut passe à `Active`.
+ Pour les plans comportant plusieurs capacités réservées discontinues, le statut redevient `Scheduled` entre les périodes actives, jusqu’à la date de début de la capacité réservée suivante. 
+ Après la date de fin du plan, le statut devient `Expired`.

Une fois le statut atteint`Scheduled`, vous pouvez utiliser la capacité réservée dans le plan pour vos tâches de SageMaker formation ou vos charges de travail en HyperPod cluster.

**Note**  
Les tâches d’entraînement associées au plan conservent le statut `Pending` jusqu’à ce que le plan devienne `Active`. 
Pour les HyperPod clusters utilisant un plan de formation pour la capacité de calcul, le statut du groupe d'instances apparaît tel qu'il `InService` a été créé. 

L'exemple suivant utilise une AWS CLI commande pour récupérer les détails d'un plan d'entraînement par son nom.

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

Ce document JSON est un exemple de réponse provenant de l'API des plans de SageMaker formation. Cette réponse fournit des détails sur un plan d’entraînement qui a été créé avec succès.

```
      { 
         "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"
      }
```

La section suivante définit le paramètre de demande d’entrée obligatoire pour l’opération d’API `DescribeTrainingPlan`.

## Paramètres requis
<a name="training-plan-details-required-params"></a>
+ `TrainingPlanName` : nom du plan d’entraînement que vous voulez décrire.