English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

visitante
1 / ?

Dois Problemas em Cada Extremo do Treinamento

Problema dos Primeiros Passos: Pesos Recém-Inicializados Não Suportam Passos Grandes

No passo 0, cada peso começa como um pequeno número aleatório amostrado de uma distribuição próxima de zero. As ativações permanecem próximas de zero. Os gradientes quase não carregam informação sobre uma solução final. Aplicar uma taxa de aprendizagem de pico a esses gradientes faz o modelo saltar longe da inicialização em direções que não codificam estrutura significativa.


ANDREA-120M v1 cometeu esse erro. Sem warmup. O passo 1 usou lr = 0.0003 em pesos recém-inicializados. Resultado: o modelo ficou preso em um mau mínimo de parâmetros em poucos centenas de passos. Os valores de perda pareciam razoáveis; as amostras produziram loops de repetição por volta do passo 80K e nunca se recuperaram.


Problema em Etapas Tardias: Passos Grandes Não Refinam uma Solução

Por volta do passo 100K, o modelo já aprendeu a estrutura grosseira. Os gradientes agora carregam sinal refinado: qual peso de token precisa de um pequeno ajuste, qual cabeça de atenção precisa de um leve rebalanceamento. Aplicar uma taxa de aprendizado máxima nesse estágio faz com que cada ajuste fino seja ultrapassado, oscilando em torno de um ótimo sem se estabilizar.


Dois problemas, extremos opostos do treinamento. Uma única agenda, duas regiões: subir suavemente, descer suavemente.

Warmup Linear: Primeiros 2000 Passos

A Fórmula

ANDREA-120M v2 usa warmup linear ao longo de 2000 passos:


lr(t) = lr_scheduled(t) * min(1, (t + 1) / warmup_steps)


onde t é o número do passo (indexado a partir de 0), warmup_steps = 2000, e lr_scheduled(t) é o que o agendamento cosseno prescreveria ignorando o warmup.


Lendo a fórmula:


- Em t = 0: lr = lr_scheduled(0) min(1, 1/2000) = lr_scheduled(0) 0.0005. Passo inicial minúsculo.

- Em t = 1000: lr = lr_scheduled(1000) min(1, 1001/2000) = lr_scheduled(1000) 0.5. Metade da intensidade.

- Em t = 2000: lr = lr_scheduled(2000) min(1, 2001/2000) = lr_scheduled(2000) 1.0. Intensidade total.

- Em t > 2000: o clamp mantém o multiplicador em 1, o warmup não afeta mais nada, e o decaimento cosseno assume sozinho.


A rampa linear a partir de zero dá ao modelo 2000 passos para formar representações grosseiras antes que AdamW e o gradient clipping vejam atualizações de força total. Até o passo 2000, os pesos já se deslocaram o suficiente para que o lr de pico não os empurre para uma bacia ruim.

Cálculo da Taxa de Aprendizado Durante o Warmup

ANDREA-120M v2 usa `lr_scheduled = 0.0003` (pico) e `warmup_steps = 2000`. Ignore o decaimento cosseno durante o warmup (considere `lr_scheduled` constante). Calcule a taxa de aprendizado real em: (a) passo 0, (b) passo 500, (c) passo 2000, (d) passo 5000. Mostre seus cálculos.

Decaimento Cosseno Após Warmup

A Curva

Após o warmup terminar no passo 2000, a taxa de aprendizado segue uma curva cosseno do pico até zero nos passos restantes:


lr(t) = lr_min + (lr_peak - lr_min) 0.5 (1 + cos(pi * progress))


onde progress = (t - warmup_steps) / (total_steps - warmup_steps). Em progress = 0 (logo após o aquecimento), cos(0) = 1, lr = pico. Em progress = 1 (último passo), cos(pi) = -1, lr = lr_min (normalmente 0 ou um valor mínimo muito pequeno).


Por que Coseno, e não Linear ou Exponencial?

O decaimento cosseno começa devagar (a curva fica quase plana perto do pico), acelera no meio e depois desacelera novamente perto de zero. Três benefícios:


1. Platô próximo ao pico. Os primeiros passos após o aquecimento ainda recebem quase o lr máximo, permitindo que o modelo use um longo período de alta taxa de aprendizado para construir representações.

2. Transição suave no meio. Sem saltos abruptos que o AdamW precise absorver.

3. Platô próximo de zero. Nos passos finais, a lr fica muito pequena para o polimento fino, semelhante ao recozimento simulado.


ANDREA-120M treina por 200K passos no total; 198K desses passos estão na região de decaimento cosseno após o aquecimento de 2000 passos.


LR Warmup & Cosine Decay

Reinício Quente do ANDREA-12M no Passo 25K

O Platô

ANDREA-12M treinou por 60K passos com decaimento cosseno a partir do pico lr = 0.0004. Por volta do passo 22K, a perda estabilizou em EMA ~2.4. O decaimento cosseno havia reduzido a lr para ~0.00015. O bandit continuava fornecendo dados diversos; o modelo parou de melhorar.


Diagnóstico: lr havia decaído demais para o modelo escapar da bacia atual. Os dados do Hermes estavam prestes a entrar no currículo (passo 25K), trazendo 590K novas conversas. O modelo precisava de energia para absorver esse choque de dados.


O Reinício

No passo 25K, o agendamento executou um reinício quente: elevou lr de 0.00015 (decaído) de volta para 0.0004 (pico original), depois retomou o decaimento cosseno nos passos restantes.


Loshchilov & Hutter (2017) chamaram essa técnica de "SGDR" (descida de gradiente estocástica com reinícios quentes). A intuição: um lr alto adiciona energia cinética suficiente para escapar de uma bacia local e explorar as vizinhas; o decaimento cosseno subsequente re-anneala em uma bacia melhor.


Outcome. A perda EMA caiu de 2.40 para 2.10 nos próximos 10K passos após o reinício. O modelo foi enviado no passo 43.6K com perda SMMA de 2.0, demonstrando estrutura coerente de turnos Q&A.


ANDREA-120M v2 optou por NÃO usar reinícios quentes: com 200K passos disponíveis e uma contagem de parâmetros muito maior, o decaimento monotônico suave produziu convergência mais estável. O reinício funciona melhor quando o treinamento é curto e um platô coincide com uma mudança conhecida nos dados.

Diagnosticando a Falha do v1

ANDREA-120M v1 usou `lr = 0.0003` desde o passo 1, sem aquecimento. Até o passo 80K as amostras produziram `region region region region`. Razão mecanicamente: percorra o que acontece com uma matriz de pesos recém-inicializada nos passos 1 a 100 sob `lr = 0.0003` versus sob um aquecimento de 2000 passos. Por que o caminho sem aquecimento cai em uma bacia ruim?

Escolhas de Agendamento na Prática

Se você estivesse treinando um modelo de 120M em um conjunto de dados ruidoso por APENAS 50K passos no total, usaria um warmup mais longo ou mais curto que os 2000 passos do ANDREA-120M v2? Justifique com um argumento mecanístico.

Atividades Adjacentes

Três irmãos se conectam ao agendamento de LR:


- Atividade 10: AdamW. O aquecimento dá tempo para a correção de viés do AdamW estabilizar. Sem aquecimento, a amplificação de 10x no passo 1 multiplica qualquer ruído presente nos gradientes; com aquecimento, o multiplicador atua sobre o sinal real.

- Atividade 12: Clipping de gradiente. O clipping limita a norma L2 do gradiente em 1.0 ANTES do AdamW. O aquecimento amortiza lr; o clipping amortiza g. Juntos, mantêm os passos iniciais seguros mesmo em currículos propensos a choques.

- Atividade 22: Checkpointing. Um reinício quente exige carregar o estado do otimizador (m, v, contador de passos) de um checkpoint, depois alterar o agendamento durante a execução. O reinício do ANDREA-12M no passo 25K demonstra isso; foram necessárias duas tentativas para acertar a lógica de carregamento do estado.


Agendamento, otimizador e clipping formam um triângulo de estabilidade. Remova um vértice e veja o ANDREA repetir seu colapso da v1.