ML Diagnostics-Plattform
Google Cloud ML Diagnostics ist eine verwaltete End-to-End-Plattform zum Optimieren, Überwachen und Diagnostizieren von KI- und ML-Arbeitslasten in Google Cloud. Mit der ML-Diagnose können Sie Arbeitslasten überwachen und alle Arbeitslastmesswerte, ‑konfigurationen und ‑profile auf einer einzigen Plattform erfassen und visualisieren. ML-Diagnose kann für Trainings-, Post-Trainings-Reinforcement-Learning- (RL) und Inferenzarbeitslasten verwendet werden und ist mit allen Orchestratoren auf Cloud TPU kompatibel. Die GKE-Unterstützung ist allgemein verfügbar. Die Unterstützung für verwaltetes Slurm über Cluster Director, benutzerdefinierte Orchestratoren wie Kubernetes und Slurm sowie Compute Engine befindet sich in der Vorabversion.
ML Diagnostics umfasst die folgenden allgemein verfügbaren Funktionen:
- Arbeitslastmonitoring: KI-/ML-Arbeitslasten, die auf GKE-TPUs ausgeführt werden, automatisch überwachen und diagnostizieren. Für jeden GKE-Job erstellt ML Diagnostics Workload Monitoring automatisch einen Machine Learning-Lauf, überwacht den TPU-Arbeitszyklus für die gesamte Arbeitslast, erkennt Ereignisse, die sich auf die Arbeitslast auswirken, und analysiert verschiedene Ebenen der Arbeitslast, z. B. Infrastruktur, Orchestrator und Framework, um die potenziellen Ursachen des Ereignisses zu ermitteln.
- Ausführungen des maschinellen Lernens: Verwenden Sie ML Diagnostics, um Ihre Ausführungen des maschinellen Lernens über die Google Cloud CLI zu erstellen und zu registrieren, oder binden Sie das ML Diagnostics SDK in Ihre Arbeitslast ein. Sie können Ausführungen automatisch mit dem Arbeitslastmonitoring erstellen und registrieren, verwaltete XProf-Instanzen mit Ihren Machine-Learning-Ausführungen bereitstellen und Arbeitslastmesswerte, Konfigurationen und Profilsitzungen erfassen und verwalten.
- gcloud CLI: Verwenden Sie die ML Diagnostics APIs über die gcloud CLI, um Ausführungen zu registrieren und zu verwalten, verwaltete XProf-Ressourcen bereitzustellen, Profilsitzungen in Storage-Buckets zu visualisieren und Profilerfassungen über die Befehlszeile auszulösen. Sie können auch alle Ereignisse auflisten, die vom Arbeitslastmonitoring erkannt wurden, und Analysedetails für diese Ereignisse über die Befehlszeile oder API abrufen.
- Python SDK: Verwenden Sie das Open-Source-ML Diagnostics SDK, das in ML-Arbeitslasten eingebunden ist, um eine vollständige Diagnose von ML-Arbeitslasten zu erhalten. Arbeitslasten überwachen und Arbeitslastmesswerte, ‑konfigurationen und ‑profile in Google Clouderfassen und verwalten.
- Verwaltetes Profiling: ML Diagnostics stellt eine verwaltete Instanz von XProf mit einem skalierbaren Backend in verknüpften Konten bereit, sodass große Profile schnell geladen werden können. Es unterstützt den gleichzeitigen Zugriff mehrerer Nutzer auf Profile und enthält integrierte Funktionen wie Multi-Host-Profiling und On-Demand-Profiling.
- Arbeitslastmesswerte: Arbeitslastmesswerte wie Modellqualität, Modellleistung und Systemmesswerte erfassen. Mit dem Arbeitslastmonitoring können Sie Systemmesswerte für die Arbeitslast abrufen, ohne das SDK einbinden zu müssen.
- Workload-Konfigurationsverwaltung: Arbeitslastkonfigurationen verfolgen, einschließlich Softwarekonfigurationen, Systemkonfigurationen und benutzerdefinierten Konfigurationen.
- Visualisierungen in Cluster Director und GKE: Visualisieren Sie Messwerte, Konfigurationen und Profile in Cluster Director und Google Kubernetes Engine in der Google Cloud Console.
- Linkfreigabe: Sie können über Links zum Freigeben mit Informationen zu Machine-Learning-Ausführungen, Arbeitslastmonitoring, Messwerten und Profilen zusammenarbeiten.
ML Diagnostics enthält außerdem die folgenden Funktionen in der Vorabversion:
- Arbeitslastüberwachung: XProf-Profile werden automatisch für die weitere Diagnose erfasst, wenn die Analysetools für die Leistungsverschlechterung einen schlechten Zustand anzeigen.
- Python SDK: Unterstützung für vLLM-, Tunix- und TorchTPU-Arbeitslasten.
- Verwaltete Profilerstellung: Kontinuierliche Profilerstellung im Snapshot-Modus und agentische Profilanalyse.
Arbeitslast-Frameworks und Orchestrierungstypen
ML Diagnostics unterstützt JAX und ist in der GKE allgemein verfügbar. Arbeitslast-Frameworks wie TorchTPU, vLLM auf JAX, vLLM auf TorchTPU und Tunix sind in der Vorabversion auf den folgenden Orchestratoren verfügbar:
- GKE
- Selbstverwaltetes Kubernetes
- Von Cluster Director verwaltetes Slurm
- Selbstverwaltetes Slurm
- Compute Engine
In der folgenden Tabelle sind die unterstützten Funktionen und erforderlichen Komponenten für JAX-Arbeitslasten für die verschiedenen Orchestratortypen zusammengefasst:
| Orchestrator-Typ | Unterstützte Funktionen und erforderliche Komponenten |
|---|---|
| GKE |
|
| Selbstverwaltetes Kubernetes |
|
| Von Cluster Director verwaltetes Slurm, selbstverwaltetes Slurm und Compute Engine |
|
Nutzerpfade
Sie können die ML Diagnostics-Plattform automatisch mit dem Arbeitslastmonitoring für alle GKE-Jobs verwenden oder das SDK in Ihre Arbeitslast einbinden, um die vollständige ML-Arbeitslastdiagnose zu nutzen. Sie können über die Google Cloud Console oder die Befehlszeile mit dem ML-Diagnosesystem interagieren. Das Monitoring von Arbeitslasten ist automatisch für alle Arbeitslasten verfügbar, die mit GKE auf TPUs bereitgestellt werden.
Mit der gcloud CLI für ML Diagnostics können Sie einen Machine-Learning-Lauf erstellen oder ändern und die verwalteten XProf-Ressourcen bereitstellen. Das ML Diagnostics SDK muss in Ihre ML-Arbeitslast eingebunden werden, um Arbeitslastmesswerte und -konfigurationen zu erfassen und zu verwalten und verwaltete XProf-Ressourcen bereitzustellen.
Verwenden Sie eine der folgenden Anleitungen, um loszulegen:
Vorbereitung
Bevor Sie ML-Diagnose verwenden, müssen Sie die Cluster Director API aktivieren und die erforderlichen IAM-Berechtigungen hinzufügen. Wenn Sie GKE verwenden, ist das Arbeitslastmonitoring bereits aktiviert. Für das ML Diagnostics SDK und das On-Demand-Profiling sind jedoch zusätzliche GKE-Artefakte und die Konfiguration Ihres GKE-Cluster erforderlich. Weitere Informationen finden Sie unter GKE einrichten.
Cluster Director API aktivieren
Sie müssen Cluster Director nicht verwenden, um Ihre Cluster bereitzustellen und zu verwalten, wenn Sie das ML-Diagnoseprodukt verwenden möchten. ML Diagnostics funktioniert mit Clustern, die von GKE, Cluster Director oder benutzerdefinierten Orchestratoren verwaltet werden. ML Diagnostics gehört zur API-Familie von Cluster Director, ist aber nicht davon abhängig, dass Nutzer das Cluster Director-Produkt selbst verwenden.
Weitere Informationen zum Aktivieren der Cluster Director API finden Sie unter API in Ihrem Google Cloud -Projekt aktivieren.
IAM-Berechtigungen
Das von Ihrer Arbeitslast verwendete Google Cloud -Dienstkonto benötigt die folgenden IAM-Rollen, die dem Projekt zugewiesen sind:
roles/hypercomputecluster.editor: Für vollständigen Zugriff zum Erstellen und Verwalten vonMLRun-Ressourcen und zum Aufrufen der Benutzeroberfläche.roles/logging.logWriter: Zum Schreiben von Logs und Messwerten in Cloud Logging.roles/storage.objectUser: Zum Speichern von Profilen im Cloud Storage-Bucket, der inmachinelearning_runangegeben ist.
Sie können auch benutzerdefinierte Rollen erstellen, mit denen Nutzern eine Teilmenge der für ML Diagnostics erforderlichen APIs zugewiesen wird. Da Nutzer Cluster Director nicht zum Verwalten von Clustern verwenden müssen, müssen Sie nur die folgenden Berechtigungen zuweisen:
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
Verwenden Sie für Arbeitslasten in der Google Kubernetes Engine die Workload Identity-Föderation, um ein Kubernetes-Dienstkonto mit einem Google Cloud -Dienstkonto zu verknüpfen, dem die erforderlichen Rollen zugewiesen wurden. Pods, die im Hostnetzwerk (hostNetwork: true) ausgeführt werden, verwenden Workload Identity Federation for GKE nicht. Informationen zu diesen Fällen finden Sie unter Alternativen zur Workload Identity Federation für GKE.
Observability Analytics in Cloud Logging aktivieren
Die Zeitreihendiagramme für Modellmesswerte und Leistungsmesswerte rendern ihre Daten mithilfe einer Observability Analytics-Abfrage für den Log-Bucket _Default des Projekts. Wenn Observability Analytics für diesen Bucket nicht aktiviert ist, schlagen diese Diagramme fehl und das Widget zeigt die Meldung Something went wrong in the backend oder 0 time
series an, obwohl die Messwertdaten in Cloud Logging vorhanden sind und Profile und Systemmesswerte wie erwartet gerendert werden.
Aktivieren Sie Observability Analytics einmal pro Projekt. Dieses Upgrade ist nicht destruktiv, verursacht keine zusätzlichen Kosten und kann nicht deaktiviert werden. Sie können weiterhin vorhandene Logs abfragen:
gcloud logging buckets update _Default --location=global \
--enable-analytics --project=PROJECT_ID
Für diesen Befehl ist die Berechtigung logging.buckets.update erforderlich, die in Rollen wie roles/logging.configWriter enthalten ist.
Preise
Ihnen wird die Speicherung von Messwerten über Cloud Logging und die Speicherung von Profilen über Cloud Storage in Rechnung gestellt. Für diese Dienste muss keine zusätzliche Abrechnung aktiviert werden, wenn Sie die ML-Diagnoseplattform verwenden. Für die von der ML Diagnostics-Plattform bereitgestellten verwalteten XProf-Ressourcen fallen keine Kosten an.