

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.

# Fine-tune un modelo de lenguaje amplio (LLM) que utiliza la adaptación de dominios
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation"></a>

El ajuste para la adaptación a dominios le permite aprovechar los modelos fundacionales previamente entrenados y adaptarlos a tareas específicas utilizando datos limitados específicos de un dominio. Si los esfuerzos de ingeniería de peticiones no proporcionan una personalización suficiente, puede utilizar los ajustes de adaptación al dominio para que su modelo funcione con el lenguaje específico de un dominio, como la jerga de un sector, términos técnicos u otros datos especializados. Este proceso de ajuste modifica las ponderaciones del modelo. 

Para refinar el modelo en un conjunto de datos de un dominio específico:

1. Prepare los datos de entrenamiento Para obtener instrucciones, consulte [Preparación y carga datos de entrenamiento para refinamiento de adaptación de dominios](#jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data).

1. Cree un trabajo de entrenamiento de afinamiento. Para obtener instrucciones, consulte [Creación de un trabajo de entrenamiento para el refinamiento basado en instrucciones](#jumpstart-foundation-models-fine-tuning-domain-adaptation-train).

Puede ver ejemplos integrales en [Cuadernos de ejemplo](#jumpstart-foundation-models-fine-tuning-domain-adaptation-examples).

El ajuste con adaptación a dominios está disponible con los siguientes modelos fundacionales:

**nota**  
Algunos modelos JumpStart básicos, como Llama 2 7B, requieren la aceptación de un acuerdo de licencia de usuario final antes de realizar ajustes y realizar inferencias. Para obtener más información, consulte [End-user acuerdos de licencia](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula).
+ Bloom 3B
+ Bloom 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ GPT-2 XL
+ GPT-J 6B
+ GPT-Neo 1,3 B
+ GPT-Neo 125 M
+ GPT-NEO 2,7 B
+ Llama 2 13B
+ Llama 2 13B Chat
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Chat
+ Llama 2 7B
+ Llama 2 7B Chat
+ Llama 2 7B Neuron

## Preparación y carga datos de entrenamiento para refinamiento de adaptación de dominios
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data"></a>

Los datos de entrenamiento para refinamiento de adaptación de dominios se pueden proporcionar en formato de archivo CSV, JSON o TXT. Todos los datos de entrenamiento deben estar en un solo archivo dentro de una sola carpeta.

Los datos de entrenamiento se toman de la columna **Texto** para archivos de datos de entrenamiento CSV o JSON. Si no hay ninguna columna con la etiqueta **Texto**, los datos de entrenamiento se toman de la primera columna para archivos de datos de entrenamiento CSV o JSON.

A continuación se muestra un ejemplo del cuerpo de un archivo TXT que se utilizará para realizar el refinamiento:

```
This report includes estimates, projections, statements relating to our
business plans, objectives, and expected operating results that are “forward-
looking statements” within the meaning of the Private Securities Litigation
Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E
of ....
```

### División de datos para entrenamiento y pruebas
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-split-data"></a>

Si lo desea, puede proporcionar otra carpeta que contenga los datos de validación. Esta carpeta también debe incluir un archivo CSV, JSON o TXT. Si no se proporciona ningún conjunto de datos de validación, se reserva una cantidad determinada de los datos de entrenamiento con fines de validación. Puede refinar el porcentaje de datos de entrenamiento para validación al elegir los hiperparámetros para refinar el modelo. 

### Carga de datos de refinamiento en Amazon S3
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-upload-data"></a>

Cargue los datos preparados en Amazon Simple Storage Service (Amazon S3) para utilizarlos a la hora de ajustar un modelo JumpStart básico. Puede utilizar los comandos siguientes para cargar los datos:

```
from sagemaker.s3 import S3Uploader
import sagemaker
import random

output_bucket = sagemaker.Session().default_bucket()
local_data_file = {{"train.txt"}}
train_data_location = f{{"s3://{output_bucket}/training_folder"}}
S3Uploader.upload(local_data_file, train_data_location)
S3Uploader.upload("template.json", train_data_location)
print(f"Training data: {train_data_location}")
```

## Creación de un trabajo de entrenamiento para el refinamiento basado en instrucciones
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-train"></a>

Una vez que los datos se hayan cargado en Amazon S3, podrá ajustar e implementar su modelo JumpStart base. Para refinar el modelo en Studio, consulte [Fine-tune un modelo en Studio](jumpstart-foundation-models-use-studio-updated-fine-tune.md). Para ajustar el modelo con el SDK, consulte. SageMaker Python [Fine-tune modelos de base disponibles públicamente con la `JumpStartEstimator`clase](jumpstart-foundation-models-use-python-sdk-estimator-class.md)

## Cuadernos de ejemplo
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-examples"></a>

Para obtener más información sobre el refinamiento de adaptación de dominios, consulte los cuadernos de ejemplo siguientes:
+ [SageMaker JumpStart Modelos básicos: modelo GPT-J 6B de generación de Fine-tuning texto en un conjunto de datos de dominio específico](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/domain-adaption-finetuning-gpt-j-6b.html)
+ [Fine-tune Llama 2 modela en JumpStart](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/llama-2-finetuning.html)