Súbela, más o menos de forma lineal con el tamaño de batch para incrementos moderados, o según la raíz cuadrada bajo algunos análisis. Un batch mayor da una estimación del gradiente con menos varianza, así que te puedes permitir un paso más grande. En la práctica también necesitas warmup, ya que la regla lineal se rompe al principio del entrenamiento, y los batches muy grandes acaban dejando de mejorar la generalización.
Por qué lo preguntan los entrevistadores
Es una comprobación rápida de si has entrenado modelos a escala o solo has seguido tutoriales. El entrevistador quiere el razonamiento sobre la varianza del gradiente y no una regla memorizada, más la conciencia de que el escalado lineal tiene límites y necesita warmup. Quien dice que no cambia nada revela que nunca ha visto una ejecución divergir tras pasarse a una GPU más grande.
Cómo estructurar tu respuesta
- Enuncia la regla de escalado lineal por delante.
- Justifícala con la varianza del gradiente, no solo con la convención.
- Añade el warmup como requisito práctico.
- Di dónde se rompe la regla y qué vigilas.
Ejemplo de respuesta
Por defecto, escalado lineal: doble de batch, doble de tasa de aprendizaje. La lógica es que el gradiente que calculas sobre un batch es una estimación del gradiente verdadero, y su varianza baja con el tamaño de batch, así que un batch mayor te da una dirección más fiable y puedes dar un paso proporcionalmente mayor en ella. Lo que la gente se salta es el warmup. Justo al principio los pesos son aleatorios y la superficie de pérdida no es amable, así que una tasa de aprendizaje grande aplicada de inmediato tras subir el batch te revienta la ejecución en los primeros cientos de pasos. Así que subo de forma lineal desde casi cero hasta el objetivo durante una ventana de warmup, y luego decaigo. Pasado cierto tamaño de batch la regla deja de compensar, tanto porque la estimación del gradiente ya tiene poca varianza y no ganas nada, como porque das muchos menos pasos de optimizador por época, lo que parece perjudicar la generalización. Yo he tocado ese techo alrededor de unos pocos miles de muestras por batch en los modelos con los que he trabajado. Así que mi rutina tras cualquier cambio de tamaño de batch es escalar, hacer warmup, y luego vigilar la curva de pérdida durante los primeros mil pasos en vez de irme.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Cuánto warmup usarías, y qué lo determina?
- ¿Qué es la acumulación de gradiente y cuándo sustituye a un batch mayor?
- ¿Por qué un batch muy grande puede perjudicar la precisión final de validación?
Más preguntas para Ingeniero de machine learning
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas