Recursos/Treinamento de modelo/O que acontece durante o treinamento

Configuração

Hiperparâmetros

Hiperparâmetros são as configurações de treinamento que você escolhe, como épocas, taxa de aprendizado, tamanho do lote e rank do adaptador, em oposição aos pesos que o modelo aprende. O modo Automático os escolhe a partir dos seus dados e realiza uma boa primeira execução; esta página explica cada um deles para que você possa ajustá-los a partir daí.

Capítulo 66 min de leitura4 referências

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

ÉpocasTípico 1–3 (ajuste de preferência 1–2)#

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.

Taxa de aprendizado / multiplicadorTípico Padrão do provedor (× 0,5–2)#

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.

Tamanho do loteTípico Auto#

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.

Rank do LoRA / tamanho do adaptadorTípico 4–16#

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.

Passos de aquecimentoTípico 0–10% dos passos#

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.

AQUECIMENTOpico da taxa de aprendizadodecaimento cossenodecaimento lineartaxa de aprendizadopassos de treinamento →010%100%
Um cronograma típico de taxa de aprendizado. O aquecimento eleva a taxa de quase zero até o seu pico durante a primeira pequena porcentagem de passos, para que as primeiras atualizações, mais ruidosas, sejam pequenas. A taxa então decai em direção a zero, por meio de uma curva cosseno ou uma linha reta, para que as últimas atualizações façam ajustes finos em vez de grandes saltos.

Como as configurações interagem

Se você alterarConsidere tambémPor que
Mais épocasUma taxa de aprendizado menor; observar a perda de validaçãoMais passagens e passos grandes juntos agravam o overfitting
Um lote maiorUma taxa de aprendizado maiorHá menos passos, porém mais confiáveis, por época
Um conjunto de dados menorUm lote menor; possivelmente algumas épocas a maisCaso contrário, haverá muito poucos passos com os quais aprender
LoRA em vez de fine-tuning completoUma 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 supervisionadoMenos épocas e uma taxa de aprendizado menorEle refina um modelo funcional; passos grandes o fazem desviar

Uma ordem prática de ajuste

  1. Execute uma vez no modo Automático. É uma linha de base razoável e mostra o que o provedor escolhe para os seus dados.
  2. 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.
  3. Avalie em relação ao modelo base, não apenas a perda. Uma perda menor não garante respostas melhores.
  4. 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.
  5. Mantenha as execuções malsucedidas. Arquivadas com suas avaliações, elas respondem à pergunta ‘tentamos uma taxa de aprendizado maior?’ meses depois.
Um ajuste, lido a partir das curvas
  1. 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.
  2. Diagnóstico: sobreajuste a partir da metade da execução. A taxa de aprendizado parece adequada: a curva é suave, não irregular.
  3. 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.
  4. 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.

  1. 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.
  2. 02Linear regression: HyperparametersGoogle Machine Learning Crash Course · developers.google.comTaxa de aprendizado, tamanho do lote e épocas explicados com exemplos interativos.
  3. 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.
  4. 04Hyperparameter (machine learning)Wikipedia · en.wikipedia.org

Transforme semanas de trabalho especializado em minutos

Veja como o Scalata se adapta à sua equipe, aos seus dados e aos seus Controles.

Fale com vendas