

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.

# Peaufinage des modèles de fondation accessibles au public à l’aide de la classe `JumpStartEstimator`
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class"></a>

**Note**  
Pour obtenir des instructions sur le peaufinage des modèles de fondation dans un hub privé organisé, consultez [Peaufinage de modèles dans un hub organisé](jumpstart-curated-hubs-fine-tune.md).

Vous pouvez affiner un algorithme intégré ou un modèle préentraîné en quelques lignes de code à l'aide du SageMaker Python SDK.

1. Commencez par rechercher l’ID de modèle de votre choix dans le [tableau des algorithmes intégrés aux modèles pré-entraînés](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html). 

1. À l'aide de l'ID du modèle, définissez votre poste de formation en tant qu' JumpStartestimateur.

   ```
   from sagemaker.jumpstart.estimator import JumpStartEstimator
   
   model_id = {{"huggingface-textgeneration1-gpt-j-6b"}}
   estimator = JumpStartEstimator(model_id=model_id)
   ```

1. Exécutez `estimator.fit()` sur votre modèle en pointant vers les données d’entraînement à utiliser pour le peaufinage.

   ```
   estimator.fit(
       {"train": {{training_dataset_s3_path}}, "validation": {{validation_dataset_s3_path}}}
   )
   ```

1. Utilisez ensuite la méthode `deploy` pour déployer automatiquement votre modèle à des fins d’inférence. Dans cet exemple, nous utilisons le modèle Hugging Face GPT-J 6B.

   ```
   predictor = estimator.deploy()
   ```

1. Vous pouvez ensuite exécuter l’inférence avec le modèle déployé, à l’aide de la méthode `predict`.

   ```
   question = {{"What is Southern California often abbreviated as?"}}
   response = predictor.predict(question)
   print(response)
   ```

**Note**  
Cet exemple utilise le modèle de fondation GPT-J 6B, qui convient à un large éventail de cas d’utilisation de génération de texte, notamment les réponses à des questions, la reconnaissance d’entités nommées, la synthèse, etc. Pour plus d’informations sur les cas d’utilisation d’un modèle, consultez [Modèles de fondation disponibles](jumpstart-foundation-models-latest.md).

Vous pouvez éventuellement spécifier des versions de modèle ou des types d’instances lors de la création de votre `JumpStartEstimator`. Pour plus d'informations sur la `JumpStartEstimator ` classe et ses paramètres, consultez [JumpStartEstimator](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.estimator.JumpStartEstimator).

## Vérification de types d’instance par défaut
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-instance-types"></a>

Vous pouvez éventuellement inclure des versions de modèle ou des types d’instances spécifiques lorsque du peaufinage d’un modèle pré-entraîné à l’aide de la classe `JumpStartEstimator`. Tous les JumpStart modèles ont un type d'instance par défaut. Extrayez le type d’instance d’entraînement par défaut à l’aide du code suivant :

```
from sagemaker import instance_types

instance_type = instance_types.retrieve_default(
    model_id=model_id,
    model_version=model_version,
    scope={{"training"}})
print(instance_type)
```

Vous pouvez voir tous les types d'instances pris en charge pour un JumpStart modèle donné avec la `instance_types.retrieve()` méthode.

## Vérification d’hyperparamètres par défaut
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-hyperparameters"></a>

Pour vérifier les hyperparamètres par défaut utilisés pour l’entraînement, vous pouvez utiliser la méthode `retrieve_default()` de la classe `hyperparameters`.

```
from sagemaker import hyperparameters

my_hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version)
print(my_hyperparameters)

# Optionally override default hyperparameters for fine-tuning
my_hyperparameters["epoch"] = "3"
my_hyperparameters["per_device_train_batch_size"] = "4"

# Optionally validate hyperparameters for the model
hyperparameters.validate(model_id=model_id, model_version=model_version, hyperparameters=my_hyperparameters)
```

Pour plus d’informations sur les hyperparamètres disponibles, consultez [Hyperparamètres de peaufinage couramment pris en charge](jumpstart-foundation-models-fine-tuning.md#jumpstart-foundation-models-fine-tuning-hyperparameters).

## Vérification de définitions de métriques par défaut
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-metric-definitions"></a>

Vous pouvez également vérifier les définitions de métriques par défaut :

```
print(metric_definitions.retrieve_default(model_id=model_id, model_version=model_version))
```