

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.

# Creación de un trabajo de AutoML para afinar modelos de generación de texto mediante la API
<a name="autopilot-create-experiment-finetune-llms"></a>

Los modelos lingüísticos de gran tamaño (LLMs) destacan en múltiples tareas generativas, como la generación de textos, el resumen, la finalización, la respuesta a preguntas y más. Su rendimiento se puede atribuir a su considerable tamaño y a su amplio entrenamiento en diversos conjuntos de datos y tareas. Sin embargo, algunos dominios específicos, como los servicios sanitarios y el sector financiero, pueden requerir ajustes personalizados para adaptarse a sus datos y casos de uso particulares. Al adaptar su formación a su dominio particular, LLMs pueden mejorar su rendimiento y proporcionar resultados más precisos para las aplicaciones específicas.

Piloto automático ofrece la capacidad de ajustar una selección de modelos de texto generativo previamente entrenados. En particular, Autopilot permite **ajustar con precisión, mediante instrucciones**, una selección de modelos lingüísticos extensos de uso general () con la ayuda de. LLMs JumpStart

**nota**  
Los modelos de generación de texto que admiten el ajuste preciso en Autopilot están disponibles actualmente exclusivamente en las regiones compatibles con Canvas. SageMaker Consulte la documentación de SageMaker Canvas para ver la [lista completa de las regiones compatibles](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html).

A fin de ajustar un modelo prentrenado, se requiere un conjunto de datos específico de instrucciones claras que le digan al modelo cómo generar resultados o cómo comportarse para esa tarea. El modelo aprende del conjunto de datos y ajusta sus parámetros para adaptarse a las instrucciones proporcionadas. El refinamiento basado en instrucciones implica el uso de ejemplos etiquetados con formato de pares de petición-respuesta y redactados como instrucciones. Para obtener más información sobre el refinamiento, consulte [Fine-tune a foundation model](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-fine-tuning.html).

[Las siguientes pautas describen el proceso de creación de un trabajo de Amazon SageMaker Autopilot como experimento piloto para ajustar la generación de texto LLMs mediante la SageMaker API Reference.](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)

**nota**  
Las tareas como la clasificación de textos e imágenes, la previsión de series temporales y el refinamiento de modelos de lenguaje de gran tamaño están disponibles exclusivamente en la versión 2 de la [API de REST de AutoML](autopilot-reference.md). Si su idioma preferido es Python, puede consultar directamente el [MLV2 objeto Auto](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2) del SDK de Amazon SageMaker Python. [AWS SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)  
Los usuarios que prefieran la comodidad de una interfaz de usuario pueden usar [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) para acceder a modelos previamente entrenados y modelos básicos de IA generativa, o crear modelos personalizados adaptados a textos específicos, clasificación de imágenes, necesidades de previsión o IA generativa.

Para crear un experimento de piloto automático mediante programación para ajustar un LLM, puede llamar a la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)API en cualquier idioma compatible con Amazon Autopilot o el. SageMaker AWS CLI

Para obtener información sobre cómo se traduce esta acción de API en una función en el lenguaje de su elección, consulte la sección [Véase también](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) de `CreateAutoMLJobV2` y seleccione un SDK. Como ejemplo, para los usuarios de Python, consulte la sintaxis de solicitud completa de `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` en AWS SDK para Python (Boto3).

**nota**  
Piloto automático ajusta modelos de lenguaje grandes sin necesidad de entrenar ni evaluar a varios candidatos. En lugar de esto, Piloto automático utiliza su conjunto de datos para ajustar directamente el modelo objetivo a fin de mejorar una métrica objetivo predeterminada: la pérdida de entropía cruzada. Para ajustar los modelos de lenguaje en Piloto automático no es necesario configurar el campo `AutoMLJobObjective`.

Tras refinar el LLM, podrá evaluar su rendimiento accediendo a varias puntuaciones de ROUGE mediante el `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` al hacer una llamada a la API de `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`. El modelo también proporciona información sobre su pérdida de entrenamiento y validación, así como sobre la perplejidad. A fin de obtener una lista completa de métricas para evaluar la calidad del texto generado por los modelos de ajuste fino, consulte [Métricas para ajustar modelos de lenguaje grandes en Piloto automático](autopilot-llms-finetuning-metrics.md).

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

Antes de usar el piloto automático para crear un experimento de ajuste preciso en SageMaker IA, asegúrate de seguir los siguientes pasos:
+ (Opcional) Elegir el modelo prentrenado que desee ajustar.

  Para ver la lista de modelos previamente entrenados disponibles para su ajuste en Amazon SageMaker Autopilot, consulte. [Modelos de lenguaje grandes compatibles para el ajuste](autopilot-llms-finetuning-models.md) *La selección de un modelo no es obligatoria; si no se especifica ningún modelo, el piloto automático utilizará automáticamente el modelo Falcon7 por defecto. BInstruct*
+ Crear un conjunto de datos de instrucciones. Consulte [Tipos de archivos de conjuntos de datos y formato de datos de entrada](autopilot-llms-finetuning-data-format.md) para obtener más información sobre los requisitos de formato del conjunto de datos basado en instrucciones.
+ Colocar el conjunto de datos en un bucket de Amazon S3.
+ Conceda acceso completo al depósito de Amazon S3 que contiene los datos de entrada para la función de ejecución de SageMaker IA utilizada para ejecutar el experimento.
  + Para obtener información sobre cómo recuperar su función de ejecución de SageMaker IA, consulte[Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role).
  + Para obtener información sobre cómo conceder permisos a su función de ejecución de SageMaker IA para acceder a uno o más buckets específicos en Amazon S3, consulte *Añadir permisos adicionales de Amazon S3 a una función de ejecución de SageMaker IA* en[Creación de un rol de ejecución](sagemaker-roles.md#sagemaker-roles-create-execution-role).
+ Además, debe proporcionar a su función de ejecución los permisos necesarios para acceder al depósito de almacenamiento predeterminado que utiliza el bucket de Amazon S3 JumpStart. Este acceso es necesario para almacenar y recuperar artefactos de modelos previamente entrenados. JumpStart Para conceder acceso a este bucket de Amazon S3, debe crear una nueva política personalizada integrada en su rol de ejecución.

  A continuación, se muestra un ejemplo de política que puede usar en el editor de JSON al configurar trabajos de refinamiento de AutoML en `us-west-2`:

  *JumpStartLos nombres de los cubos siguen un patrón predeterminado que depende del. Regiones de AWS Debe ajustar el nombre del bucket en consecuencia.* 

  ```
  {
      "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/*"
      ]
  }
  ```

Una vez hecho esto, puede usar el ARN de este rol de ejecución en las solicitudes de la API de Piloto automático.

## Parámetros necesarios
<a name="autopilot-llms-finetuning-api-required-params"></a>

Al llamar a `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` para crear un experimento de Piloto automático con el fin de refinar LLM, debe proporcionar los siguientes valores:
+ Un `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)` para especificar el nombre del trabajo. El nombre debe ser del tipo `string` y tener una longitud de caracteres de entre 1 y 32.
+ Como mínimo, un `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` del tipo `training` dentro de `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`. Este canal especifica el nombre del bucket de Amazon S3 donde se encuentra su conjunto de datos de ajuste. Tiene la opción de definir un canal `validation`. Si no se proporciona ningún canal de validación y se ha configurado una `ValidationFraction` en [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html), esta fracción se utiliza para dividir aleatoriamente el conjunto de datos de entrenamiento en conjuntos de entrenamiento y validación. Además, puede especificar el tipo de contenido (archivos CSV o Parquet) del conjunto de datos.
+ 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)` para configurar los ajustes del trabajo de entrenamiento.

  Algo especialmente importante es que puede especificar el nombre del modelo base que se va a ajustar en el campo `BaseModelName`. Para ver la lista de modelos previamente entrenados disponibles para su ajuste en Amazon SageMaker Autopilot, consulte. [Modelos de lenguaje grandes compatibles para el ajuste](autopilot-llms-finetuning-models.md)
+ Una `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` para especificar la ruta de salida de Amazon S3 a fin de almacenar los artefactos de su trabajo de AutoML.
+ Un `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` para especificar el ARN del rol utilizado para acceder a sus datos.

A continuación, se muestra un ejemplo del formato de solicitud completo que se utiliza al realizar una llamada a la API para `CreateAutoMLJobV2` con el fin de refinar un modelo (`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"
       }
   }
}
```

Todos los demás parámetros son opcionales.

## Parámetros opcionales
<a name="autopilot-llms-finetuning-api-optional-params"></a>

En las siguientes secciones, se proporcionan detalles de algunos parámetros opcionales que puede pasar al trabajo de ajuste de AutoML.

### Cómo especificar los conjuntos de datos de entrenamiento y validación de un trabajo de AutoML
<a name="autopilot-llms-finetuning-data-training-or-validation"></a>

Puede proporcionar su propio conjunto de datos de validación y una tasa de división de datos personalizada, o puede dejar que Piloto automático divida el conjunto de datos automáticamente.

Cada [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)objeto (consulte el parámetro obligatorio [Automático MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)) tiene una`ChannelType`, que se puede configurar en `validation` valores que especifican cómo se van a utilizar los datos al crear un modelo de aprendizaje automático. `training`

Debe proporcionar al menos un origen de datos y un máximo de dos: uno para los datos de entrenamiento y otro para los datos de validación. La forma de dividir los datos en conjuntos de datos de entrenamiento y validación depende de si tiene uno o dos orígenes de datos. 
+ Si solo tiene **un origen de datos**, el `ChannelType` se establece en `training` de forma predeterminada y debe tener este valor.
  + Si el valor `ValidationFraction` en [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) no está establecido, el 20 % (0,2) de los datos de este origen se utiliza para la validación de forma predeterminada. 
  + Si la `ValidationFraction` se establece en un valor entre 0 y 1, el conjunto de datos se divide en función del valor especificado, donde el valor especifica la fracción del conjunto de datos utilizada para la validación.
+ Si tiene **dos orígenes de datos**, el `ChannelType` de uno de los objetos de `AutoMLJobChannel` debe establecerse en `training`, el valor predeterminado. El `ChannelType` del otro origen de datos debe estar establecido en `validation`. Los dos orígenes de datos deben tener el mismo formato, CSV o Parquet, y el mismo esquema. En este caso, no debe establecer el valor de `ValidationFraction`, ya que todos los datos de cada origen se utilizan para el entrenamiento o la validación. Si se configura este valor, se producirá un error.

### Cómo habilitar la implementación automática
<a name="autopilot-llms-finetuning-auto-model-deployment"></a>

Con Piloto automático, puede implementar automáticamente su modelo de ajuste fino a un punto de conexión. Para habilitar la implementación automática de su modelo de ajuste fino, incluya una `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` en la solicitud de trabajo de AutoML. Esto permite implementar su modelo ajustado en un punto final de SageMaker IA. A continuación, se muestran las configuraciones disponibles para la personalización.
+ Para permitir que Piloto automático genere el nombre del punto de conexión, configure `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` en `True`.
+ Si desea proporcionar su propio nombre para el punto de conexión, configure `[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)`.

### Cómo configurar la aceptación del EULA al refinar un modelo mediante la API de AutoML
<a name="autopilot-llms-finetuning-set-eula"></a>

En el caso de los modelos que requieren la aceptación de un acuerdo de licencia de usuario final antes de realizar el refinamiento, puede aceptar el EULA estableciendo el atributo `AcceptEula` de `[ModelAccessConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelAccessConfig.html)` en `True` en `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` al configurar su `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

### Cómo configurar hiperparámetros para optimizar el proceso de aprendizaje de un modelo
<a name="autopilot-llms-finetuning-set-hyperparameters"></a>

Puede optimizar el proceso de aprendizaje de su modelo de generación de texto estableciendo valores de hiperparámetros en el atributo `TextGenerationHyperParameters` de `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` al configurar su `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Piloto automático permite configurar cuatro hiperparámetros comunes en todos los modelos.
+ `epochCount`: su valor debe ser una cadena que contenga un valor entero dentro del rango de `1` a `10`.
+ `batchSize`: su valor debe ser una cadena que contenga un valor entero dentro del rango de `1` a `64`.
+ `learningRate`: su valor debe ser una cadena que contenga un valor de coma flotante dentro del rango de `0` a `1`.
+ `learningRateWarmupSteps`: su valor debe ser una cadena que contenga un valor entero dentro del rango de `0` a `250`.

Para obtener más información sobre cada hiperparámetro, consulte [Hiperparámetros para optimizar el proceso de aprendizaje de los modelos de generación de texto](autopilot-llms-finetuning-hyperparameters.md).

El siguiente ejemplo de JSON muestra un `TextGenerationHyperParameters` campo que se pasa al TextGenerationJobConfig lugar donde están configurados los cuatro hiperparámetros.

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

# Modelos de lenguaje grandes compatibles para el ajuste
<a name="autopilot-llms-finetuning-models"></a>

Con la API de piloto automático, los usuarios pueden ajustar modelos de lenguaje de gran tamaño (LLMs) que funcionan con Amazon. SageMaker JumpStart

**nota**  
Para refinar modelos que requieren la aceptación de un acuerdo de licencia para el usuario final, debe declarar explícitamente la aceptación del EULA al crear su trabajo de AutoML. Tenga en cuenta que, después de refinar un modelo previamente entrenado, cambian las ponderaciones del modelo original, por lo que no tendrá que aceptar más adelante un EULA al implementar el modelo de ajuste fino.  
Para obtener información sobre cómo aceptar el EULA al crear un trabajo de refinamiento con la API de AutoML, consulte [Cómo configurar la aceptación del EULA al refinar un modelo mediante la API de AutoML](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-eula).

**Para encontrar todos los detalles de cada modelo, busca tu **ID de JumpStart modelo** en la siguiente [tabla de modelos](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table) y, a continuación, sigue el enlace de la columna Fuente.** Estos detalles pueden incluir los idiomas compatibles con el modelo, los sesgos que pueda presentar, los conjuntos de datos empleados para el refinamiento, etc.

En la siguiente tabla se enumeran los JumpStart modelos compatibles que se pueden ajustar con un trabajo de AutoML.


| JumpStart ID del modelo | `BaseModelName` en una solicitud de API | Description (Descripción) | 
| --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B |  Dolly 3B es un modelo de lenguaje grande que sigue instrucciones de 2800 millones de parámetros, basado en [pythia-2.8b](https://huggingface.co/EleutherAI/pythia-2.8b#pythia-28b). Está entrenado en el conjunto de datos de ajuste instruction/response preciso [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) y puede realizar tareas como la lluvia de ideas, la clasificación, las preguntas y respuestas, la generación de texto, la extracción de información y el resumen.  | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B |  Dolly 7B es un modelo de lenguaje grande que sigue instrucciones de 6900 millones de parámetros, basado en [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b). Está formado en el conjunto de datos de ajuste instruction/response preciso [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) y puede realizar tareas como la lluvia de ideas, la clasificación, las preguntas y respuestas, la generación de texto, la extracción de información y el resumen.  | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B |  Dolly 12B es un modelo de lenguaje grande que sigue instrucciones de 12 000 millones de parámetros, basado en [pythia-12b](https://huggingface.co/EleutherAI/pythia-12b). Está formado en el conjunto de datos de ajuste instruction/response preciso [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) y puede realizar tareas como la lluvia de ideas, la clasificación, las preguntas y respuestas, la generación de texto, la extracción de información y el resumen.  | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B |  Falcon 7B es un modelo de lenguaje grande y causal de 7000 millones de parámetros entrenado sobre 1 500 000 de millones de tokens mejorados con corpus seleccionados. Falcon-7B está entrenado únicamente con datos en inglés y francés, y no generaliza adecuadamente en otros idiomas. Dado que el modelo se entrenó con grandes cantidades de datos web, contiene los estereotipos y sesgos que se encuentran habitualmente en Internet.  | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct |  El Falcon 7B Instruct es un modelo de lenguaje amplio y causal de 7.000 millones de parámetros basado en el Falcon 7B y ajustado a partir de una mezcla de conjuntos de datos de 250 millones de fichas. chat/instruct Falcon 7B Instruct está entrenado sobre todo con datos en inglés y no generaliza adecuadamente en otros idiomas. Además, al estar entrenado a partir de un corpus representativo de la web a gran escala, incluye los estereotipos y sesgos que suelen encontrarse en Internet.  | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B |  Falcon 40B es un modelo de lenguaje grande y causal de 40 000 millones de parámetros entrenado sobre 1 000 000 de millones de tokens mejorados con corpus seleccionados. Está entrenado principalmente en inglés, alemán, español y francés, con capacidades limitadas en italiano, portugués, polaco, holandés, rumano, checo y sueco. No generaliza adecuadamente en otros idiomas. Además, al estar entrenado a partir de un corpus representativo de la web a gran escala, incluye los estereotipos y sesgos que suelen encontrarse en Internet.  | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct |  Falcon 40B Instruct es un modelo de lenguaje de gran tamaño causal de 40 000 millones de parámetros basado en Falcon40B y refinado a partir de una combinación de Baize. Está entrenado principalmente con datos en inglés y francés, y no generaliza adecuadamente en otros idiomas. Además, al estar entrenado a partir de un corpus representativo de la web a gran escala, incluye los estereotipos y sesgos que suelen encontrarse en Internet.   | 
| huggingface-text2text-flan-t5-large | FlanT5L |  La familia de modelos [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) es un conjunto de modelos de lenguaje de gran tamaño que se refinan sobre múltiples tareas y pueden seguir entrenándose. Estos modelos son aptos para tareas como la traducción de idiomas, la generación de textos, la finalización de oraciones, la desambiguación del sentido de las palabras, la síntesis o la respuesta a preguntas. Flan T5 L es un modelo de lenguaje grande de 780 millones de parámetros entrenado sobre numerosos idiomas. [Puedes encontrar la lista de los idiomas compatibles con el Flan T5 L en los detalles del modelo obtenidos al buscar por ID de modelo en la tabla de modelos. 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 familia de modelos [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) es un conjunto de modelos de lenguaje de gran tamaño que se refinan sobre múltiples tareas y pueden seguir entrenándose. Estos modelos son aptos para tareas como la traducción de idiomas, la generación de textos, la finalización de oraciones, la desambiguación del sentido de las palabras, la síntesis o la respuesta a preguntas. Flan T5 XL es un modelo de lenguaje grande de 3000 millones de parámetros que se ha entrenado en numerosos idiomas. [Puedes encontrar la lista de idiomas compatibles con el Flan T5 XL en los detalles del modelo obtenidos al buscar por ID de modelo en JumpStart la tabla de modelos.](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 familia de modelos [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) es un conjunto de modelos de lenguaje de gran tamaño que se refinan sobre múltiples tareas y pueden seguir entrenándose. Estos modelos son aptos para tareas como la traducción de idiomas, la generación de textos, la finalización de oraciones, la desambiguación del sentido de las palabras, la síntesis o la respuesta a preguntas. Flan T5 XXL es un modelo de 11 000 millones de parámetros. [Puedes encontrar la lista de idiomas compatibles con el Flan T5 XXL en los detalles del modelo obtenidos al buscar por ID de modelo en la tabla de modelos. 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 es una colección de modelos de texto generativo preentrenados y de ajuste fino, con una escala que oscila entre 7000 y 70 000 millones de parámetros. Llama2-7B es el modelo de 7000 millones de parámetros diseñado para su uso en inglés y que se puede adaptar a una variedad de tareas de generación de lenguaje natural.  | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat |  Llama 2 es una colección de modelos de texto generativo preentrenados y afinados, con una escala que oscila entre 7000 y 70 000 millones de parámetros. Llama2-7B es el modelo de chat de 7000 millones de parámetros que está optimizado para casos de uso de diálogo.  | 
| meta-textgeneration-llama-2-13b | Llama2-13B |  Llama 2 es una colección de modelos de texto generativo preentrenados y afinados, con una escala que oscila entre 7000 y 70 000 millones de parámetros. Llama2-13B es el modelo de 13 000 millones de parámetros diseñado para su uso en inglés y que se puede adaptar a una variedad de tareas de generación de lenguaje natural.  | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat |  Llama 2 es una colección de modelos de texto generativo preentrenados y afinados, con una escala que oscila entre 7000 y 70 000 millones de parámetros. Llama2-13B es el modelo de chat de 13 000 millones de parámetros que está optimizado para casos de uso de diálogo.  | 
| huggingface-llm-mistral-7b | Mistral7B |  Mistral 7B es un código de 7000 millones de parámetros y un modelo de generación de texto en inglés de uso general. Se puede usar en una variedad de casos de uso, incluidos resumen de texto, clasificación, finalización de texto o finalización de código.  | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct |  Mistral 7B Instruct es la versión de refinamiento de Mistral 7B para casos de uso conversacionales. Se especializó utilizando una variedad de conjuntos de datos de conversaciones disponibles públicamente en inglés.  | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B |  MPT 7B es un modelo de lenguaje grande transformador de estilo decodificador, con 6700 millones de parámetros, preentrenado desde cero con 1 billón de tokens de texto y código en inglés. Está preparado para gestionar contextos de gran longitud.  | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct |  MPT 7B Instruct es un modelo para tareas de seguimiento de instrucciones abreviadas. Se creó refinando MPT 7B a partir de un conjunto de datos derivado de [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) y de los conjuntos de datos [Anthropic Helpful and Harmless (HH-RLHF)](https://huggingface.co/datasets/Anthropic/hh-rlhf).  | 

# Tipos de archivos de conjuntos de datos y formato de datos de entrada
<a name="autopilot-llms-finetuning-data-format"></a>

El ajuste preciso basado en instrucciones utiliza conjuntos de datos etiquetados para mejorar el rendimiento de las tareas previamente entrenadas LLMs en el procesamiento del lenguaje natural (PNL) específicas. Los ejemplos etiquetados tienen formato de pares de petición-respuesta y están redactados como instrucciones.



Para obtener más información sobre los tipos de archivos de conjuntos de datos compatibles, consulte [Tipos de archivo de conjuntos de datos admitidos](#autopilot-llms-finetuning-dataset-format).

Para obtener más información sobre el formato de datos de entrada, consulte [Formato de datos de entrada para el ajuste basado en instrucciones](#autopilot-llms-finetuning-input-format).

## Tipos de archivo de conjuntos de datos admitidos
<a name="autopilot-llms-finetuning-dataset-format"></a>

Piloto automático admite conjuntos de datos de refinamiento basados en instrucciones formateados como archivos CSV (opción predeterminada) o como archivos Parquet.
+ **CSV** (valores separados por comas) es un formato de archivo basado en filas que almacena datos en texto plano legible por humanos y es una opción popular para el intercambio de datos, ya que es compatible con una amplia gama de aplicaciones.
+ **Parquet** es un formato binario de archivo basado en columnas en el que los datos se almacenan y procesan de forma más eficiente que en los formatos de archivo legibles por humanos, como CSV. Esto los convierte en una mejor opción para los problemas de macrodatos.

**nota**  
El conjunto de datos puede constar de varios archivos, cada uno de los cuales debe ajustarse a una plantilla específica. Para obtener más información sobre cómo dar formato a datos de entrada, consulte [Formato de datos de entrada para el ajuste basado en instrucciones](#autopilot-llms-finetuning-input-format).

## Formato de datos de entrada para el ajuste basado en instrucciones
<a name="autopilot-llms-finetuning-input-format"></a>

Cada archivo en el conjunto de datos debe tener el siguiente formato:
+ El conjunto de datos debe contener exactamente dos columnas nombradas y separadas por comas: `input` y `output`. Piloto automático no permite columnas adicionales. 
+ Las columnas `input` contienen las instrucciones y las correspondientes `output` contienen la respuesta esperada. Tanto `input` como `output` están en formato de cadena.

El siguiente ejemplo muestra el formato de datos de entrada para el ajuste basado en instrucciones en Piloto automático.

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

**nota**  
Recomendamos utilizar conjuntos de datos con un mínimo de 1000 filas para garantizar un aprendizaje y un rendimiento óptimos del modelo.

Además, Piloto automático establece un límite máximo en el número de filas del conjunto de datos, así como la longitud del contexto en función del tipo de modelo que se utilice.
+ Los límites del número de filas de un conjunto de datos se aplican al recuento acumulado de filas en todos los archivos del conjunto de datos, lo que incluye varios archivos. Si hay dos [tipos de canales](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) definidos (uno para entrenamiento y otro para validación), el límite se aplica al número total de filas en todos los conjuntos de datos en ambos canales. Cuando el número de filas supera el umbral, el trabajo falla y se produce un error de validación.
+ Cuando la longitud de la entrada o salida de una fila del conjunto de datos supera el límite establecido en el contexto del modelo de lenguaje, queda truncado automáticamente. Si más del 60 % de las filas del conjunto de datos están truncadas, ya sea en la entrada o en la salida, el piloto automático falla y se produce un error de validación.

La siguiente tabla presenta esos límites para cada modelo.


| JumpStart ID de modelo | `BaseModelName` en una solicitud de API | Límite de fila | Límite de longitud del contexto | 
| --- | --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B | 10 000 filas | 1024 tokens | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B | 10 000 filas | 1024 tokens | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B | 10 000 filas | 1024 tokens | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B | 1000 filas | 1024 tokens | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct | 1000 filas | 1024 tokens | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B | 10 000 filas | 1024 tokens | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct | 10 000 filas | 1024 tokens | 
| huggingface-text2text-flan-t5-large | FlanT5L | 10 000 filas | 1024 tokens | 
| huggingface-text2text-flan-t5-xl | FlanT5XL | 10 000 filas | 1024 tokens | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL | 10 000 filas | 1024 tokens | 
| meta-textgeneration-llama-2-7b | Llama2-7B | 10 000 filas | 2048 tokens | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat | 10 000 filas | 2048 tokens | 
| meta-textgeneration-llama-2-13b | Llama2-13B | 7000 filas | 2048 tokens | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat | 7000 filas | 2048 tokens | 
| huggingface-llm-mistral-7b | Mistral7B | 10 000 filas | 2048 tokens | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct | 10 000 filas | 2048 tokens | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B | 10 000 filas | 1024 tokens | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct | 10 000 filas | 1024 tokens | 

# Hiperparámetros para optimizar el proceso de aprendizaje de los modelos de generación de texto
<a name="autopilot-llms-finetuning-hyperparameters"></a>

Puede optimizar el proceso de aprendizaje de su modelo base ajustando cualquier combinación de los siguientes hiperparámetros. Estos parámetros están disponibles para todos los modelos.
+ **Recuento de épocas**: el hiperparámetro `epochCount` determina cuántas veces el modelo recorre todo el conjunto de datos de entrenamiento. Influye en la duración del entrenamiento y puede evitar el sobreajuste si se configura adecuadamente. Un gran número de épocas puede aumentar el tiempo de ejecución general de los trabajos de refinamiento. Recomendamos establecer un `MaxAutoMLJobRuntimeInSeconds` grande dentro de `CompletionCriteria` de `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` para evitar que los trabajos de refinamiento se detengan de forma prematura.
+ **Tamaño del lote**: el hiperparámetro `batchSize` define el número de muestras de datos utilizadas en cada iteración del entrenamiento. Puede afectar a la velocidad de convergencia y al uso de memoria. Con un tamaño de lote grande, aumenta el riesgo de que se produzcan errores de falta de memoria (OOM), que pueden manifestarse como un error interno del servidor en el Piloto automático. Para comprobar si hay algún error de este tipo, consulte en el grupo de registro `/aws/sagemaker/TrainingJobs` de los trabajos de entrenamiento iniciados por el trabajo de Piloto automático. Puede acceder a esos inicios CloudWatch de sesión desde la consola AWS de administración. Elija **Registros** y, a continuación, elija el **grupo de registros** `/aws/sagemaker/TrainingJobs`. Para corregir los errores de OOM, reduzca el tamaño del lote.

  Recomendamos empezar con un tamaño de lote de 1 y, a continuación, aumentarlo gradualmente hasta que se produzca un error de falta de memoria. Como referencia, 10 épocas suelen tardar hasta 72 horas en completarse.
+ **Velocidad de aprendizaje**: el hiperparámetro `learningRate` controla el tamaño del paso al que se actualizan los parámetros de un modelo durante el entrenamiento. Determina la rapidez o la lentitud con que se actualizan los parámetros del modelo durante el entrenamiento. Una tasa de aprendizaje alta significa que los parámetros se actualizan con un tamaño de paso grande, lo que puede producir a una convergencia más rápida, pero también puede provocar que el proceso de optimización sobrepase la solución óptima y se vuelva inestable. Una tasa de aprendizaje baja significa que los parámetros se actualizan con un tamaño de paso reducido, lo que puede producir a una convergencia más estable, pero a costa de un aprendizaje más lento.
+ **Pasos de calentamiento de la tasa de aprendizaje**: el hiperparámetro `learningRateWarmupSteps` especifica el número de pasos de entrenamiento durante los cuales la tasa de aprendizaje aumenta gradualmente hasta alcanzar su objetivo o valor máximo. Esto contribuye a que el modelo converja de manera más eficaz y evita problemas como la divergencia o la convergencia lenta que pueden producirse con una tasa de aprendizaje inicialmente alta.

Para obtener información sobre cómo ajustar los hiperparámetros para el experimento de refinamiento en el Piloto automático y detectar sus posibles valores, consulte [Cómo configurar hiperparámetros para optimizar el proceso de aprendizaje de un modelo](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-hyperparameters).

# Métricas para ajustar modelos de lenguaje grandes en Piloto automático
<a name="autopilot-llms-finetuning-metrics"></a>

En la siguiente sección se describen las métricas que puede utilizar para comprender sus modelos lingüísticos extensos y ajustados ()LLMs. Con el conjunto de datos, Piloto automático refina directamente un LLM objetivo, con el fin de mejorar una métrica objetivo predeterminada: la pérdida de entropía cruzada.

La pérdida de entropía cruzada es una métrica muy utilizada para evaluar la diferencia entre la distribución de probabilidad prevista y la distribución real de las palabras en los datos de entrenamiento. Al minimizar la pérdida de entropía cruzada, el modelo aprende a hacer predicciones más precisas y relevantes desde el punto de vista del contexto, especialmente en las tareas relacionadas con la generación de texto.

Tras refinar un LLM, puede evaluar la calidad del texto generado utilizando una serie de puntuaciones de ROUGE. Además, puede analizar la perplejidad y las pérdidas de entrenamiento y validación por entropía cruzada como parte del proceso de evaluación.
+ La pérdida de perplejidad mide hasta qué punto el modelo puede predecir la siguiente palabra de una secuencia de texto; los valores más bajos indican una mejor comprensión del idioma y el contexto. 
+ Recall-Oriented Understudy for Gisting Evaluation (ROUGE) consiste en un conjunto de métricas que se utilizan en el campo del procesamiento de lenguaje natural (NLP) y el machine learning para evaluar la calidad del texto generado, por ejemplo, en tareas de resumen o generación de texto. Principalmente, evalúa las similitudes entre el texto generado y el texto veraz (escrito por humanos) en un conjunto de datos de validación. Las medidas de ROUGE se han diseñado para evaluar varios aspectos de la similitud de los textos, como la precisión y la exhaustividad de los n-gramas (secuencias contiguas de palabras) en los textos de referencia y los generados por el sistema. El objetivo es evaluar el grado de precisión de un modelo al capturar la información presente en el texto de referencia.

  Existen distintas variantes de las métricas de ROUGE, según el tipo de n-gramas utilizados y los aspectos específicos de la calidad del texto que se estén evaluando.

  La siguiente lista contiene el nombre y la descripción de las métricas de ROUGE disponibles tras el refinamiento de modelos de lenguaje de gran tamaño en Piloto automático.  
**`ROUGE-1`, `ROUGE-2`**  
ROUGE-N, la métrica principal de ROUGE, mide la superposición de n-gramas entre los textos generados por el sistema y los de referencia. ROUGE-N se puede ajustar a distintos valores de `n` (aquí `1` o `2`) para evaluar la precisión del texto generado por el sistema a la hora de capturar los n-gramas del texto de referencia.  
**`ROUGE-L`**  
ROUGE-L (ROUGE-Longest Common Subsequence) calcula la subsecuencia común más larga entre el texto generado por el sistema y el texto de referencia. Esta variante tiene en cuenta el orden de las palabras además de la superposición del contenido.  
**`ROUGE-L-Sum`**  
ROUGE-L-SUM (Longest Common Subsequence for Summarization) se ha diseñado para la evaluación de sistemas de resumen de textos. Su objetivo es medir la subsecuencia común más larga entre el resumen generado automáticamente y el resumen de referencia. ROUGE-L-SUM tiene en cuenta el orden de las palabras del texto, lo que es importante en las tareas de resumen de textos.

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