

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Predicciones e implementación de modelos en Piloto automático
<a name="autopilot-llms-finetuning-deploy-models"></a>

Tras refinar un modelo de lenguaje de gran tamaño (LLM), puede implementar el modelo para la generación de texto en tiempo real configurando un punto de conexión para obtener predicciones interactivas.

**nota**  
Recomendamos ejecutar los trabajos de inferencia en tiempo real en `ml.g5.12xlarge` para obtener un mejor rendimiento. Como alternativa, las instancias `ml.g5.8xlarge` son adecuadas para las tareas de generación de texto Falcon-7B-Instruct y MPT-7B-Instruct.  
Puede encontrar información detallada sobre estas instancias en la categoría [Computación acelerada](https://aws.amazon.com/ec2/instance-types/), en la selección de tipos de instancias suministrada por Amazon EC2.

## Generación de texto en tiempo real
<a name="autopilot-llms-finetuning-realtime"></a>

Puede utilizarla SageMaker APIs para implementar manualmente su modelo ajustado en un punto final de [inferencia en tiempo real de SageMaker AI Hosting y, a continuación, empezar a hacer predicciones invocando el punto final](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html) de la siguiente manera.

**nota**  
Como alternativa, puede elegir la opción de implementación automática al crear el experimento de ajuste en Piloto automático. Para obtener más información sobre cómo configurar la implementación automática de modelos, consulte [Cómo habilitar la implementación automática](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-auto-model-deployment).   
También puedes usar el SDK de SageMaker Python y la `JumpStartModel` clase para realizar inferencias con modelos ajustados por el piloto automático. Para ello, especifique una ubicación personalizada para el artefacto del modelo en Amazon S3. Para obtener información sobre cómo definir su modelo como JumpStart modelo y cómo implementarlo para la inferencia, consulte Implementación de código [bajo con](https://sagemaker.readthedocs.io/en/stable/overview.html#deploy-a-pre-trained-model-directly-to-a-sagemaker-endpoint) la clase. JumpStartModel 

1. **Obtener las definiciones del contenedor de inferencias candidato**

   Puedes encontrarlo `InferenceContainerDefinitions` dentro del `BestCandidate` objeto recuperado de la respuesta a la llamada a la API de la [DescribeAutoMLJobversión 2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#API_DescribeAutoMLJobV2_ResponseSyntax). Una definición de contenedor para inferencias hace referencia al entorno contenerizado que se ha diseñado para implementar y ejecutar el modelo entrenado a fin de realizar predicciones.

   El siguiente ejemplo de AWS CLI comando usa la API [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) para obtener las definiciones de contenedor recomendadas para el nombre de tu trabajo.

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

1. **Cree un modelo de SageMaker IA**

   Utilice las definiciones de contenedor del paso anterior para crear un modelo de SageMaker IA mediante la [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API. Consulte el siguiente AWS CLI comando como ejemplo. Use `CandidateName` como nombre para el modelo.

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

1. **Crear la configuración de un punto de conexión**

   El siguiente ejemplo de AWS CLI comando usa la [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API para crear una configuración de punto final.
**nota**  
Para evitar que se agote el tiempo de creación del punto de conexión debido a una descarga prolongada del modelo, es recomendable configurar `ModelDataDownloadTimeoutInSeconds = 3600` y `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. **Crear el punto de conexión** 

   En el siguiente AWS CLI ejemplo, se utiliza la [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API para crear el punto final.

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

   Compruebe el progreso de la implementación de su punto final mediante la [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API. Consulte el siguiente AWS CLI comando como ejemplo.

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

   Cuando `EndpointStatus` cambie a `InService`, el punto de conexión estará listo para usarse en la inferencia en tiempo real.

1. **Invocar al punto de conexión** 

   El siguiente comando invoca al punto de conexión para realizar inferencias en tiempo real. El mensaje debe estar codificado en bytes.
**nota**  
El formato de la solicitud de entrada depende del modelo de idioma. Para obtener más información sobre el formato de las solicitudes de generación de texto, consulte [Formato de solicitud para la inferencia en tiempo real de modelos de generación de texto](#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 de solicitud para la inferencia en tiempo real de modelos de generación de texto
<a name="autopilot-llms-finetuning-realtime-prompt-examples"></a>

Los diferentes modelos de lenguaje de gran tamaño (LLMs) pueden tener dependencias de software, entornos de ejecución y requisitos de hardware específicos que influyen en el contenedor recomendado por Autopilot para alojar el modelo a efectos de inferencia. Además, cada modelo dicta el formato de datos de entrada necesario y el formato esperado para las predicciones o salidas.

A continuación, se muestran ejemplos de entradas para algunos modelos y contenedores recomendados.
+ Para los modelos Falcon con el contenedor `huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04` recomendado:

  ```
  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>"]
      }
  }
  ```
+ Para los demás modelos con el contenedor recomendado `djl-inference:0.22.1-fastertransformer5.3.0-cu118`:

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