Aumente a taxa de aprendizado, aproximadamente linear com o batch size para aumentos moderados, ou pela raiz quadrada segundo algumas análises. Um batch maior dá uma estimativa de gradiente com variância menor, então você pode bancar um passo maior. Na prática você também precisa de warmup, já que a regra linear quebra no início do treino, e batches muito grandes eventualmente param de melhorar a generalização.
Por que os entrevistadores perguntam isso
É uma checagem rápida para ver se você já treinou modelos em escala ou só rodou tutoriais. O entrevistador quer o raciocínio sobre variância do gradiente em vez de uma regra decorada, mais consciência de que a escala linear tem limites e precisa de warmup. Candidatos que dizem que nada muda revelam que nunca viram um treino divergir depois de mudar para uma GPU maior.
Como estruturar sua resposta
- Enuncie a regra de escala linear de cara.
- Justifique com variância do gradiente, não só com convenção.
- Acrescente warmup como requisito prático.
- Diga onde a regra quebra e o que você observa.
Exemplo de resposta
O padrão é escala linear: dobrou o batch, dobrou a taxa de aprendizado. A lógica é que o gradiente que você calcula num batch é uma estimativa do gradiente verdadeiro, e a variância dela cai com o tamanho do batch, então um batch maior te dá uma direção mais confiável e você pode dar um passo proporcionalmente maior nela. O que as pessoas pulam é o warmup. Logo no começo os pesos são aleatórios e a superfície de perda não é amigável, então uma taxa de aprendizado grande aplicada imediatamente após um salto de batch size vai explodir o treino nas primeiras centenas de passos. Então eu subo linearmente de perto de zero até o alvo ao longo de uma janela de warmup e depois decaio. Passado certo tamanho de batch a regra para de compensar, tanto porque a estimativa de gradiente já tem variância baixa e você não ganha nada, quanto porque você dá muito menos passos de otimizador por época, o que parece prejudicar a generalização. Eu bati nesse teto perto de alguns milhares de amostras por batch nos modelos com que trabalhei. Então minha rotina depois de qualquer mudança de batch size é escalar, aquecer, e aí observar a curva de loss nos primeiros mil passos em vez de sair andando.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- Que duração de warmup você usaria, e o que determina isso?
- O que é gradient accumulation e quando ela substitui um batch maior?
- Por que um batch muito grande pode prejudicar a acurácia final de validação?
Mais perguntas para Engenheiro de Machine Learning
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas