Soluciona problemas del flujo de trabajo de Cloud TPU

Una vez que tengas tu carga de trabajo de entrenamiento o inferencia ejecutándose en TPU, el siguiente paso es asegurarte de que funcione como se espera. Cloud TPU genera métricas y registros que te permiten buscar y depurar las VMs de TPU que no se comportan como se espera. En esta documentación, nos referimos a esas VMs como valores atípicos.

El flujo de trabajo general para la solución de problemas es el siguiente:

  1. Consulta las métricas de Cloud TPU para verificar si hay VMs de TPU con valores atípicos
  2. Consulta los registros de Cloud TPU de las VMs de TPU con valores atípicos
  3. Genera un perfil de tu carga de trabajo

Puedes ver las métricas y los registros en el Explorador de métricas y el Explorador de registros en la consola de Google Cloud. También puedes usar los paneles de supervisión y registro para recopilar todas las métricas y los registros relacionados con Cloud TPU en paneles individuales.

Métricas de las VMs de Cloud TPU

Cloud Monitoring recopila automáticamente las métricas de tus TPU y sus VMs de Compute Engine anfitrión. Las métricas realizan un seguimiento de las cantidades numéricas a lo largo del tiempo, por ejemplo, el uso de la CPU, el uso de la red o la duración inactiva de TensorCore. Para obtener más información sobre las métricas de Cloud TPU, consulta Cómo supervisar las VMs de TPU.

Registros de Cloud TPU

Cloud Logging recopila automáticamente los registros de tus TPU y sus VMs de Compute Engine anfitrión. Cloud Logging realiza un seguimiento de los eventos que genera Cloud TPU. También puedes instrumentar tu código para generar registros. Cloud TPU genera dos tipos de registros:

  • Registros del trabajador de TPU
  • Registros de recursos auditados

Los registros del trabajador de TPU contienen información sobre un trabajador TPU específico en una zona específica, por ejemplo, la cantidad de memoria disponible en el trabajador TPU (system_available_memory_GiB).

Los registros de recursos auditados contienen información sobre cuándo se llamó a una API de Cloud TPU específica y quién realizó la llamada. Por ejemplo, CreateNode, UpdateNode y DeleteNode.

También puedes usar el paquete PyPi cloud-tpu-diagnostics para escribir seguimientos de pila en los registros. Para obtener más información, consulta Depuración de VMs de TPU.

Para obtener más información sobre los registros, consulta Registro.

Paneles de supervisión y registro

Tener una sola página en la consola de Google Cloud puede facilitar la visualización y la interpretación de las métricas y los registros relacionados con Cloud TPU. El repositorio de GitHub monitoring-debugging contiene un conjunto de secuencias de comandos y archivos de configuración que usan Terraform para implementar automáticamente paneles que contienen todas las métricas y registros relacionados con Cloud TPU en los paneles. Para configurar estos paneles en tu proyecto de Google Cloud, consulta Paneles de Monitoring y Logging.

Crea perfiles de tus cargas de trabajo en VMs de TPU

La generación de perfiles te permite optimizar el rendimiento de entrenamiento de tu modelo en VMs de TPU. Usas TensorBoard y el complemento de TensorBoard de TPU para crear el perfil de tu modelo. Si deseas obtener más información para generar perfiles de tu carga de trabajo, consulta Genera perfiles de tu modelo en VMs de TPU.

Para obtener más información sobre el uso de TensorBoard con uno de los frameworks compatibles, consulta los siguientes documentos: