

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Modelos de base e hiperparâmetros para ajuste
<a name="jumpstart-foundation-models-fine-tuning"></a>

Os modelos básicos são computacionalmente caros e treinados em um corpus grande e sem rótulo. Fine-tuning um modelo básico pré-treinado é uma forma acessível de aproveitar seus amplos recursos e, ao mesmo tempo, personalizar um modelo em seu próprio pequeno corpus. Fine-tuning é um método de personalização que envolve treinamento adicional e altera os pesos do seu modelo. 

Fine-tuning pode ser útil se você precisar de: 
+ para personalizar seu modelo de acordo com necessidades comerciais específicas
+ seu modelo para trabalhar com sucesso com linguagem específica de domínio, como jargões do setor, termos técnicos ou outro vocabulário especializado
+ desempenho aprimorado para tarefas específicas
+ respostas precisas, relativas e sensíveis ao contexto em aplicações
+ respostas mais factuais, menos tóxicas e mais bem alinhadas aos requisitos específicos

Há duas abordagens principais que você pode adotar para fazer o ajuste fino, dependendo do seu caso de uso e do modelo de base escolhido.

1. Se você estiver interessado em ajustar seu modelo em dados específicos do domínio, consulte [Fine-tune um modelo de linguagem grande (LLM) usando adaptação de domínio](jumpstart-foundation-models-fine-tuning-domain-adaptation.md).

1. Se você estiver interessado em um ajuste fino baseado em instruções usando exemplos de prompts e respostas, consulte [Fine-tune um modelo de linguagem grande (LLM) usando instruções rápidas](jumpstart-foundation-models-fine-tuning-instruction-based.md).

## Modelos de base disponíveis para ajuste
<a name="jumpstart-foundation-models-fine-tuning-models"></a>

Você pode ajustar qualquer um dos seguintes 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 Pequeno
+ 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,3B
+ GPT-Neo 125 M
+ GPT-NEO 2,7B
+ 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 INCITE Base 3B V1
+ RedPajama Base INCITE 7B V1
+ RedPajama INCITE Chat 3B V1
+ RedPajama INCITE Chat 7B V1
+ RedPajama INCITE Instruct 3B V1
+ RedPajama INCITE Instruct 7B V1
+ Stable Diffusion 2.1

## Hiperparâmetros de ajuste normalmente aceitos
<a name="jumpstart-foundation-models-fine-tuning-hyperparameters"></a>

Diferentes modelos de base são compatíveis com diferentes hiperparâmetros para ajuste. A seguir estão os hiperparâmetros normalmente aceitos que podem personalizar ainda mais seu modelo durante o treinamento:


| Parâmetro de inferência | Description | 
| --- | --- | 
| `epoch` | O número de passagens que o modelo faz pelo conjunto de dados de ajuste durante o treinamento. Deve ser um número inteiro maior que 1.  | 
| `learning_rate` | A taxa na qual os pesos do modelo são atualizados depois de analisar cada lote de exemplos de treinamento de ajuste. Deve ser um flutuante positivo maior que 0.  | 
| `instruction_tuned` | Se o modelo deve ou não ser treinado. Precisa ser `'True'` ou `'False'`.  | 
| `per_device_train_batch_size` | O tamanho do lote por núcleo de GPU ou CPU para treinamento. Deve ser um número inteiro positivo. | 
| `per_device_eval_batch_size` | O tamanho do lote por núcleo de GPU ou CPU para avaliação. Deve ser um número inteiro positivo.  | 
| `max_train_samples` | Para fins de depuração ou treinamento mais rápido, reduza o número de exemplos de treinamento para esse valor. O valor -1 significa que o modelo usa todas as amostras de treinamento. Deve ser um número inteiro positivo ou -1.  | 
| `max_val_samples` | Para fins de depuração ou treinamento mais rápido, reduza o número de exemplos de validação para esse valor. O valor -1 significa que o modelo usa todas as amostras de validação. Deve ser um número inteiro positivo ou -1.  | 
| `max_input_length` | Comprimento máximo total da sequência de entrada após a tokenização. Sequências maiores do que isso serão truncadas. Se for -1, `max_input_length` será definido como o mínimo de 1024 e o `model_max_length` definido pelo tokenizador. Se for definido como um valor positivo, `max_input_length` será definido como o mínimo do valor fornecido e o `model_max_length` definido pelo tokenizador. Deve ser um número inteiro positivo ou -1.  | 
| `validation_split_ratio` | Se não houver canal de validação, a proporção entre treinamento e validação será dividida a partir dos dados de treinamento. Deve estar entre 0 e 1.  | 
| `train_data_split_seed` | Se não houver dados de validação, isso corrige a divisão aleatória dos dados de treinamento de entrada nos dados de treinamento e validação usados pelo modelo. Deve ser um número inteiro.  | 
| `preprocessing_num_workers` | O número de processos a serem usados para pré-processamento. Se for `None`, o processo principal será usado para pré-processamento.  | 
| `lora_r` | Low-rank valor de adaptação (LoRa) r, que atua como fator de escala para atualizações de peso. Deve ser um número inteiro positivo.  | 
| `lora_alpha` | Low-rank valor alfa de adaptação (LoRa), que atua como fator de escala para atualizações de peso. Geralmente de duas a quatro vezes o tamanho de `lora_r`. Deve ser um número inteiro positivo.  | 
| `lora_dropout` | O valor de eliminação para camadas de adaptação de baixa classificação (LoRA) deve ser flutuante positivo entre 0 e 1.  | 
| `int8_quantization` | Se for `True`, o modelo será carregado com precisão de 8 bits para treinamento.  | 
| `enable_fsdp` | Se for `True`, o treinamento usará paralelismo de dados totalmente fragmentados.  | 

Você pode especificar valores de hiperparâmetros ao ajustar seu modelo no Studio. Para obter mais informações, consulte [Fine-tune um modelo no Studio](jumpstart-foundation-models-use-studio-updated-fine-tune.md). 

Você também pode substituir os valores padrão dos hiperparâmetros ao ajustar seu modelo usando o SDK. SageMaker Python Para obter mais informações, consulte [Fine-tune modelos de fundação disponíveis publicamente com a `JumpStartEstimator`classe](jumpstart-foundation-models-use-python-sdk-estimator-class.md).