Plataforma de ML Diagnostics
Google Cloud ML Diagnostics es una plataforma administrada de extremo a extremo para optimizar, supervisar y diagnosticar cargas de trabajo de IA y AA en Google Cloud. Usa el diagnóstico de AA para supervisar las cargas de trabajo, así como recopilar y visualizar todas las métricas, los parámetros de configuración y los perfiles de las cargas de trabajo en una sola plataforma. El diagnóstico de AA se aplica al entrenamiento, al aprendizaje por refuerzo (RL) posterior al entrenamiento y a las cargas de trabajo de inferencia, y es compatible con todos los organizadores en Cloud TPU. La compatibilidad con GKE tiene disponibilidad general. La compatibilidad con Slurm administrado a través de Cluster Director, los organizadores personalizados, como Kubernetes y Slurm, y Compute Engine se encuentra en versión preliminar.
El Diagnóstico de AA incluye las siguientes funciones de disponibilidad general:
- Supervisión de cargas de trabajo: Supervisa y diagnostica automáticamente las cargas de trabajo de IA y AA que se ejecutan en las TPU de GKE. Para cada trabajo de GKE, la supervisión de cargas de trabajo de diagnóstico de AA crea automáticamente una ejecución de aprendizaje automático, supervisa el ciclo de trabajo de la TPU en toda la carga de trabajo, detecta eventos que afectan la carga de trabajo y analiza diferentes capas de la carga de trabajo, como la infraestructura, el organizador y el framework, para ayudar a determinar las posibles causas del evento.
- Ejecuciones de aprendizaje automático: Usa ML Diagnostics para crear y registrar tus ejecuciones de aprendizaje automático a través de Google Cloud CLI o integra el SDK de ML Diagnostics con tu carga de trabajo. Puedes crear y registrar ejecuciones automáticamente con la supervisión de cargas de trabajo, implementar instancias administradas de XProf con tus ejecuciones de aprendizaje automático y recopilar y administrar métricas, parámetros de configuración y sesiones de perfiles de cargas de trabajo.
- Experiencia de gcloud CLI: Usa las APIs de ML Diagnostics a través de gcloud CLI para registrar y administrar ejecuciones, implementar recursos de XProf administrados, visualizar sesiones de perfiles en buckets de almacenamiento y activar capturas de perfiles desde la CLI. También puedes enumerar todos los eventos detectados por la supervisión de cargas de trabajo y obtener detalles del analizador para estos eventos a través de la CLI o la API.
- SDK de Python: Usa el SDK de ML Diagnostics de código abierto integrado en las cargas de trabajo de AA para obtener una experiencia completa de diagnóstico de cargas de trabajo de AA. Supervisa las cargas de trabajo y recopila y administra sus métricas, parámetros de configuración y perfiles en Google Cloud.
- Generación de perfiles administrada: El diagnóstico de AA implementa una instancia administrada de XProf con un backend escalable en las cuentas asociadas, lo que permite la carga rápida de perfiles grandes. Admite que varios usuarios accedan a los perfiles de forma simultánea y contiene funciones integradas, como la generación de perfiles de varios hosts y a pedido.
- Métricas de carga de trabajo: Realiza un seguimiento de las métricas de carga de trabajo, incluidas las métricas de calidad del modelo, rendimiento del modelo y sistema. Con la supervisión de cargas de trabajo, puedes obtener métricas del sistema asociadas con la carga de trabajo sin integrar el SDK.
- Administración de configuraciones de cargas de trabajo: Realiza un seguimiento de las configuraciones de las cargas de trabajo, incluidos los parámetros de configuración de software, del sistema y definidos por el usuario.
- Visualizaciones en Cluster Director y GKE: Visualiza métricas, parámetros de configuración y perfiles en Cluster Director y Google Kubernetes Engine en la consola de Google Cloud .
- Uso compartido de vínculos: Colabora con vínculos para compartir que incluyan información sobre las ejecuciones de aprendizaje automático, la supervisión de cargas de trabajo, las métricas y los perfiles.
El Diagnóstico de AA también incluye las siguientes funciones de versión preliminar:
- Supervisión de cargas de trabajo: Captura automáticamente perfiles de XProf para realizar un diagnóstico más detallado cuando los analizadores de degradación del rendimiento muestren un estado incorrecto.
- SDK de Python: Compatibilidad con cargas de trabajo de vLLM, Tunix y TorchTPU.
- Creación de perfiles administrada: Creación continua de perfiles en modo de instantánea y análisis de perfiles de agentes.
Marcos de cargas de trabajo y tipos de organizadores
ML Diagnostics admite JAX y tiene disponibilidad general en GKE. Los frameworks de cargas de trabajo, como TorchTPU, vLLM en JAX, vLLM en TorchTPU y Tunix, están disponibles en versión preliminar en los siguientes organizadores:
- GKE
- Kubernetes autoadministrado
- Slurm administrado por Cluster Director
- Slurm autoadministrado
- Compute Engine
En la siguiente tabla, se resumen las funciones compatibles y los componentes necesarios para las cargas de trabajo de JAX en todos los tipos de organizadores:
| Tipo de organizador | Funciones compatibles y componentes obligatorios |
|---|---|
| GKE |
|
| Kubernetes autoadministrado |
|
| Slurm administrado por Cluster Director, Slurm autoadministrado y Compute Engine |
|
Rutas de los usuarios
Puedes usar la plataforma de ML Diagnostics automáticamente con la supervisión de cargas de trabajo para todos los trabajos de GKE o integrar el SDK con tu carga de trabajo para obtener la experiencia completa de diagnóstico de cargas de trabajo de AA. Puedes interactuar con la plataforma de ML Diagnostics a través de la consola de Google Cloud o la CLI. La supervisión de cargas de trabajo está disponible de forma automática para todas las cargas de trabajo implementadas con GKE en TPU.
Con la CLI, puedes usar la gcloud CLI de ML Diagnostics para crear o modificar una ejecución de aprendizaje automático y, además, implementar los recursos de XProf administrados. Con el SDK de ML Diagnostics, el SDK debe integrarse en tu carga de trabajo de AA para recopilar y administrar las métricas y los parámetros de configuración de la carga de trabajo, y para implementar recursos administrados de XProf.
Para comenzar, usa una de las siguientes guías:
Requisitos previos
Antes de usar el Diagnóstico de AA, habilita la API de Cluster Director y agrega los permisos de IAM necesarios. Si usas GKE, la supervisión de cargas de trabajo ya está habilitada. Sin embargo, el SDK de diagnóstico de AA y los perfiles on demand requieren artefactos adicionales de GKE y la configuración de tu clúster de GKE. Para obtener más información, consulta Configura GKE.
Habilita la API de Cluster Director
No es necesario que uses Cluster Director para implementar y administrar tus clústeres con el objetivo de usar el producto de diagnóstico de AA. ML Diagnostics funciona con clústeres administrados por GKE, Cluster Director o los organizadores personalizados. ML Diagnostics forma parte de la familia de APIs de Cluster Director, pero no depende de que los usuarios usen el producto Cluster Director.
Para obtener más información sobre cómo habilitar la API de Cluster Director, consulta Habilita una API en tu proyecto de Google Cloud .
Permisos de IAM
La cuenta de servicio de Google Cloud que usa tu carga de trabajo requiere que se asignen los siguientes roles de IAM en el proyecto:
roles/hypercomputecluster.editor: Para obtener acceso completo para crear y administrar recursos deMLRun, y ver la interfaz de usuario.roles/logging.logWriter: Para escribir registros y métricas en Cloud Logging.roles/storage.objectUser: Para guardar perfiles en el bucket de Cloud Storage especificado enmachinelearning_run.
También puedes crear roles personalizados que asignen a los usuarios un subconjunto de APIs necesarias para el diagnóstico de AA. Dado que los usuarios no necesitan usar Cluster Director para administrar clústeres, solo debes asignar los siguientes permisos:
hypercomputecluster.locations.gethypercomputecluster.locations.listhypercomputecluster.clusters.listhypercomputecluster.nodes.listhypercomputecluster.machineLearningRuns.createhypercomputecluster.machineLearningRuns.deletehypercomputecluster.machineLearningRuns.gethypercomputecluster.machineLearningRuns.listhypercomputecluster.machineLearningRuns.updatehypercomputecluster.operations.cancelhypercomputecluster.operations.deletehypercomputecluster.operations.gethypercomputecluster.operations.listresourcemanager.projects.getresourcemanager.projects.list
Para las cargas de trabajo en Google Kubernetes Engine, usa la federación de identidades para cargas de trabajo para asociar una
cuenta de servicio de Kubernetes con una cuenta de servicio de Google Cloud a la que se le otorgaron
los roles necesarios. Los Pods que se ejecutan en la red
del host
(hostNetwork: true) no usan la federación de identidades para cargas de trabajo para GKE. Para estos
casos, consulta Workload Identity Federation for GKE.
Habilita Estadísticas de observabilidad en Cloud Logging
Los gráficos de series temporales de métricas del modelo y de rendimiento renderizan sus datos
con una consulta de Estadísticas de observabilidad en el bucket de registros _Default
del proyecto. Si las Estadísticas de observabilidad no están habilitadas en ese bucket, estos gráficos
fallan y el widget muestra un mensaje Something went wrong in the backend o 0 time
series, aunque los datos de las métricas estén presentes en Cloud Logging y
los perfiles y las métricas del sistema se rendericen como se espera.
Habilita Estadísticas de observabilidad una vez por proyecto. Esta actualización no es destructiva, no genera costos adicionales y no se puede inhabilitar. Aún puedes consultar los registros existentes:
gcloud logging buckets update _Default --location=global \
--enable-analytics --project=PROJECT_ID
Este comando requiere el permiso logging.buckets.update, que se incluye
en roles como roles/logging.configWriter.
Precios
Se te cobra por el almacenamiento de métricas a través de Cloud Logging y el almacenamiento de perfiles a través de Cloud Storage. No es necesario habilitar ninguna facturación adicional para estos servicios cuando se usa la plataforma de diagnóstico de AA. No se aplican cargos por los recursos de XProf administrados que implementa la plataforma de ML Diagnostics.