

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Fine-tuning dei modelli di fondazione disponibili al pubblico con la classe `JumpStartEstimator`
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class"></a>

**Nota**  
Per istruzioni su come eseguire il fine-tuning dei modelli di fondazione in un hub privato selezionato, consulta [Fine-tuning dei modelli di hub selezionati](jumpstart-curated-hubs-fine-tune.md).

Puoi perfezionare un algoritmo integrato o un modello pre-addestrato in poche righe di codice utilizzando l'SDK. SageMaker Python

1. Innanzitutto, trova l’ID del modello relativo al modello di tua scelta nella [tabella degli algoritmi integrati con modelli preaddestrati](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html). 

1. Utilizzando l'ID del modello, definisci il tuo lavoro di formazione come estimatore. JumpStart

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

1. Esegui `estimator.fit()` sul tuo modello, indicando i dati di addestramento da utilizzare per il fine-tuning.

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

1. Quindi, utilizza il metodo `deploy` per implementare automaticamente il modello per l’inferenza. In questo esempio, utilizziamo il modello GPT-J 6B di Hugging Face.

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

1. È quindi possibile eseguire l’inferenza con il modello implementato utilizzando il metodo `predict`.

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

**Nota**  
Questo esempio utilizza il modello di fondazione GPT-J 6B, adatto a un’ampia gamma di casi d’uso per la generazione di testo, tra cui la risposta a domande, il riconoscimento di entità denominate, il riepilogo e altro ancora. Per ulteriori informazioni sui casi d’uso dei modelli, consulta [Modelli di fondazione disponibili](jumpstart-foundation-models-latest.md).

Facoltativamente, puoi specificare le versioni del modello o i tipi di istanza durante la creazione del tuo `JumpStartEstimator`. Per ulteriori informazioni sulla `JumpStartEstimator ` classe e i relativi parametri, consultate [JumpStartEstimator](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.estimator.JumpStartEstimator).

## Controllo dei tipi di istanza predefiniti
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-instance-types"></a>

Se lo desideri, durante il fine-tuning di un modello preaddestrato puoi includere versioni di modello o tipi di istanza specifici utilizzando la classe `JumpStartEstimator`. Tutti i JumpStart modelli hanno un tipo di istanza predefinito. Recupera il tipo di istanza di implementazione predefinita utilizzando il seguente codice:

```
from sagemaker import instance_types

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

È possibile visualizzare tutti i tipi di istanza supportati per un determinato JumpStart modello con il `instance_types.retrieve()` metodo.

## Controllo degli iperparametri predefiniti
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-hyperparameters"></a>

Per controllare gli iperparametri predefiniti utilizzati per l’addestramento, puoi applicare il metodo `retrieve_default()` della 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)
```

Per ulteriori informazioni sugli iperparametri disponibili, consulta [iperparametri comunemente supportati per il fine-tuning](jumpstart-foundation-models-fine-tuning.md#jumpstart-foundation-models-fine-tuning-hyperparameters).

## Controllo delle definizioni delle metriche predefinite
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-metric-definitions"></a>

Puoi anche controllare le definizioni delle metriche predefinite:

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