Parâmetros e hiperparâmetros
Os parâmetros de um modelo, seus pesos, são aprendidos: o treinamento os define. Os hiperparâmetros são definidos por você antes do início do treinamento e controlam como esse aprendizado ocorre: quantas vezes os dados são vistos, qual o tamanho de cada atualização, quantos exemplos entram em cada atualização, qual o tamanho de um adaptador. O treinamento não consegue encontrar bons hiperparâmetros por conta própria. Você os encontra executando, medindo e ajustando, e é por isso que um padrão sensato e uma maneira clara de ler os resultados importam mais do que um primeiro palpite perfeito.
As configurações
Quantas passagens completas o treinamento faz sobre seus dados. Muito poucas e o modelo quase não muda; muitas e ele começa a reproduzir seus exemplos palavra por palavra (sobreajuste), o que se reflete no aumento da perda de validação enquanto a perda de treinamento continua caindo. Conjuntos de dados pequenos podem suportar algumas épocas a mais; os grandes geralmente precisam de apenas uma. O ajuste de preferência geralmente precisa de menos épocas do que o treinamento supervisionado. Cada época também aumenta o custo.
O tamanho de cada atualização de peso. É a configuração mais sensível: se for muito alta, as atualizações ultrapassam o limite, a perda torna-se irregular e o modelo pode perder habilidades que já possuía; se for muito baixa, a execução termina antes que o modelo tenha aprendido o suficiente. Modelos hospedados frequentemente expõem um multiplicador em vez de uma taxa bruta: a taxa padrão do próprio provedor para aquele modelo e seus dados é multiplicada pelo seu valor, de modo que 1 mantém o padrão, 2 o duplica e 0,5 o reduz pela metade. Modelos abertos aceitam uma taxa bruta, como cerca de 1e-4 para um adaptador LoRA ou 1e-5 para um fine-tuning completo.
Quantos exemplos são calculados em média em cada atualização de peso. Lotes maiores fornecem atualizações mais suaves e confiáveis, mas em menor quantidade por época, e exigem mais memória; lotes menores são atualizados com mais frequência, mas com mais ruído. Ao alterar o tamanho do lote, reconsidere também a taxa de aprendizado: um lote maior geralmente tolera, e precisa de, uma taxa maior. Em um conjunto de dados pequeno, um lote muito grande deixa poucas etapas para o aprendizado.
Para o treinamento de adaptadores em modelos abertos. O rank das duas pequenas matrizes que o LoRA treina ao lado de cada camada, o que define o quanto o adaptador pode aprender. Um rank de 4–16 é suficiente para tom, estilo e formato; conjuntos de dados maiores e com muito conhecimento podem utilizar mais. Ranks mais altos custam mais memória e tempo, e deixam de ajudar assim que o adaptador atinge capacidade suficiente. A página do LoRA aborda alfa, módulos de destino e dropout.
Para os primeiros passos do treinamento, a taxa de aprendizado aumenta de quase zero até o seu valor total, em vez de começar com força total. No início, as estatísticas de execução do otimizador baseiam-se em muito poucos gradientes, portanto, passos de tamanho total correm o risco de um mau primeiro movimento; um aquecimento curto evita um início instável. É definido como um número de passos ou uma proporção de todos os passos. Após o aquecimento, a taxa geralmente decai em direção a zero durante o restante da execução.
Como as configurações interagem
| Se você alterar | Considere também | Por que |
|---|---|---|
| Mais épocas | Uma taxa de aprendizado menor; observar a perda de validação | Mais passagens e passos grandes juntos agravam o overfitting |
| Um lote maior | Uma taxa de aprendizado maior | Há menos passos, porém mais confiáveis, por época |
| Um conjunto de dados menor | Um lote menor; possivelmente algumas épocas a mais | Caso contrário, haverá muito poucos passos com os quais aprender |
| LoRA em vez de fine-tuning completo | Uma taxa de aprendizado maior, aproximadamente 10× | O adaptador começa em zero e sua saída é dimensionada por alfa ÷ r |
| Ajuste de preferência após o supervisionado | Menos épocas e uma taxa de aprendizado menor | Ele refina um modelo funcional; passos grandes o fazem desviar |
Uma ordem prática de ajuste
- Execute uma vez no modo Automático. É uma linha de base razoável e mostra o que o provedor escolhe para os seus dados.
- Leia as curvas de perda. Perda de validação subindo cedo: menos épocas ou uma taxa de aprendizado menor. Ambas as perdas ainda caindo no final: mais épocas. Nenhuma se movendo: verifique os dados primeiro, depois tente uma taxa de aprendizado maior.
- Avalie em relação ao modelo base, não apenas a perda. Uma perda menor não garante respostas melhores.
- Altere uma configuração por vez, mantendo o restante fixo, para saber o que fez a diferença. Taxa de aprendizado e épocas primeiro; tamanho do lote e aquecimento raramente precisam ser alterados.
- Mantenha as execuções malsucedidas. Arquivadas com suas avaliações, elas respondem à pergunta ‘tentamos uma taxa de aprendizado maior?’ meses depois.
- Execução 1, no Auto: 3 épocas, multiplicador 1. A perda de treinamento cai continuamente; a perda de validação atinge o nível mais baixo no início da época 2 e sobe depois disso.
- Diagnóstico: sobreajuste a partir da metade da execução. A taxa de aprendizado parece adequada: a curva é suave, não irregular.
- Execução 2: 2 épocas, todo o resto inalterado. A perda de validação agora termina perto do seu ponto mais baixo, e a execução custa um terço a menos.
- Antes de mantê-la: avalie a execução 2 em relação ao modelo base e à execução 1.
Erros comuns
- Alterar várias configurações ao mesmo tempo, de modo que um resultado melhor ou pior não possa ser explicado.
- Ajustar com base na perda de treinamento. Ela quase sempre melhora com mais épocas ou uma taxa mais alta; a perda de validação e a avaliação são os verdadeiros juízes.
- Tratar um multiplicador como uma taxa de aprendizado bruta. Um multiplicador de 2 dobra o padrão do provedor; não é uma taxa de 2.
- Copiar configurações de uma execução com um tamanho de dados muito diferente. Etapas, aquecimento e o número certo de épocas escalam de acordo com os dados.
- Buscar pequenas diferenças em um conjunto de validação minúsculo. Com algumas dezenas de conversas retidas, uma pequena variação é apenas ruído.
Referências e leitura complementar
Fontes externas abrem em uma nova aba.
- 01TrainerHugging Face Transformers docs · huggingface.coA lista completa de argumentos de treinamento e seus padrões, desde a taxa de aprendizado e épocas até o aquecimento e o decaimento de peso.
- 02Linear regression: HyperparametersGoogle Machine Learning Crash Course · developers.google.comTaxa de aprendizado, tamanho do lote e épocas explicados com exemplos interativos.
- 03Accurate, Large Minibatch SGD: Training ImageNet in 1 HourGoyal et al., 2017 · arXiv · arxiv.orgA regra de escalonamento linear que liga o tamanho do lote e a taxa de aprendizado, e o aquecimento gradual.
- 04Hyperparameter (machine learning)Wikipedia · en.wikipedia.org