Plate-forme ML Diagnostics
Google Cloud ML Diagnostics est une plate-forme gérée de bout en bout permettant d'optimiser, de surveiller et de diagnostiquer les charges de travail d'IA et de ML sur Google Cloud. Utilisez les diagnostics ML pour surveiller les charges de travail, et collecter et visualiser toutes les métriques, configurations et profils de charges de travail sur une seule plate-forme. ML Diagnostics s'applique aux charges de travail d'entraînement et d'inférence, et est compatible avec tous les orchestrateurs sur Cloud TPU, y compris Google Kubernetes Engine (GKE) et les orchestrateurs personnalisés. Les diagnostics ML incluent les fonctionnalités suivantes :
- Surveillance des charges de travail : surveillez et diagnostiquez automatiquement les charges de travail d'IA/de ML exécutées sur les TPU GKE. Pour chaque job GKE, la surveillance des charges de travail ML Diagnostics crée automatiquement une exécution de machine learning, surveille le cycle d'utilisation des TPU dans la charge de travail, détecte les événements affectant la charge de travail et analyse différentes couches de la charge de travail (telles que l'infrastructure, l'orchestrateur et le framework) pour aider à déterminer les causes potentielles de l'événement.
- Exécutions de machine learning : utilisez ML Diagnostics pour créer et enregistrer vos exécutions de machine learning à l'aide de Google Cloud CLI, ou intégrez le SDK ML Diagnostics à votre charge de travail. Vous pouvez créer et enregistrer des exécutions automatiquement avec la surveillance des charges de travail, déployer des instances XProf gérées avec vos exécutions de machine learning, et collecter et gérer les métriques, les configurations et les sessions de profilage des charges de travail.
- Expérience gcloud CLI : utilisez les API ML Diagnostics via gcloud CLI pour enregistrer et gérer les exécutions, déployer des ressources XProf gérées, visualiser les sessions de profil dans les buckets de stockage et déclencher des captures de profil à partir de la CLI. Vous pouvez également lister tous les événements détectés par la surveillance des charges de travail et obtenir des informations sur l'analyseur pour ces événements via la CLI ou l'API.
- SDK Python : utilisez le SDK ML Diagnostics Open Source intégré aux charges de travail de ML pour une expérience complète de diagnostic des charges de travail de ML. Surveillez les charges de travail, et collectez et gérez les métriques, les configurations et les profils de charges de travail sur Google Cloud.
- Profilage géré : ML Diagnostics déploie une instance gérée de XProf avec un backend évolutif dans les comptes associés, ce qui permet de charger rapidement de grands profils. Il permet à plusieurs utilisateurs d'accéder simultanément aux profils et contient des fonctionnalités intégrées telles que le profilage multihôte et le profilage à la demande.
- Métriques de charge de travail : suivez les métriques de charge de travail, y compris la qualité du modèle, les performances du modèle et les métriques système. La surveillance des charges de travail vous permet d'obtenir des métriques système associées à la charge de travail sans intégrer le SDK.
- Gestion de la configuration des charges de travail : suivez les configurations des charges de travail, y compris les configurations logicielles, les configurations système et les configurations définies par l'utilisateur.
- Visualisations dans Cluster Director et GKE : visualisez les métriques, les configurations et les profils dans Cluster Director et Google Kubernetes Engine dans la console Google Cloud .
- Partage par lien : collaborez à l'aide de liens partageables contenant des informations sur les exécutions de machine learning, la surveillance des charges de travail, les métriques et les profils.
Chemins des utilisateurs
Vous pouvez utiliser la plate-forme ML Diagnostics automatiquement avec la surveillance des charges de travail pour tous les jobs GKE, ou intégrer le SDK à votre charge de travail pour bénéficier d'une expérience complète de diagnostic des charges de travail de ML. Vous pouvez interagir avec le système de diagnostic ML via la console Google Cloud ou la CLI. La surveillance des charges de travail est automatiquement disponible pour toutes les charges de travail déployées avec GKE sur TPU.
Avec la CLI, vous pouvez utiliser la gcloud CLI ML Diagnostics pour créer ou modifier une exécution de machine learning, et déployer les ressources XProf gérées. Avec le SDK ML Diagnostics, le SDK doit être intégré à votre charge de travail de ML pour collecter et gérer les métriques et configurations de la charge de travail, et déployer les ressources XProf gérées.
Pour commencer, consultez l'un des guides suivants :
Profilage géré avec XProf
Vous pouvez bénéficier d'une expérience de profilage gérée avec XProf lorsque vous utilisez la CLI ou le SDK. XProf est un outil de profilage et d'analyse des performances Open Source pour les charges de travail de machine learning. Il fait partie de l'écosystème OpenXLA.
Les avantages d'une expérience de profilage gérée par rapport à une expérience de profilage auto-hébergée sont les suivants :
- Aucune configuration de XProf ni d'autres dépendances n'est requise.
- Une sécurité et une protection renforcées contre les failles.
- Liens partageables pour la collaboration.
- Chargement plus rapide des profils volumineux.
- Prise en charge de plusieurs utilisateurs accédant simultanément aux profils avec mise à l'échelle automatique des ressources en fonction de la charge d'accès aux liens.
- Fonctionnalités intégrées telles que le profilage multihôte et le profilage à la demande.
- Chargez plusieurs sessions de profil sur plusieurs exécutions avec la même instance XProf gérée.
- Les ressources XProf gérées déployées par la plate-forme ML Diagnostics sont sans frais. Elles sont donc plus rentables que l'auto-hébergement de XProf.
Prérequis
Avant d'utiliser les diagnostics ML, activez l'API Cluster Director et ajoutez les autorisations IAM requises. Si vous utilisez GKE, la surveillance des charges de travail est déjà activée. Toutefois, le SDK ML Diagnostics et le profilage à la demande nécessitent des artefacts GKE supplémentaires et la configuration de votre cluster GKE. Pour en savoir plus, consultez Configurer GKE.
Activer l'API Cluster Director
Vous n'avez pas besoin d'utiliser Cluster Director pour déployer et gérer vos clusters afin d'utiliser le produit ML Diagnostics. ML Diagnostics fonctionne avec les clusters gérés par GKE, Cluster Director ou des orchestrateurs personnalisés. ML Diagnostics fait partie de la famille d'API Cluster Director, mais ne dépend pas de l'utilisation du produit Cluster Director lui-même par les utilisateurs.
Pour en savoir plus sur l'activation de l'API Cluster Director, consultez Activer une API dans votre projet Google Cloud .
Autorisations IAM
Le compte de service Google Cloud utilisé par votre charge de travail nécessite les rôles IAM suivants attribués au projet :
roles/hypercomputecluster.editor: pour accéder à toutes les fonctionnalités permettant de créer et de gérer les ressourcesMLRun, et pour afficher l'interface utilisateur.roles/logging.logWriter: pour écrire des journaux et des métriques dans Cloud Logging.roles/storage.objectUser: pour enregistrer les profils dans le bucket Cloud Storage spécifié dansmachinelearning_run.
Vous pouvez également créer des rôles personnalisés qui attribuent aux utilisateurs un sous-ensemble d'API nécessaires pour les diagnostics ML. Étant donné que les utilisateurs n'ont pas besoin d'utiliser Cluster Director pour gérer les clusters, vous n'avez qu'à attribuer les autorisations suivantes :
hypercomputecluster.locations.gethypercomputecluster.locations.listhypercomputecluster.machineLearningRuns.createhypercomputecluster.machineLearningRuns.deletehypercomputecluster.machineLearningRuns.gethypercomputecluster.machineLearningRuns.listhypercomputecluster.machineLearningRuns.updatehypercomputecluster.operations.cancelhypercomputecluster.operations.deletehypercomputecluster.operations.gethypercomputecluster.operations.listresourcemanager.projects.getResourcemanager.projects.list
Pour les charges de travail sur Google Kubernetes Engine, utilisez la fédération d'identité de charge de travail pour associer un compte de service Kubernetes à un compte de service Google Cloud qui s'est vu attribuer les rôles requis.
Tarifs
Le stockage des métriques via Cloud Logging et des profils via Cloud Storage vous est facturé. Il n'est pas nécessaire d'activer la facturation supplémentaire pour ces services lorsque vous utilisez la plate-forme ML Diagnostics. Les ressources XProf gérées déployées par la plate-forme ML Diagnostics ne sont pas facturées.