Pregunta de entrevista para Ingeniero de machine learning

Otra persona del equipo no consigue reproducir tus resultados de entrenamiento. ¿Qué podría ser distinto?

Qué evalúa el entrevistador, cómo estructurar tu respuesta y un ejemplo hablado que puedes adaptar.

Respuesta rápida

Normalmente una de cinco cosas: la instantánea de datos, las semillas aleatorias, las versiones de librerías y de CUDA, kernels de GPU no deterministas, o diferencias de hardware en el comportamiento de punto flotante. Fija los datos con una instantánea fechada en vez de una consulta viva, siembra todas las fuentes aleatorias incluidos los workers del cargador de datos, contenedoriza el entorno, y acepta que el determinismo bit a bit en GPU cuesta rendimiento y no siempre vale la pena comprarlo.

Por qué lo preguntan los entrevistadores

El entrevistador comprueba que entiendes la reproducibilidad como un conjunto de controles concretos y no como una virtud. La señal más fuerte es saber que las reducciones en GPU no son deterministas por defecto y que forzar el determinismo tiene un coste real de velocidad, más saber que los datos son el culpable más común porque cambian por debajo sin ningún cambio de código.

Cómo estructurar tu respuesta

  • Enumera las causas candidatas por orden de probabilidad.
  • Pon la instantánea de datos primero porque cambia sin hacer ruido.
  • Cubre la siembra de todas las fuentes, incluidos los workers del cargador de datos.
  • Explica el no determinismo de GPU y el coste de forzarlo.
  • Di qué nivel de reproducibilidad merece la pena pagar de verdad.

Ejemplo de respuesta

Ejemplo hablado, en primera persona

Bajo por una lista, lo más probable primero. Los datos, casi siempre. Si la consulta de entrenamiento lee una tabla viva, cambió entre mi ejecución y la suya, y ninguna semilla arregla eso, así que el entrenamiento lee una instantánea fechada con un recuento de filas registrado. Después las semillas, y no solo la del framework: la de random de Python, la de NumPy, la del framework y, crucialmente, la de los workers del cargador de datos, cada uno con su propia semilla para que el barajado y el aumento de datos también sean reproducibles. Luego el entorno, y por eso el entrenamiento corre en un contenedor con versiones de librerías y de CUDA fijadas en vez de con lo que alguien tenga instalado. Después de eso ya estás en el no determinismo de GPU. Algunos kernels usan acumulación atómica, así que el orden de reducción varía entre ejecuciones y salen diferencias diminutas de punto flotante que se acumulan a lo largo de miles de pasos. Puedes forzar algoritmos deterministas, pero eso desactiva los kernels rápidos y he visto que cuesta un veinte por ciento o más. Así que pregunto qué necesitamos de verdad. Para una investigación de depuración o un modelo regulado pago el determinismo bit a bit. Normalmente solo necesito resultados que coincidan dentro del ruido, y lo demuestro ejecutando la misma configuración dos veces y enseñando la dispersión.

¿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 funciona

Preguntas de seguimiento que puedes esperar

  • ¿Cómo demostrarías que una diferencia está dentro del ruido entre ejecuciones?
  • ¿Qué flags del framework fuerzan kernels deterministas, y qué cuestan?
  • ¿Cómo haces reproducible una ejecución distribuida con un número distinto de nodos?

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

Ensaya las preguntas difíciles antes de que te las hagan

Practica con un copiloto en vivo y entra preparado. Un Session Pass de $29 te lleva a través de la entrevista sin suscripción y sin ataduras.

Consigue GhostPilot