

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.

# Modelos fundacionales e hiperparámetros para el refinamiento
<a name="jumpstart-foundation-models-fine-tuning"></a>

Los modelos básicos son costosos desde el punto de vista computacional y se basan en un corpus grande y sin etiquetas. Fine-tuning un modelo básico previamente entrenado es una forma económica de aprovechar sus amplias capacidades y, al mismo tiempo, personalizar un modelo en su propio corpus pequeño. Fine-tuning es un método de personalización que implica una formación adicional y que cambia los pesos del modelo. 

Fine-tuning podría serle útil si necesita: 
+ personalizar su modelo según necesidades empresariales específicas;
+ que su modelo funcione correctamente con un lenguaje específico de un dominio, como una jerga sectorial, términos técnicos u otro vocabulario especializado;
+ rendimiento mejorado para tareas específicas;
+ respuestas precisas, relativas y contextualizadas en las aplicaciones;
+ respuestas más objetivas, menos tóxicas y mejor ajustadas a requisitos específicos.

Hay dos enfoques principales que puede adoptar para realizar ajustes en función del caso de uso y del modelo fundacional elegido.

1. Si está interesado en ajustar su modelo a partir de datos específicos de un dominio, consulte [Fine-tune un modelo de lenguaje amplio (LLM) que utiliza la adaptación de dominios](jumpstart-foundation-models-fine-tuning-domain-adaptation.md).

1. Si le interesa un ajuste basado en instrucciones mediante ejemplos de peticiones y respuestas, consulte [Fine-tune un modelo de lenguaje amplio (LLM) que utiliza instrucciones rápidas](jumpstart-foundation-models-fine-tuning-instruction-based.md).

## Modelos fundacionales disponibles para el refinamiento
<a name="jumpstart-foundation-models-fine-tuning-models"></a>

Puede ajustar con precisión cualquiera de los siguientes modelos de JumpStart base:
+ Bloom 3B
+ Bloom 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ Code Llama 13B
+ Code Llama 13B Python
+ Code Llama 34B
+ Code Llama 34B Python
+ Code Llama 70B
+ Code Llama 70B Python
+ Code Llama 7B
+ Code Llama 7B Python
+ CyberAgentLM2-7B-Chat (CALM2-7B-Chat)
+ Falcon 40B BF16
+ Falcon 40B Instruct BF16
+ Falcon 7B BF16
+ Falcon 7B Instruct BF16
+ Flan-T5 Base
+ Flan-T5 Grande
+ Flan-T5 Pequeño
+ Flan-T5 XL
+ Flan-T5 XXL
+ Gemma 2B
+ Gemma 2B Instruct
+ Gemma 7B
+ Gemma 7B Instruct
+ GPT-2 XL
+ GPT-J 6B
+ GPT-Neo 1,3 B
+ GPT-Neo 125 M
+ GPT-NEO 2,7 B
+ LightGPT Instruct 6B
+ 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
+ Mistral 7B
+ Mixtral 8x7B
+ Mixtral 8x7B Instruct
+ RedPajama Base INCITE 3B V1
+ RedPajama Base INCITE 7B V1
+ RedPajama INCITE Chat 3B V1
+ RedPajama INCITE Chat 7B V1
+ RedPajama INCITE Instruct 3B V1
+ RedPajama INSTRUCT INCITE 7B V1
+ Stable Diffusion 2.1

## Hiperparámetros de refinamiento compatibles comunes
<a name="jumpstart-foundation-models-fine-tuning-hyperparameters"></a>

Los diferentes modelos fundacionales admiten diferentes hiperparámetros para el refinamiento. A continuación se indican los hiperparámetros compatibles comunes que pueden personalizar aún más el modelo durante el entrenamiento:


| Parámetro de inferencia | Description (Descripción) | 
| --- | --- | 
| `epoch` | El número de pasadas que el modelo realiza a través del conjunto de datos de refinamiento durante el entrenamiento. Debe ser un número entero mayor que 1.  | 
| `learning_rate` | La velocidad a la que se actualizan los pesos del modelo después de pasar por cada lote de ejemplos de entrenamiento de refinamiento. Debe ser un valor flotante positivo mayor que 0.  | 
| `instruction_tuned` | Si se debe entrenar con instrucciones el modelo o no. Debe ser `'True'` o `'False'`.  | 
| `per_device_train_batch_size` | Tamaño del lote por núcleo de GPU o CPU para entrenamiento. Debe ser un entero positivo. | 
| `per_device_eval_batch_size` | Tamaño del lote por núcleo de GPU o CPU para evaluación. Debe ser un entero positivo.  | 
| `max_train_samples` | Con fines de depuración o para agilizar el entrenamiento, reduzca el número de ejemplos de entrenamiento a este valor. El valor -1 significa que el modelo utiliza todas las muestras de entrenamiento. Debe ser un entero positivo o -1.  | 
| `max_val_samples` | Con fines de depuración o para agilizar el entrenamiento, reduzca el número de ejemplos de validación a este valor. El valor -1 significa que el modelo utiliza todos los ejemplos de validación. Debe ser un entero positivo o -1.  | 
| `max_input_length` | Longitud máxima total de la secuencia de entrada después de la tokenización. Las secuencias más largas que esta se truncarán. Si es -1, `max_input_length` se establece en el mínimo de 1024 y en la `model_max_length` definida por el tokenizador. Si se establece en un valor positivo, `max_input_length` se establece en el mínimo del valor proporcionado y la `model_max_length` definida por el tokenizador. Debe ser un entero positivo o -1.  | 
| `validation_split_ratio` | Si no hay un canal de validación, la proporción de entrenamiento-validación se divide a partir de los datos de entrenamiento. Debe estar comprendido entre 0 y 1.  | 
| `train_data_split_seed` | Si los datos de validación no están presentes, esto corrige la división aleatoria de los datos de entrenamiento de entrada a los datos de entrenamiento y validación utilizados por el modelo. Debe ser un número entero.  | 
| `preprocessing_num_workers` | Número de procesos que se van a utilizar para el preprocesamiento. Si es `None`, el proceso principal se utiliza para el preprocesamiento.  | 
| `lora_r` | Low-rank valor de adaptación (LoRa) r, que actúa como factor de escala para las actualizaciones de peso. Debe ser un entero positivo.  | 
| `lora_alpha` | Low-rank valor alfa de adaptación (LoRa), que actúa como factor de escala para las actualizaciones de peso. Por lo general, de 2 a 4 veces el tamaño de `lora_r`. Debe ser un entero positivo.  | 
| `lora_dropout` | El valor de abandono para las capas de adaptación de rango bajo (LoRA) debe ser un valor flotante positivo entre 0 y 1.  | 
| `int8_quantization` | Si es `True`, el modelo se carga con una precisión de 8 bits para el entrenamiento.  | 
| `enable_fsdp` | Si es `True`, el entrenamiento utiliza paralelismo de datos totalmente particionados.  | 

Puede especificar valores de hiperparámetros al refinar el modelo en Studio. Para obtener más información, consulte [Fine-tune un modelo en Studio](jumpstart-foundation-models-use-studio-updated-fine-tune.md). 

También puede anular los valores de hiperparámetros predeterminados al ajustar el modelo con el SDK. SageMaker Python Para obtener más información, consulte [Fine-tune modelos de base disponibles públicamente con la `JumpStartEstimator`clase](jumpstart-foundation-models-use-python-sdk-estimator-class.md).