Información sobre el servicio de AI Platform Training

En esta página, se explica el estado de un clúster de entrenamiento durante el ciclo de vida de un trabajo de entrenamiento y cómo AI Platform Training soluciona los errores de entrenamiento. Puedes usar esta información para adaptar tu código de entrenamiento según corresponda.

Ciclo de vida de un trabajo de entrenamiento

En esta sección, se explica cómo AI Platform Training maneja las VM de trabajador durante el ciclo de vida de un trabajo de entrenamiento.

Inicia trabajadores en paralelo

Cuando se inicia un trabajo de entrenamiento, AI Platform Training programa tantos trabajadores como sea posible en un período corto. Como resultado, los trabajadores pueden iniciarse en paralelo en lugar de secuencialmente. Para reducir la latencia de inicio, AI Platform Training comenzará a ejecutar el código en cada trabajador en cuanto esté disponible. Cuando todos los trabajadores están disponibles, AI Platform Training establece el estado del trabajo en RUNNING.

En la mayoría de los casos, tu framework de aprendizaje automático maneja de forma automática los trabajadores que comienzan en paralelo. Si usas una estrategia de distribución en tu código de entrenamiento, es posible que debas ajustarla de forma manual para controlar los trabajadores que se inician en paralelo. Obtén más información sobre las estrategias de distribución en TensorFlow y en PyTorch.

Reinicia los trabajadores durante el trabajo de entrenamiento

Durante un trabajo de entrenamiento, AI Platform Training puede reiniciar la instancia principal, los trabajadores o los servidores de parámetros con el mismo nombre de host. Esto puede suceder por los siguientes motivos:

  • Mantenimiento de VM: Cuando la VM que ejecuta un trabajador está sujeta al mantenimiento de VM, AI Platform Training reinicia el trabajador en otra VM. Obtén más información sobre la migración en vivo para el mantenimiento de VM.
  • Salidas que no son cero: Si un trabajador sale con un código de salida que no es cero, AI Platform Training reinicia ese trabajador de inmediato en la misma VM.

    • Si un trabajador falla debido a un error común, se lo trata como un error permanente y AI Platform Training cierra todo el trabajo. Si algún contenedor se reinicia antes de que AI Platform Training cierre todo el trabajo, estos contenedores pueden producir registros en Cloud Logging.
    • Si un trabajador falla debido a un error no permanente (cualquier error que no aparezca en los errores comunes), AI Platform Training permite que el trabajador reiniciado continúe ejecutándose, con hasta cinco reinicios por trabajador. Después de cinco reinicios, si un trabajador falla nuevamente, AI Platform Training vuelve a intentar todo el trabajo hasta tres veces antes de que falle todo el trabajo.

Para manejar los reinicios de trabajadores en tu código de entrenamiento, guarda los puntos de control con frecuencia durante el entrenamiento para que puedas restaurar a partir de estos cuando se reinicie un trabajador. Si esperas que el entrenamiento tome más de cuatro horas, te recomendamos que guardes un punto de control al menos una vez cada cuatro horas. Obtén información sobre cómo usar los puntos de control del entrenamiento en TensorFlow y en PyTorch.

Completa un trabajo de forma correcta

Un trabajo de entrenamiento se completa con éxito cuando su réplica principal se genera con el código de salida 0. En ese momento, AI Platform Training cierra todos los demás trabajadores en ejecución.

Cómo AI Platform Training soluciona los errores del trabajo de entrenamiento

En esta sección, se explica cómo AI Platform Training soluciona los errores comunes del trabajo de entrenamiento y los errores internos.

Alrededor de un minuto después de que un trabajo finalice, AI Platform Training configura el código de error en el objeto del trabajo de entrenamiento según el código de salida.

Soluciona errores comunes

AI Platform Training cierra todos los trabajadores si se encuentra con alguno de los siguientes problemas:

Tipo de error Mensaje de error/registro con errores Nota
Excepción del código de usuario La réplica REPLICA_NAME salió con un estado que no es cero de EXIT_CODE. Motivo del término: REASON. Si el trabajo encontró códigos de salida que pueden ser transitorios, AI Platform Training intentará reiniciar el trabajo hasta tres veces. Los códigos de error potencialmente transitorios que hacen que AI Platform Training vuelva a intentar el trabajo incluyen los siguientes:
  • SIGABRT
    • ExitCode 6
    • ExitCode 134 (contenedores personalizados)
  • SIGSEGV
    • ExitCode 11
    • ExitCode 139 (contenedores personalizados)
No hay memoria suficiente La réplica REPLICA_NAME se quedó sin memoria y salió con un estado que no es cero de EXIT_CODE. GKE reserva memoria en los nodos de AI Platform Training. En los tipos de máquina más pequeños (como n1-standard-4), los agentes del sistema de AI Platform Training pueden usar hasta un 40% de la memoria total. En VM más grandes, la sobrecarga es relativamente pequeña. Compara la memoria asignable para los tipos de máquina n1-standard.
Capacidad insuficiente en tu región (agotamiento de Compute Engine) Los recursos no son suficientes en la región: REGION_NAME. Prueba con una región diferente o usa un acelerador diferente. Un agotamiento ocurre cuando Compute Engine alcanza la capacidad de CPU o GPU seleccionada en tu región. No está relacionado con la cuota de tu proyecto. Cuando esto sucede, AI Platform Training intenta reiniciar el trabajo hasta tres veces.

Soluciona errores internos

Si AI Platform Training tiene un error interno, intenta reiniciar un trabajo dos veces (tres intentos en total). Si los intentos de reinicio también fallan, AI Platform Training muestra un error interno con el siguiente mensaje: Internal error occurred for the current attempt.