

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

# 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"
  }
  ```