

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à.

# Usa i modelli di base con l'SDK SageMaker Python
<a name="jumpstart-foundation-models-use-python-sdk"></a>

Tutti i modelli di JumpStart base sono disponibili per l'implementazione programmatica tramite l' SageMaker PythonSDK.

Per implementare modelli di fondazione disponibili al pubblico, puoi utilizzare il relativo ID del modello. Puoi trovare il modello IDs per tutti i modelli di base disponibili al pubblico nella tabella [degli algoritmi integrati con modelli preaddestrati](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html). Cerca il nome di un modello di fondazione nella barra di **ricerca**. Utilizza il menu a discesa **Mostra voci** o i controlli di paginazione per spostarti tra i modelli disponibili.

I modelli proprietari devono essere distribuiti utilizzando le informazioni del pacchetto del modello dopo la sottoscrizione al modello in Marketplace AWS. 

È possibile trovare l'elenco dei modelli JumpStart disponibili in. [Modelli di fondazione disponibili](jumpstart-foundation-models-latest.md)

**Importante**  
Alcuni modelli di fondazione richiedono l'accettazione esplicita di un contratto di licenza con l’utente finale (End User License Agreement, EULA). Per ulteriori informazioni, consulta [Accettazione dell'EULA con l'SDK SageMaker Python](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-python-sdk).

Le sezioni seguenti mostrano come eseguire il fine-tuning dei modelli di fondazione disponibili al pubblico utilizzando la classe `JumpStartEstimator`, implementare i modelli di fondazione disponibili al pubblico utilizzando la classe `JumpStartModel` e implementare i modelli di fondazione proprietari utilizzando la classe `ModelPackage`.

**Topics**
+ [Fine-tuning dei modelli di fondazione disponibili al pubblico con la classe `JumpStartEstimator`](jumpstart-foundation-models-use-python-sdk-estimator-class.md)
+ [Implementazione dei modelli di fondazione disponibili al pubblico con la classe `JumpStartModel`](jumpstart-foundation-models-use-python-sdk-model-class.md)
+ [Implementazione di modelli di fondazione proprietari con la classe `ModelPackage`](jumpstart-foundation-models-use-python-sdk-proprietary.md)

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

# Implementazione dei modelli di fondazione disponibili al pubblico con la classe `JumpStartModel`
<a name="jumpstart-foundation-models-use-python-sdk-model-class"></a>

Puoi implementare un algoritmo integrato o un modello pre-addestrato su un endpoint di SageMaker intelligenza artificiale 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 modello come modello. JumpStart 

   ```
   from sagemaker.jumpstart.model import JumpStartModel
   
   model_id = "huggingface-text2text-flan-t5-xl"
   my_model = JumpStartModel(model_id=model_id)
   ```

1. Utilizza il metodo `deploy` per implementare automaticamente il modello per l’inferenza. In questo esempio, utilizziamo il modello FLAN-T5 XL di Hugging Face.

   ```
   predictor = my_model.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 FLAN-T5 XL, adatto a un’ampia gamma di casi d’uso relativi alla generazione di testo, tra cui risposta a domande, riepilogo, creazione di chatbot e altro ancora. Per ulteriori informazioni sui casi d’uso dei modelli, consulta [Modelli di fondazione disponibili](jumpstart-foundation-models-latest.md).

Per ulteriori informazioni sulla `JumpStartModel ` classe e i relativi parametri, consultate [JumpStartModel](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.model.JumpStartModel).

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

Se lo desideri, durante l’implementazione di un modello preaddestrato puoi includere versioni di modello o tipi di istanza specifici utilizzando la classe `JumpStartModel`. 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="inference")
print(instance_type)
```

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

## Utilizzo dei componenti di inferenza per implementare più modelli su un endpoint condiviso
<a name="jumpstart-foundation-models-use-python-sdk-model-class-endpoint-types"></a>

Un componente di inferenza è un oggetto di hosting SageMaker AI che puoi utilizzare per distribuire uno o più modelli su un endpoint per aumentare la flessibilità e la scalabilità. È necessario modificare il `endpoint_type` JumpStart modello in modo che diventi l'endpoint predefinito inference-component-based basato sul modello. 

```
predictor = my_model.deploy(
    endpoint_name = 'jumpstart-model-id-123456789012', 
    endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED
)
```

Per ulteriori informazioni sulla creazione di endpoint con componenti di inferenza e sulla distribuzione SageMaker di modelli di intelligenza artificiale, consulta. [Utilizzo condiviso delle risorse con più modelli](realtime-endpoints-deploy-models.md#deployed-shared-utilization)

## Verifica dei formati di inferenza di input e output validi
<a name="jumpstart-foundation-models-use-python-sdk-model-class-input-output"></a>

Per verificare i formati di input e output dei dati validi per l’inferenza, puoi utilizzare il metodo `retrieve_options()` delle classi `Serializers` e `Deserializers`.

```
print(sagemaker.serializers.retrieve_options(model_id=model_id, model_version=model_version))
print(sagemaker.deserializers.retrieve_options(model_id=model_id, model_version=model_version))
```

## Verifica dei contenuti supportati e dei tipi di accettazione
<a name="jumpstart-foundation-models-use-python-sdk-model-class-content-types"></a>

Allo stesso modo, è possibile utilizzare il metodo `retrieve_options()` per verificare i contenuti supportati e i tipi di accettazione per un modello.

```
print(sagemaker.content_types.retrieve_options(model_id=model_id, model_version=model_version))
print(sagemaker.accept_types.retrieve_options(model_id=model_id, model_version=model_version))
```

[Per ulteriori informazioni sulle utilità, vedere Utility. APIs](https://sagemaker.readthedocs.io/en/stable/api/utility/index.html)

# Implementazione di modelli di fondazione proprietari con la classe `ModelPackage`
<a name="jumpstart-foundation-models-use-python-sdk-proprietary"></a>

I modelli proprietari devono essere distribuiti utilizzando le informazioni del pacchetto del modello dopo la sottoscrizione al modello in Marketplace AWS. Per ulteriori informazioni sull' SageMaker intelligenza artificiale e Marketplace AWS, consulta [Compra e vendi algoritmi e modelli di SageMaker intelligenza artificiale di Amazon in Marketplace AWS](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html). Per trovare Marketplace AWS i link ai modelli proprietari più recenti, consulta la pagina [Guida introduttiva ad Amazon SageMaker JumpStart](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=*all&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=*all&awsf.sagemaker-jumpstart-filter-RL=*all&sagemaker-jumpstart-cards.q=proprietary&sagemaker-jumpstart-cards.q_operator=AND).

Dopo esserti abbonato al modello che preferisci Marketplace AWS, puoi implementare il modello base utilizzando l' SageMaker PythonSDK e l'SDK associati al fornitore del modello. Ad esempio, AI21 Labs, Cohere e LightOn utilizzate rispettivamente i pacchetti`"ai21[SM]"`, `cohere-sagemaker` e. `lightonsage`

Ad esempio, per definire un JumpStart modello utilizzando Jurassic-2 Jumbo Instruct di AI21 Labs, usa il codice seguente: 

```
import sagemaker
import ai21

role = get_execution_role()
sagemaker_session = sagemaker.Session()
model_package_arn = "arn:aws:sagemaker:us-east-1:865070037744:model-package/j2-jumbo-instruct-v1-1-43-4e47c49e61743066b9d95efed6882f35"

my_model = ModelPackage(
    role=role, model_package_arn=model_package_arn, sagemaker_session=sagemaker_session
)
```

Ad step-by-step esempio, trovate ed eseguite il notebook associato al modello di base proprietario di vostra scelta in Studio Classic. SageMaker Per ulteriori informazioni, consulta [Usa i modelli di base in Amazon SageMaker Studio Classic](jumpstart-foundation-models-use-studio.md). Per ulteriori informazioni sull' SageMaker PythonSDK, consulta. [https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.model.ModelPackage](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.model.ModelPackage)