O schedule padrão de treinamento de LLM tem três fases: (1) warmup: aumente linearmente a learning rate de ~0 até o valor de pico nos primeiros 0,1–2% dos passos de treinamento. Isso previne que o modelo inicializado aleatoriamente dê passos grandes demais no início. (2) Estável/pico: mantenha a learning rate de pico pela maior parte do treinamento. (3) Decay: diminua a learning rate seguindo uma curva cosseno até próximo de zero no final. Isso permite que o modelo faça ajustes refinados na fase final.
Decay cosseno: lr(t) = lr_min + 0,5 · (lr_max − lr_min) · (1 + cos(π · t / T)), onde t é o passo atual e T é o total de passos. Isso produz uma curva suave que diminui lentamente no início, depois mais rápido, depois lentamente novamente conforme se aproxima do mínimo. Por que cosseno? Funciona bem empiricamente e evita as transições abruptas de schedules baseados em degraus. A learning rate final é tipicamente 10x menor que a de pico.
A regra de escala linear: se você dobrar o tamanho do batch, dobre a learning rate. Isso preserva o tamanho efetivo do passo quando a estimativa do gradiente se torna mais precisa (pelo batch maior). A regra se mantém aproximadamente para tamanhos de batch moderados mas quebra para batches muito grandes, onde a learning rate ótima cresce mais devagar que linearmente. Acertar essa relação é crítico para treinamento distribuído onde o tamanho do batch escala com o número de GPUs.