

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.

# Fine-tune modèles de base accessibles au public avec la `JumpStartEstimator`classe
<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 [Fine-tune modèles de hub sélectionnés](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. Tout d'abord, trouvez l'identifiant du modèle de votre choix dans le [tableau Built-in des algorithmes avec 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 GPT-J 6B deHugging Face.

   ```
   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 base GPT-J 6B, qui convient à un large éventail de cas d'utilisation de génération de texte, notamment la réponse à 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))
```