

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

# Creare un processo AutoML per eseguire il fine-tuning di modelli di generazione di testo utilizzando l’API
<a name="autopilot-create-experiment-finetune-llms"></a>

I modelli linguistici di grandi dimensioni (LLMs) eccellono in molteplici attività generative, tra cui la generazione di testo, il riepilogo, il completamento, la risposta alle domande e altro ancora. Le loro prestazioni possono essere attribuite alle loro dimensioni significative e al vasto addestramento su diversi set di dati e varie attività. Tuttavia, domini specifici, come l'assistenza sanitaria e i servizi finanziari, possono richiedere un'ottimizzazione personalizzata per adattarsi a dati e casi d'uso univoci. Adattando la loro formazione al loro settore specifico, LLMs possono migliorare le loro prestazioni e fornire risultati più accurati per applicazioni mirate.

Autopilot offre la capacità di mettere a punto una selezione di modelli di testo generativi preaddestrati. In particolare, Autopilot supporta la messa a **punto basata su istruzioni di una selezione di modelli di linguaggio di grandi dimensioni** per uso generico () basati su. LLMs JumpStart

**Nota**  
I modelli di generazione di testo che supportano la regolazione fine in Autopilot sono attualmente accessibili esclusivamente nelle regioni supportate da Canvas. SageMaker Consulta la documentazione di SageMaker Canvas per l'elenco [completo](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) delle regioni supportate.

L'ottimizzazione di un modello già addestrato richiede un set di dati specifico di istruzioni chiare che guidino il modello su come generare risultati o comportarsi per quell'attività. Il modello impara dal set di dati, regolandone i parametri in base alle istruzioni fornite. Il fine-tuning basato su istruzioni implica l’utilizzo di esempi etichettati formattati come prompt, coppie di risposta e formulati come istruzioni. Per ulteriori informazioni sul fine-tuning, consulta la pagina relativa al [fine-tuning di un modello di fondazione](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-fine-tuning.html).

[Le seguenti linee guida descrivono il processo di creazione di un job Amazon SageMaker Autopilot come esperimento pilota per ottimizzare la generazione di testo utilizzando l'API Reference. LLMs SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)

**Nota**  
Attività come la classificazione di testo e immagini, la previsione di serie temporali e il fine-tuning di modelli linguistici di grandi dimensioni sono disponibili esclusivamente tramite la versione 2 della [REST API AutoML](autopilot-reference.md). Se il linguaggio che preferisci è Python, puoi fare riferimento [AWS SDK per Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)o direttamente all'[MLV2 oggetto Auto dell'SDK](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2) Amazon SageMaker Python.  
Gli utenti che preferiscono la comodità di un'interfaccia utente possono utilizzare [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) per accedere a modelli pre-addestrati e modelli di base di intelligenza artificiale generativa o creare modelli personalizzati su misura per testi specifici, classificazione delle immagini, esigenze di previsione o intelligenza artificiale generativa.

Per creare un esperimento Autopilot a livello di codice per la messa a punto di un LLM, puoi chiamare l'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)in qualsiasi lingua supportata da Amazon Autopilot o da. SageMaker AWS CLI

Per informazioni su come questa azione API si traduce in una funzione nella lingua preferita, consulta la sezione [Vedi anche](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) di `CreateAutoMLJobV2` e seleziona un SDK. Ad esempio, per gli utenti di Python, vedi la sintassi completa della richiesta di `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` in AWS SDK per Python (Boto3).

**Nota**  
Autopilot perfeziona modelli linguistici di grandi dimensioni senza richiedere l'addestramento e la valutazione di più candidati. Invece, utilizzando i tuoi set di dati, Autopilot perfeziona direttamente il modello di destinazione per migliorare un parametro oggettivo predefinito, la perdita di entropia incrociata. L'ottimizzazione dei modelli linguistici in Autopilot non richiede l'impostazione del campo `AutoMLJobObjective`.

Una volta eseguito in fine-tuning dell’LLM, è possibile valutarne le prestazioni accedendo a vari punteggi ROUGE tramite `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` durante una chiamata API `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`. Il modello fornisce anche informazioni sul suo addestramento e la sua convalida, sulla perdita e perplessità. Per un elenco completo dei parametri di valutazione della qualità del testo generato dai modelli messi a punto, consulta [Parametri per l'ottimizzazione di modelli linguistici di grandi dimensioni in Autopilot](autopilot-llms-finetuning-metrics.md).

## Prerequisiti
<a name="autopilot-llms-finetuning-api-prerequisites"></a>

Prima di utilizzare Autopilot per creare un esperimento di ottimizzazione dell'intelligenza artificiale, assicurati di eseguire i seguenti passaggi: SageMaker 
+ (Facoltativo) Scegli il modello preaddestrato che desideri perfezionare.

  Per l'elenco dei modelli preaddestrati disponibili per la messa a punto in SageMaker Amazon Autopilot, consulta. [Modelli linguistici di grandi dimensioni supportati per l'ottimizzazione](autopilot-llms-finetuning-models.md) *La selezione di un modello non è obbligatoria; se non viene specificato alcun modello, Autopilot passa automaticamente al modello Falcon7. BInstruct*
+ Creazione di un set di istruzioni. Consulta [Tipi di file del set di dati e formato dei dati di input](autopilot-llms-finetuning-data-format.md) per sapere di più sui requisiti di formato del tuo set di dati basato sulle istruzioni.
+ Inserisci il tuo set di dati in un bucket Amazon S3.
+ Concedi l'accesso completo al bucket Amazon S3 contenente i dati di input per il ruolo di esecuzione dell' SageMaker IA utilizzato per eseguire l'esperimento.
  + Per informazioni sul recupero del ruolo di esecuzione dell' SageMaker IA, consulta. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)
  + Per informazioni sulla concessione delle autorizzazioni per il ruolo di esecuzione SageMaker AI per accedere a uno o più bucket specifici in Amazon S3, consulta Aggiungere ulteriori *autorizzazioni Amazon S3* a un ruolo di esecuzione AI in. SageMaker [Crea ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-create-execution-role)
+ Inoltre, dovresti fornire al tuo ruolo di esecuzione le autorizzazioni necessarie per accedere al bucket di storage predefinito utilizzato da Amazon S3. JumpStart Questo accesso è necessario per archiviare e recuperare gli artefatti del modello pre-addestrati in. JumpStart Per concedere l'accesso a questo bucket Amazon S3, devi creare una nuova policy personalizzata in linea sul tuo ruolo di esecuzione.

  Ecco un esempio di policy che è possibile utilizzare nell’editor JSON durante la configurazione di processi di fine-tuning di AutoML in `us-west-2`:

  *JumpStarti nomi dei bucket seguono uno schema predeterminato che dipende da. Regioni AWS Di conseguenza è necessario modificare il nome del bucket.* 

  ```
  {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
          "s3:GetObject",
          "s3:PutObject",
          "s3:ListBucket"
      ],
      "Resource": [
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2",
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2/*"
      ]
  }
  ```

Fatto ciò, è possibile utilizzare l'ARN di questo ruolo di esecuzione nelle richieste API Autopilot.

## Parametri obbligatori
<a name="autopilot-llms-finetuning-api-required-params"></a>

Durante una chiamata a `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` per creare un esperimento Autopilot per il fine-tuning degli LLM, è necessario fornire i seguenti valori:
+ Un `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)` per specificare il nome del processo. Il nome deve essere di tipo `string` con una lunghezza minima di 1 carattere e una lunghezza massima di 32.
+ Almeno un `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` del tipo `training` incluso in `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`. Questo canale specifica il nome del bucket Amazon S3 in cui è archiviato il set di dati per l'ottimizzazione dei processi. Hai la possibilità di definire un canale `validation`. Se non viene fornito alcun canale di convalida e un `ValidationFraction` è configurato in [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html), questa frazione viene utilizzata per dividere casualmente il set di dati di addestramento in set di addestramento e convalida. Inoltre, per il set di dati è possibile specificare il tipo di contenuto (file CSV o Parquet).
+ Un `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` del tipo `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` per configurare le impostazioni del job di addestramento.

  In particolare, è possibile specificare il nome del modello base da ottimizzare nel campo `BaseModelName`. Per l'elenco dei modelli preaddestrati disponibili per la messa a punto in SageMaker Amazon Autopilot, consulta. [Modelli linguistici di grandi dimensioni supportati per l'ottimizzazione](autopilot-llms-finetuning-models.md)
+ Un `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` per specificare il percorso di output di Amazon S3 per archiviare gli artefatti del processo AutoML.
+ Un `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` per specificare l'ARN del ruolo utilizzato per accedere ai dati.

Di seguito è riportato un esempio del formato di richiesta completo utilizzato quando si effettua una chiamata API a `CreateAutoMLJobV2` per il fine-tuning di un modello (`Falcon7BInstruct`).

```
{
   "AutoMLJobName": "<job_name>",
   "AutoMLJobInputDataConfig": [ 
      { 
         "ChannelType": "training",
         "CompressionType": "None",
         "ContentType": "text/csv", 
         "DataSource": { 
            "S3DataSource": { 
               "S3DataType": "S3Prefix",
               "S3Uri": "s3://<bucket_name>/<input_data>.csv"
            }
         }
      }
   ],
  "OutputDataConfig": {
      "S3OutputPath": "s3://<bucket_name>/output",
      "KmsKeyId": "arn:aws:kms:<region>:<account_id>:key/<key_value>"
   },
   "RoleArn":"arn:aws:iam::<account_id>:role/<sagemaker_execution_role_name>",
   "AutoMLProblemTypeConfig": {
        "TextGenerationJobConfig": {
            "BaseModelName": "Falcon7BInstruct"
       }
   }
}
```

Tutti gli altri parametri sono facoltativi.

## Parametri facoltativi
<a name="autopilot-llms-finetuning-api-optional-params"></a>

Le sezioni seguenti forniscono dettagli su alcuni parametri facoltativi che è possibile passare al processo AutoML di ottimizzazione.

### Come specificare i set di dati di addestramento e convalida di un processo AutoML
<a name="autopilot-llms-finetuning-data-training-or-validation"></a>

È possibile fornire il proprio set di dati di convalida e un rapporto di suddivisione dei dati personalizzato oppure lasciare che Autopilot suddivida automaticamente il set di dati.

Ogni [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)oggetto (vedi il parametro obbligatorio [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)) ha un`ChannelType`, che può essere impostato su uno `training` o più `validation` valori che specificano come utilizzare i dati durante la creazione di un modello di apprendimento automatico.

È necessario fornire almeno un'origine dati ed è consentito un massimo di due origine dati: una per i dati di addestramento e una per i dati di convalida. Il modo in cui suddividere i dati in set di dati di addestramento e convalida dipende dalla presenza di una o due origine dati. 
+ Se disponi di **una origine dati**, `ChannelType` è impostato su `training` come impostazione predefinita e deve avere questo valore.
  + Se il valore `ValidationFraction` in [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) non è impostato, per impostazione predefinita viene utilizzato per la convalida lo 0,2 (20%) dei dati di questa origine. 
  + Se `ValidationFraction` è impostato su un valore compreso tra 0 e 1, il set di dati viene suddiviso in base al valore specificato, dove il valore specifica la frazione del set di dati utilizzata per la convalida.
+ Se si dispone di **due origini dati**, per impostazione predefinita il `ChannelType` di uno degli oggetti `AutoMLJobChannel` deve essere impostato su `training`. Il `ChannelType` dell'altra origine dati deve essere impostato su `validation`. Le due origine dati devono avere lo stesso formato, CSV o Parquet, e lo stesso schema. In questo caso non è necessario impostare `ValidationFraction` perché tutti i dati di ciascuna origine vengono utilizzati per l'addestramento o la convalida. L'impostazione di questo valore causa un errore.

### Come abilitare l'implementazione automatica
<a name="autopilot-llms-finetuning-auto-model-deployment"></a>

Autopilot consente di implementare automaticamente un modello ottimizzato con fine-tuning su un endpoint. Per abilitare l'implementazione automatica sul tuo modello ottimizzato, includi un `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` nella richiesta di processo di AutoML. Ciò consente l'implementazione del modello ottimizzato su un SageMaker endpoint di intelligenza artificiale. Di seguito sono riportate le configurazioni disponibili per la personalizzazione.
+ Per consentire ad Autopilot di generare il nome dell'endpoint, imposta `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` su `True`.
+ Per fornire il tuo nome per l'endpoint, imposta `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`.

### Come impostare l’accettazione dell’EULA durante il fine-tuning di un modello utilizzando l’API AutoML
<a name="autopilot-llms-finetuning-set-eula"></a>

Per i modelli che richiedono l’accettazione di un contratto di licenza con l’utente finale prima del fine-tuning, è possibile accettare l’EULA impostando l’attributo `AcceptEula` di `[ModelAccessConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelAccessConfig.html)` su `True` in `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` durante la configurazione di `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

### Come impostare gli iperparametri per ottimizzare il processo di apprendimento di un modello
<a name="autopilot-llms-finetuning-set-hyperparameters"></a>

È possibile ottimizzare il processo di apprendimento del modello di generazione del testo impostando i valori degli iperparametri nell’attributo `TextGenerationHyperParameters` di `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` durante la configurazione di `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Autopilot consente l’impostazione di quattro iperparametri comuni per tutti i modelli.
+ `epochCount`: il suo valore deve essere una stringa contenente un valore intero compreso nell’intervallo tra `1` e `10`.
+ `batchSize`: il suo valore deve essere una stringa contenente un valore intero compreso nell’intervallo tra `1` e `64`.
+ `learningRate`: il suo valore deve essere una stringa contenente un valore in virgola mobile compreso nell’intervallo tra `0` e `1`.
+ `learningRateWarmupSteps`: il suo valore deve essere una stringa contenente un valore intero compreso nell’intervallo tra `0` e `250`.

Per ulteriori dettagli su ciascun iperparametro, consulta [Iperparametri per ottimizzare il processo di apprendimento dei modelli di generazione di testo](autopilot-llms-finetuning-hyperparameters.md).

Il seguente esempio JSON mostra un `TextGenerationHyperParameters` campo passato al punto in TextGenerationJobConfig cui sono configurati tutti e quattro gli iperparametri.

```
"AutoMLProblemTypeConfig": {
  "TextGenerationJobConfig": {
    "BaseModelName": "Falcon7B",
    "TextGenerationHyperParameters": {"epochCount":"5", "learningRate":"0.000001", "batchSize": "32", "learningRateWarmupSteps": "10"}
  }
}
```

# Modelli linguistici di grandi dimensioni supportati per l'ottimizzazione
<a name="autopilot-llms-finetuning-models"></a>

Utilizzando l'API Autopilot, gli utenti possono perfezionare modelli linguistici di grandi dimensioni (LLMs) basati su Amazon. SageMaker JumpStart

**Nota**  
Per i modelli ottimizzati con fine-tuning che richiedono l’accettazione di un contratto di licenza con l’utente finale, è necessario dichiarare esplicitamente l’accettazione dell’EULA durante la creazione del processo AutoML. Dopo il fine-tuning di un modello preaddestrato, i pesi del modello originale cambiano, quindi non è necessario accettare successivamente un EULA quando si implementa il modello ottimizzato con fine-tuning.  
Per informazioni su come accettare l’EULA durante la creazione di un processo di fine-tuning utilizzando l’API AutoML, consulta [Come impostare l’accettazione dell’EULA durante il fine-tuning di un modello utilizzando l’API AutoML](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-eula).

**Puoi trovare i dettagli completi di ogni modello cercando il tuo Model **ID nella seguente [tabella](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table) dei JumpStart modelli** e poi seguendo il link nella colonna Source.** Questi dettagli possono includere i linguaggi supportati dal modello, i bias che può presentare, i set di dati utilizzati per il fine-tuning e altro ancora.

La tabella seguente elenca i JumpStart modelli supportati che è possibile ottimizzare con un job AutoML.


| JumpStart ID del modello | `BaseModelName` in richiesta API | Description | 
| --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B |  Dolly 3B è un modello linguistico di grandi dimensioni che segue istruzioni da 2,8 miliardi di parametri ed è basato su [pythia-2.8b](https://huggingface.co/EleutherAI/pythia-2.8b#pythia-28b). È addestrato sul set di dati di ottimizzazione instruction/response fine [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) e può eseguire attività tra cui brainstorming, classificazione, domande e risposte, generazione di testo, estrazione di informazioni e riepilogo.  | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B |  Dolly 7B è un modello linguistico di grandi dimensioni che segue istruzioni da 6,9 miliardi di parametri ed è basato su [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b). È addestrato sul set di dati di ottimizzazione instruction/response fine [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) e può eseguire attività tra cui brainstorming, classificazione, domande e risposte, generazione di testo, estrazione e riepilogo di informazioni.  | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B |  Dolly 12B è un modello linguistico di grandi dimensioni che segue istruzioni da 12 miliardi di parametri ed è basato su [pythia-12b](https://huggingface.co/EleutherAI/pythia-12b). È addestrato sul set di dati di ottimizzazione instruction/response fine [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) e può eseguire attività tra cui brainstorming, classificazione, domande e risposte, generazione di testo, estrazione e riepilogo di informazioni.  | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B |  Falcon 7B è un modello linguistico di grandi dimensioni causale da 7 miliardi di parametri ed è addestrato su 1.500 miliardi di token migliorati con corpora curati. Falcon-7B è addestrato solo su dati in inglese e francese e non si generalizza in modo appropriato ad altre lingue. Poiché il modello è stato addestrato su grandi quantità di dati web, include gli stereotipi e i bias comunemente presenti online.  | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct |  Falcon 7B Instruct è un ampio modello di linguaggio causale da 7 miliardi di parametri basato su Falcon 7B e ottimizzato su una combinazione di set di dati da 250 milioni di token. chat/instruct Falcon 7B Instruct è addestrato principalmente su dati in inglese e non si generalizza in modo appropriato ad altre lingue. Inoltre, essendo addestrato su corpora su vasta scala rappresentativi del web, include gli stereotipi e i bias comunemente presenti online.  | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B |  Falcon 40B è un modello linguistico di grandi dimensioni causale da 40 miliardi di parametri ed è addestrato su 1.000 miliardi di token migliorati con corpora curati. È addestrato principalmente in inglese, tedesco, spagnolo e francese, con capacità limitate in italiano, portoghese, polacco, olandese, rumeno, ceco e svedese. Non si generalizza in modo appropriato ad altre lingue. Inoltre, essendo addestrato su corpora su vasta scala rappresentativi del web, include gli stereotipi e i bias comunemente presenti online.  | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct |  Falcon 40B Instruct è un modello linguistico di grandi dimensioni causale da 40 miliardi di parametri basato su Falcon40B e ottimizzato con fine-tuning su una combinazione di Baize. È addestrato principalmente su dati in inglese e francese e non si generalizza in modo appropriato ad altre lingue. Inoltre, essendo addestrato su corpora su vasta scala rappresentativi del web, include gli stereotipi e i bias comunemente presenti online.   | 
| huggingface-text2text-flan-t5-large | FlanT5L |  La famiglia di modelli [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) è costituita da un insieme di modelli linguistici di grandi dimensioni. Questo modelli sono ottimizzati con fine-tuning su molteplici attività e possono essere ulteriormente addestrati. I modelli sono adatti per attività quali la traduzione linguistica, la generazione di testi, il completamento di frasi, la disambiguazione del senso delle parole, il riepilogo o la risposta a domande. Flan T5 L è un modello linguistico di grandi dimensioni da 780 milioni di parametri addestrato su varie lingue. [Puoi trovare l'elenco delle lingue supportate da Flan T5 L nei dettagli del modello recuperati dalla ricerca per ID del modello nella tabella dei modelli. JumpStart](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| huggingface-text2text-flan-t5-xl | FlanT5XL |  La famiglia di modelli [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) è costituita da un insieme di modelli linguistici di grandi dimensioni. Questo modelli sono ottimizzati con fine-tuning su molteplici attività e possono essere ulteriormente addestrati. I modelli sono adatti per attività quali la traduzione linguistica, la generazione di testi, il completamento di frasi, la disambiguazione del senso delle parole, il riepilogo o la risposta a domande. Flan T5 XL è un modello linguistico di grandi dimensioni da 3 miliardi di parametri addestrato su varie lingue. [Puoi trovare l'elenco delle lingue supportate da Flan T5 XL nei dettagli del modello recuperati dalla ricerca per ID del modello nella tabella dei modelli. JumpStart](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL |  La famiglia di modelli [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) è costituita da un insieme di modelli linguistici di grandi dimensioni. Questo modelli sono ottimizzati con fine-tuning su molteplici attività e possono essere ulteriormente addestrati. I modelli sono adatti per attività quali la traduzione linguistica, la generazione di testi, il completamento di frasi, la disambiguazione del senso delle parole, il riepilogo o la risposta a domande. Flan T5 XXL è un modello da 11 miliardi di parametri. [Puoi trovare l'elenco delle lingue supportate da Flan T5 XXL nei dettagli del modello recuperati dalla ricerca per ID del modello nella tabella dei modelli. JumpStart](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| meta-textgeneration-llama-2-7b | Llama2-7B |  Llama 2 è una raccolta di modelli di testo generativi preaddestrati e ottimizzati con fine-tuning, compresi nell’intervallo tra 7 miliardi e 70 miliardi di parametri. Llama2-7B è il modello da 7 miliardi di parametri destinato all’uso in inglese e può essere adattato a una serie di attività di generazione del linguaggio naturale.  | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat |  Llama 2 è una raccolta di modelli di testo generativi preaddestrati e ottimizzati con fine-tuning, compresi nell’intervallo tra 7 miliardi e 70 miliardi di parametri. Llama2-7B è il modello di chat da 7 miliardi di parametri ottimizzato per i casi d’uso di dialogo.  | 
| meta-textgeneration-llama-2-13b | Llama2-13B |  Llama 2 è una raccolta di modelli di testo generativi preaddestrati e ottimizzati con fine-tuning, compresi nell’intervallo tra 7 miliardi e 70 miliardi di parametri. Llama2-13B è il modello da 13 miliardi di parametri destinato all’uso in inglese e può essere adattato a una serie di attività di generazione del linguaggio naturale.  | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat |  Llama 2 è una raccolta di modelli di testo generativi preaddestrati e ottimizzati con fine-tuning, compresi nell’intervallo tra 7 miliardi e 70 miliardi di parametri. Llama2-13B è il modello di chat da 13 miliardi di parametri ottimizzato per i casi d’uso di dialogo.  | 
| huggingface-llm-mistral-7b | Mistral7B |  Mistral 7B è un codice da sette miliardi di parametri e un modello generico di generazione di testi in inglese. Può essere utilizzato in numerosi casi d’uso, tra cui sintesi testuale, classificazione, completamento del testo o completamento del codice.  | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct |  Mistral 7B Instruct è la versione ottimizzata con fine-tuning di Mistral 7B per casi d’uso conversazionali. È stato specializzato utilizzando una serie di set di dati conversazionali pubblicamente disponibili in inglese.  | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B |  MPT 7B è un modello linguistico di grandi dimensioni con trasformatore in stile decoder da 6,7 miliardi di parametri, preaddestrato da zero su 1 trilione di token di testo e codice in inglese. È predisposto per gestire lunghe sequenze di contesto.  | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct |  MPT 7B Instruct è un modello per attività di esecuzione di istruzioni brevi. È stato realizzato eseguendo il fine-tuning di MPT 7B su un set di dati derivato da [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) e dai set di dati di [Anthropic Helpful and Harmless (HH-RLHF)](https://huggingface.co/datasets/Anthropic/hh-rlhf).  | 

# Tipi di file del set di dati e formato dei dati di input
<a name="autopilot-llms-finetuning-data-format"></a>

La messa a punto basata sulle istruzioni utilizza set di dati etichettati per migliorare le prestazioni di quelli già addestrati su specifiche attività di elaborazione del linguaggio naturale (NLP). LLMs Gli esempi etichettati sono formattati come coppie prompt-risposta e formulati come istruzioni.



Per ulteriori informazioni sui tipi di file di set di dati supportati, vedere [Tipi di file di set di dati supportati](#autopilot-llms-finetuning-dataset-format).

Per ulteriori informazioni sul formato dei dati di input, vedere [Formato dei dati di input per l'ottimizzazione basata sulle istruzioni](#autopilot-llms-finetuning-input-format).

## Tipi di file di set di dati supportati
<a name="autopilot-llms-finetuning-dataset-format"></a>

Autopilot supporta set di dati con fine-tuning basato su istruzioni formattati come file CSV (impostazione predefinita) o come file Parquet.
+ **CSV** (Comma-Separated Values) è un formato di file basato su righe che archivia i dati in testo semplice leggibile dall’utente, una scelta diffusa per lo scambio di dati, poiché supportato da un’ampia gamma di applicazioni.
+ **Parquet** è un formato di file binario basato su colonne in cui i dati vengono archiviati ed elaborati in modo più efficiente rispetto ai formati di file leggibili dall’utente, ad esempio CSV. Ciò lo rende un’opzione migliore per i problemi relativi ai big data.

**Nota**  
Il set di dati può essere costituito da più file, ognuno dei quali deve aderire a un modello specifico. Per informazioni su come formattare i dati di input, vedi [Formato dei dati di input per l'ottimizzazione basata sulle istruzioni](#autopilot-llms-finetuning-input-format).

## Formato dei dati di input per l'ottimizzazione basata sulle istruzioni
<a name="autopilot-llms-finetuning-input-format"></a>

Ogni file del set di dati deve soddisfare il seguente formato:
+ Il set di dati deve contenere esattamente due colonne separate da virgole e denominate `input` e `output`. Autopilot non consente colonne aggiuntive. 
+ Le colonne `input` contengono i prompt e le corrispondenti `output` contengono la risposta prevista . Sia `input` che `output` sono in formato stringa.

L'esempio seguente illustra il formato dei dati di input per l'ottimizzazione in Autopilot basata sulle istruzioni.

```
input,output
"<prompt text>","<expected generated text>"
```

**Nota**  
Si consiglia di utilizzare set di dati con un minimo di 1000 righe per garantire l'apprendimento e le prestazioni ottimali del modello.

Inoltre, Autopilot imposta un limite massimo al numero di righe nel set di dati e alla lunghezza del contesto in base al tipo di modello utilizzato.
+ I limiti al numero di righe in un set di dati si applicano al conteggio cumulativo delle righe su tutti i file all’interno del set di dati, inclusi file multipli. Se sono definiti due [tipi di canale](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) (uno per l’addestramento e uno per la convalida), il limite si applica al numero totale di righe su tutti i set di dati in entrambi i canali. Quando il numero di righe supera la soglia, il processo fallisce con un errore di convalida.
+ Quando la lunghezza dell'input o dell'output di una riga nel set di dati supera il limite impostato nel contesto del modello linguistico, viene automaticamente troncata. Se più del 60% delle righe del set di dati vengono troncate, sia di input che di output, Autopilot fallisce il processo con un errore di convalida.

La tabella seguente presenta tali limiti per ogni modello.


| JumpStart ID del modello | `BaseModelName` in richiesta API | Limite di righe | Limite di lunghezza del contesto | 
| --- | --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B | 10.000 righe | 1.024 token | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B | 10.000 righe | 1.024 token | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B | 10.000 righe | 1.024 token | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B | 1.000 righe | 1.024 token | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct | 1.000 righe | 1.024 token | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B | 10.000 righe | 1.024 token | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct | 10.000 righe | 1.024 token | 
| huggingface-text2text-flan-t5-large | FlanT5L | 10.000 righe | 1.024 token | 
| huggingface-text2text-flan-t5-xl | FlanT5XL | 10.000 righe | 1.024 token | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL | 10.000 righe | 1.024 token | 
| meta-textgeneration-llama-2-7b | Llama2-7B | 10.000 righe | 2048 token | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat | 10.000 righe | 2048 token | 
| meta-textgeneration-llama-2-13b | Llama2-13B | 7.000 righe | 2048 token | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat | 7.000 righe | 2048 token | 
| huggingface-llm-mistral-7b | Mistral7B | 10.000 righe | 2048 token | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct | 10.000 righe | 2048 token | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B | 10.000 righe | 1.024 token | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct | 10.000 righe | 1.024 token | 

# Iperparametri per ottimizzare il processo di apprendimento dei modelli di generazione di testo
<a name="autopilot-llms-finetuning-hyperparameters"></a>

È possibile ottimizzare il processo di apprendimento del modello di base regolando qualsiasi combinazione dei seguenti iperparametri. Questi parametri sono ora disponibili per tutti i modelli.
+ **Conteggio di epoch**: l’iperparametro `epochCount` determina quante volte il modello analizza l’intero set di dati di addestramento. Influisce sulla durata dell’addestramento e può prevenire l’overfitting se impostato in modo appropriato. Un numero elevato di epoch può aumentare la durata complessiva dei processi di fine-tuning. È consigliabile impostare un valore ampio di `MaxAutoMLJobRuntimeInSeconds` in `CompletionCriteria` di `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` per evitare che i processi di fine-tuning si interrompano prematuramente.
+ **Dimensione del batch**: l’iperparametro `batchSize` definisce il numero di campioni di dati utilizzati in ogni iterazione dell’addestramento. Può influire sulla velocità di convergenza e sull’utilizzo della memoria. Con batch di grandi dimensioni, aumenta il rischio di errori di memoria esaurita, che possono manifestarsi come un errore interno del server in Autopilot. Per verificare la presenza di tale errore, è possibile controllare nel gruppo di log `/aws/sagemaker/TrainingJobs` eventuali job di addestramento avviati dal job di Autopilot. È possibile accedere a tali registri CloudWatch dalla console di AWS gestione. Scegli **Log** e quindi il **gruppo di log** `/aws/sagemaker/TrainingJobs`. Per correggere gli errori di memoria esaurita, riduci la dimensione del batch.

  È consigliabile iniziare con una dimensione del batch pari a 1, quindi aumentarla in modo incrementale fino a quando non si verifica un errore di memoria esaurita. Come riferimento, il completamento di 10 epoch richiede in genere fino a 72 ore.
+ **Tasso di apprendimento**: l’iperparametro `learningRate` controlla la dimensione del passaggio con cui i parametri di un modello vengono aggiornati durante l’addestramento. Determina quanto la velocità con cui i parametri del modello vengono aggiornati durante l’addestramento. Un tasso di apprendimento elevato significa che i parametri vengono aggiornati con un passaggio significativo, il che può portare a una convergenza più rapida, ma può anche far sì che il processo di ottimizzazione superi la soluzione ottimale e diventi instabile. Un tasso di apprendimento ridotto significa che i parametri vengono aggiornati con un passaggio minore, il che può portare a una convergenza più stabile, ma con l’inconveniente di un apprendimento più lento.
+ **Fasi di riscaldamento del tasso di apprendimento**: l’`learningRateWarmupSteps`iperparametro specifica il numero di fasi di allenamento durante le quali il tasso di apprendimento aumenta gradualmente prima di raggiungere il valore di destinazione o massimo. Ciò consente al modello una convergenza più efficace, evitando problemi come divergenza o convergenza lenta che possono verificarsi con un tasso di apprendimento inizialmente elevato.

Per sapere di più su come regolare gli iperparametri per un esperimento di fine-tuning in Autopilot e scoprirne i possibili valori, consulta [Come impostare gli iperparametri per ottimizzare il processo di apprendimento di un modello](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-hyperparameters).

# Parametri per l'ottimizzazione di modelli linguistici di grandi dimensioni in Autopilot
<a name="autopilot-llms-finetuning-metrics"></a>

La sezione seguente descrive le metriche che è possibile utilizzare per comprendere i modelli di linguaggio di grandi dimensioni ottimizzati (). LLMs Utilizzando un set di dati, Autopilot esegue direttamente il fine-tuning di un LLM di destinazione per migliorare una metrica oggettiva predefinita, la perdita di entropia incrociata.

La perdita di entropia incrociata è un parametro ampiamente utilizzato per valutare la differenza tra la distribuzione di probabilità prevista e la distribuzione effettiva delle parole nei dati di addestramento. Riducendo al minimo la perdita di entropia incrociata, il modello impara a fare previsioni più accurate e contestualmente pertinenti, in particolare nelle attività relative alla generazione di testo.

Dopo aver ottimizzato con fine-tuning un LLM, è possibile valutare la qualità del testo generato utilizzando una serie di punteggi ROUGE. Inoltre, è possibile analizzare le perplessità e le perdite di addestramento e convalida tra entropia incrociata come parte del processo di valutazione.
+ La perdita di perplessità misura la capacità del modello di prevedere la parola successiva in una sequenza di testo, mentre valori più bassi indicano una migliore comprensione della lingua e del contesto. 
+ Recall-Oriented Understudy for Gisting Evaluation (ROUGE) è un insieme di metriche utilizzate nel campo dell’elaborazione del linguaggio naturale (NLP) e del machine learning per valutare la qualità del testo generato automaticamente, come la sintesi testuale o la generazione di testo. Valuta principalmente le somiglianze tra il testo generato e il testo di riferimento (scritto dall’utente) di un set di dati di convalida. Le misure di ROUGE sono progettate per valutare vari aspetti della somiglianza del testo, tra cui la precisione e il richiamo degli n-grammi (sequenze di parole contigue) nei testi generati dal sistema e di riferimento. L'obiettivo è valutare la capacità di un modello di catturare le informazioni presenti nel testo di riferimento.

  Esistono diverse varianti di metriche ROUGE, a seconda del tipo di n-grammi utilizzati e degli aspetti specifici della qualità del testo da valutare.

  L’elenco seguente contiene il nome e la descrizione delle metriche ROUGE disponibili dopo il fine-tuning di modelli linguistici di grandi dimensioni in Autopilot.  
**`ROUGE-1`, `ROUGE-2`**  
ROUGE-N, la metrica ROUGE primaria, misura la sovrapposizione di n-grammi tra i testi generati dal sistema e quelli di riferimento. È possibile regolare ROUGE-N su diversi valori di `n` (qui `1` o `2`) per valutare il modo in cui il testo generato dal sistema acquisisce gli n-grammi dal testo di riferimento.  
**`ROUGE-L`**  
ROUGE-L (ROUGE-Longest Common Subsequence) calcola la sottosequenza comune più lunga tra il testo generato dal sistema e il testo di riferimento. Questa variante considera l'ordine delle parole oltre alla sovrapposizione dei contenuti.  
**`ROUGE-L-Sum`**  
ROUGE-L-SUM (Longest Common Subsequence for Summarization) è progettato per la valutazione di sistemi di sintesi testuale. Si concentra sulla misurazione della sottosequenza comune più lunga tra il riepilogo generato automaticamente e il riepilogo di riferimento. ROUGE-L-SUM tiene conto dell’ordine delle parole nel testo, importante nelle attività di sintesi testuale.

# Implementazione e previsioni del modello Autopilot
<a name="autopilot-llms-finetuning-deploy-models"></a>

Dopo aver eseguito il fine-tuning di un modello linguistico di grandi dimensioni (LLM), è possibile implementare il modello per la generazione di testo in tempo reale configurando un endpoint per ottenere previsioni interattive.

**Nota**  
Ti consigliamo di eseguire lavori di inferenza in tempo reale per migliorare le prestazioni `ml.g5.12xlarge`. In alternativa, le istanze `ml.g5.8xlarge` sono adatte per le attività di generazione di testo con Falcon-7B-Instruct e MPT-7B-Instruct.  
È possibile trovare le specifiche di queste istanze nella categoria [Elaborazione accelerata](https://aws.amazon.com/ec2/instance-types/) nella selezione dei tipi di istanza forniti da Amazon EC2.

## Generazione di testo in tempo reale
<a name="autopilot-llms-finetuning-realtime"></a>

Puoi utilizzarlo SageMaker APIs per distribuire manualmente il tuo modello ottimizzato su un endpoint di [inferenza in tempo reale con SageMaker AI Hosting, quindi iniziare a fare previsioni richiamando l'endpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html) come segue.

**Nota**  
In alternativa, quando crei il tuo esperimento di ottimizzazione in Autopilot, puoi scegliere l'opzione di implementazione automatica. Per informazioni sulla configurazione dell'implementazione automatica dei modelli, consulta [Come abilitare l'implementazione automatica](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-auto-model-deployment).   
Puoi anche usare SageMaker Python SDK e la `JumpStartModel` classe per eseguire inferenze con modelli ottimizzati da Autopilot. Ciò può essere fatto specificando una posizione personalizzata per l'artefatto del modello in Amazon S3. [Per informazioni sulla definizione del modello come modello e sulla distribuzione del modello per l'inferenza, JumpStart consulta Distribuzione a basso codice con la classe. JumpStartModel ](https://sagemaker.readthedocs.io/en/stable/overview.html#deploy-a-pre-trained-model-directly-to-a-sagemaker-endpoint)

1. **Ottieni le definizioni di container di inferenza candidati**

   [Puoi trovarlo `InferenceContainerDefinitions` all'interno dell'`BestCandidate`oggetto recuperato dalla risposta alla chiamata API V2. DescribeAuto MLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#API_DescribeAutoMLJobV2_ResponseSyntax) Una definizione di container per inferenza si riferisce all'ambiente containerizzato progettato per implementare ed eseguire il modello addestrato per fare previsioni.

   Il seguente esempio di AWS CLI comando utilizza l'API [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) per ottenere le definizioni di contenitore consigliate per il nome del processo.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **Crea un modello di SageMaker intelligenza artificiale**

   Utilizza le definizioni dei contenitori del passaggio precedente per creare un modello di SageMaker intelligenza artificiale utilizzando l'[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API. Vedi il AWS CLI comando seguente come esempio. Utilizza il `CandidateName` come nome del modello.

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --primary-container '<container-definition' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **Creare una configurazione endpoint**

   Il seguente esempio di AWS CLI comando utilizza l'[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API per creare una configurazione dell'endpoint.
**Nota**  
Per evitare che la creazione dell'endpoint scada a causa di un lungo download del modello, consigliamo di impostare `ModelDataDownloadTimeoutInSeconds = 3600`e `ContainerStartupHealthCheckTimeoutInSeconds = 3600`.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' ModelDataDownloadTimeoutInSeconds=3600 ContainerStartupHealthCheckTimeoutInSeconds=3600 \
                       --region '<region>'
   ```

1. **Creare l'endpoint** 

   L' AWS CLI esempio seguente utilizza l'[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API per creare l'endpoint.

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   Controlla lo stato di avanzamento della distribuzione degli endpoint utilizzando l'[DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API. Vedi il AWS CLI comando seguente come esempio.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   Dopo che `EndpointStatus` cambia in `InService`, l'endpoint è pronto per l'uso per l'inferenza in tempo reale.

1. **Richiamare l'endpoint** 

   Il seguente comando richiama l'endpoint per l'inferenza in tempo reale. Il prompt deve essere codificato in byte.
**Nota**  
Il formato del prompt di input dipende dal modello linguistico. Per ulteriori informazioni sul formato dei prompt per la generazione di testo, consulta [Formato di richiesta per l’inferenza in tempo reale dei modelli di generazione di testo](#autopilot-llms-finetuning-realtime-prompt-examples). 

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-promt-in-bytes>' [--content-type] 'application/json' <outfile>
   ```

## Formato di richiesta per l’inferenza in tempo reale dei modelli di generazione di testo
<a name="autopilot-llms-finetuning-realtime-prompt-examples"></a>

Diversi modelli di linguaggio di grandi dimensioni (LLMs) possono avere dipendenze software, ambienti di runtime e requisiti hardware specifici che influiscono sul contenitore consigliato da Autopilot per ospitare il modello per l'inferenza. Inoltre, ogni modello determina il formato dei dati di input richiesto e il formato previsto per le previsioni e gli output.

Ecco alcuni esempi di input per alcuni modelli e container consigliati.
+ Per i modelli Falcon con il container consigliato `huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04`:

  ```
  payload = {
      "inputs": "Large language model fine-tuning is defined as",
      "parameters": {
          "do_sample": false,
          "top_p": 0.9,
          "temperature": 0.1,
          "max_new_tokens": 128,
          "stop": ["<|endoftext|>", "</s>"]
      }
  }
  ```
+ Per tutti gli altri modelli con il container consigliato `djl-inference:0.22.1-fastertransformer5.3.0-cu118`:

  ```
  payload= {
      "text_inputs": "Large language model fine-tuning is defined as"
  }
  ```