Avançado
Quando o treinamento falha: spikes, divergence e NaNs
Pretraining confiável detecta sinais anormais, preserva estado forense e responde com regras testadas em vez de continuar cegamente.
Atualizada em
1
Conceito
Runs longas encontram batches incomuns, falhas transitórias de hardware, timeouts coletivos, overflow e regimes que pilotos não expuseram. Confiabilidade começa tratando anomalias como evidência. Pular qualquer inconveniência mantém o gráfico andando enquanto muda a distribuição ou esconde falha sistêmica.
Um loss spike é uma alta súbita seguida de recuperação ou escalada. Pode vir de batch difícil, tokenização corrompida, mudança de mixture, learning rate, exploding activations, overflow ou rank inválido. O shape sozinho não revela causa. Compare losses por token e rank, gradient norms, activation norms e manifesto do input.
Divergence significa que a trajetória deixa de retornar à faixa anterior e piora persistentemente. Rate excessiva, warmup insuficiente, inicialização ruim, optimizer state corrompido, dados patológicos ou precisão instável contribuem. O modelo pode continuar finito enquanto já diverge; esperar NaN é tarde.
NaN e infinito são sinais aritméticos terminais, não diagnósticos. Rastreie o primeiro tensor não finito com hooks. Overflow de softmax, divisão por zero, raiz inválida, range de fp16, redução de gradientes e optimizer updates são candidatos. Camadas posteriores espalham o valor, então o primeiro NaN reportado pode estar longe da origem.
Em todo checkpoint, retenha modelo, optimizer, scheduler, loss scaler, RNGs, cursor do data loader, mixture state, topologia, revisão do código e configuração. Registre IDs estáveis sem copiar texto sensível para logs gerais. Preserve eventos recentes, como troca de node ou retry de rede.
O processo forense parte do último checkpoint bom e repete o batch. Se reproduzir, rode em um device e dtype maior. Valide token ranges, máscaras, fronteiras, targets e pesos. Se não reproduzir, inspecione nondeterminism, collectives, memory corruption e telemetria. Compare ranks saudáveis e falhos.
Recuperação depende da causa. Repare ou quarentine uma amostra comprovadamente corrupta por decisão auditável. Reduza loss scale em overflow fp16. Restaure optimizer state corrompido. Uma rate temporariamente menor pode recuperar spikes, mas alterar permanentemente cria experimento novo. Rollback de pesos sem rollback de posição pode repetir ou ocultar o trigger.
Controles preventivos incluem clipping, normalização estável, inicialização conservadora, warmup, finite checks, validação de input, checksums e canary runs. Muitos checks síncronos reduzem throughput; combine sinais baratos frequentes com probes profundas menos frequentes.
Defina também um protocolo de decisão antes da crise. Quais thresholds apenas alertam, quais pausam novos checkpoints e quais abortam todos os ranks? Quem pode autorizar uma alteração de dados ou learning rate? Quanto desvio da trajetória anterior exige nova avaliação? Regras escritas evitam que o custo já gasto empurre a equipe a continuar uma run cujo estado deixou de ser confiável.
Curvas devem anotar checkpoint, restart, topologia, mixture e mudança de rate. Galeria de curvas reais só é útil com proveniência e eixos; screenshot sem rótulo convida narrativa. Compare tokens processados, não só relógio.
O princípio durável é falhar visivelmente e recuperar de forma reproduzível. Spikes são sintomas, NaNs são propagação e divergence é trajetória. Um sistema sério rastreia cada evento a dados, numerics, otimização ou infraestrutura e prova que a retomada voltou ao caminho esperado.
2
Como explicar para uma criança de cinco anos
Um monitor de UTI não resume o paciente pela média de batimentos. Ele observa ritmo, pressão, oxigênio, falha de sensor e horário dos remédios; ao tocar o alarme, a equipe preserva o prontuário e distingue mudança do paciente de sensor quebrado. Um dashboard de treino exige a mesma disciplina: loss é um sinal vital, e restart cego apaga evidência.
3
Ensine de volta
Dê uma resposta forense a um loss spike, distinguindo causas em dados, numérica, otimização e sistema distribuído.
Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.
Salvo somente neste dispositivo.
Ver uma resposta-modelo
Registre global step, token e document IDs, ranks, learning rate, loss scale, normas, linhagem do checkpoint e eventos recentes. Reproduza a partir de estado conhecido com o mesmo batch; teste em um rank e precisão maior. Inspecione dado e máscara malformados, não finitos, clipping, optimizer state, collectives e hardware. Quarentine input ruim apenas por policy documentada; retome de estado verificado e compare trajetórias.
4
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
Fontes
- Aakanksha Chowdhery et al. (2022). PaLM: Scaling Language Modeling with Pathways.
- Paulius Micikevicius et al. (2018). Mixed Precision Training.