View a markdown version of this page

Modelos de base e hiperparâmetros para ajuste - SageMaker Inteligência Artificial da Amazon

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

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.

  2. 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.

Modelos de base disponíveis para ajuste

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

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.

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 JumpStartEstimatorclasse.