Piattaforma ML Diagnostics

Google Cloud ML Diagnostics è una piattaforma gestita end-to-end per ottimizzare, monitorare e diagnosticare i workload AI e ML su Google Cloud. Utilizza la diagnostica ML per monitorare i workload, nonché raccogliere e visualizzare tutte le metriche, le configurazioni e i profili dei workload all'interno di un'unica piattaforma. La diagnostica ML è applicabile ai workload di addestramento, apprendimento per rinforzo (RL) post-addestramento e inferenza ed è compatibile con tutti gli orchestratori su Cloud TPU. Il supporto di GKE è in disponibilità generale. Il supporto per Slurm gestito tramite Cluster Director, orchestratori personalizzati come Kubernetes e Slurm e Compute Engine è in anteprima.

ML Diagnostics include le seguenti funzionalità in disponibilità generale:

  • Monitoraggio dei workload: monitora e diagnostica automaticamente i workload AI/ML in esecuzione sulle TPU GKE. Per ogni job GKE, il monitoraggio dei workload di diagnostica ML crea automaticamente un'esecuzione di machine learning, monitora il ciclo di lavoro della TPU nel workload, rileva gli eventi che interessano il workload e analizza i diversi livelli del workload, come infrastruttura, orchestratore e framework, per aiutare a determinare le potenziali cause dell'evento.
  • Esecuzioni di machine learning: utilizza ML Diagnostics per creare e registrare le tue esecuzioni di machine learning tramite Google Cloud CLI o integra l'SDK ML Diagnostics con il tuo workload. Puoi creare e registrare le esecuzioni automaticamente con il monitoraggio dei workload, eseguire il deployment di istanze XProf gestite con le tue esecuzioni di machine learning e raccogliere e gestire metriche, configurazioni e sessioni di profilo dei workload.
  • Esperienza con gcloud CLI: utilizza le API ML Diagnostics tramite gcloud CLI per registrare e gestire le esecuzioni, eseguire il deployment delle risorse XProf gestite, visualizzare le sessioni del profilo nei bucket di archiviazione e attivare le acquisizioni del profilo dalla CLI. Puoi anche elencare tutti gli eventi rilevati dal monitoraggio del workload e ottenere i dettagli dell'analizzatore per questi eventi tramite l'interfaccia a riga di comando o l'API.
  • SDK Python: utilizza l'SDK ML Diagnostics open source integrato con i workload ML per un'esperienza di diagnostica completa dei workload ML. Monitora i workload e raccogli e gestisci le metriche, le configurazioni e i profili dei workload su Google Cloud.
  • Profilazione gestita: ML Diagnostics esegue il deployment di un'istanza gestita di XProf con un backend scalabile negli account associati, consentendo il caricamento rapido di profili di grandi dimensioni. Supporta l'accesso simultaneo ai profili da parte di più utenti e contiene funzionalità integrate come la profilazione multi-host e la profilazione on demand.
  • Metriche dei workload: monitora le metriche dei workload, tra cui la qualità del modello, le prestazioni del modello e le metriche di sistema. Con il monitoraggio dei workload, puoi ottenere le metriche di sistema associate al workload senza integrare l'SDK.
  • Gestione della configurazione dei workload: monitora le configurazioni dei workload, incluse le configurazioni software, le configurazioni di sistema e le configurazioni definite dall'utente.
  • Visualizzazioni in Cluster Director e GKE: visualizza metriche, configurazioni e profili in Cluster Director e Google Kubernetes Engine nella console Google Cloud .
  • Condivisione tramite link: collabora utilizzando link condivisibili con informazioni su esecuzioni di machine learning, monitoraggio dei workload, metriche e profili.

ML Diagnostics include anche le seguenti funzionalità in anteprima:

  • Monitoraggio dei workload: acquisisci automaticamente i profili XProf per un'ulteriore diagnosi quando gli analizzatori del degrado delle prestazioni mostrano uno stato non valido.
  • SDK Python: supporto per i workload vLLM, Tunix e TorchTPU.
  • Profilazione gestita: profilazione continua in modalità snapshot e analisi del profilo basata su agenti.

Framework dei workload e tipi di orchestratore

ML Diagnostics supporta JAX ed è in disponibilità generale su GKE. I framework dei workload come TorchTPU, vLLM su JAX, vLLM su TorchTPU e Tunix sono disponibili in anteprima sui seguenti orchestratori:

  • GKE
  • Kubernetes autogestito
  • Slurm gestito da Cluster Director
  • Slurm autogestito
  • Compute Engine

La tabella seguente riassume le funzionalità supportate e i componenti richiesti per i workload JAX in base ai tipi di orchestratore:

Tipo di agente di orchestrazione Funzionalità supportate e componenti richiesti
GKE
  • Monitoraggio dei workload per i workload GKE Job e JobSet
  • Metriche dell'SDK e profilazione programmatica (webhook GKE)
  • Profilazione on demand (operatore GKE)
  • Profilazione on demand, profilazione continua e acquisizione automatica del profilo dal monitoraggio del workload (DaemonSet Diagon)
Kubernetes autogestito
  • Metriche dell'SDK e profilazione programmatica (webhook Kubernetes)
  • Profilazione on demand (operatore Kubernetes)
  • Profilazione on demand e continua (DaemonSet Diagon)
Slurm gestito da Cluster Director, Slurm autogestito e Compute Engine
  • Metriche dell'SDK e profilazione programmatica
  • Profilazione on demand e continua (DaemonSet Diagon)

Percorsi degli utenti

Puoi utilizzare la piattaforma ML Diagnostics automaticamente con il monitoraggio dei workload per tutti i job GKE o integrare l'SDK con il tuo workload per un'esperienza completa di diagnostica dei workload ML. Puoi interagire con la piattaforma ML Diagnostics tramite la console Google Cloud o l'interfaccia a riga di comando. Il monitoraggio dei workload è disponibile automaticamente per tutti i workload di cui è stato eseguito il deployment con GKE su TPU.

Con l'interfaccia a riga di comando, puoi utilizzare gcloud CLI di ML Diagnostics per creare o modificare un'esecuzione di machine learning ed eseguire il deployment delle risorse XProf gestite. Con l'SDK ML Diagnostics, l'SDK deve essere integrato nel workload ML per raccogliere e gestire le metriche e le configurazioni del workload ed eseguire il deployment delle risorse XProf gestite.

Per iniziare, utilizza una delle seguenti guide:

Prerequisiti

Prima di utilizzare Diagnostica ML, abilita l'API Cluster Director e aggiungi le autorizzazioni IAM richieste. Se utilizzi GKE, il monitoraggio dei workload è già abilitato. Tuttavia, l'SDK ML Diagnostics e la profilazione on demand richiedono artefatti GKE aggiuntivi e la configurazione del cluster GKE. Per saperne di più, consulta Configura GKE.

Abilita l'API Cluster Director

Non è necessario utilizzare Cluster Director per il deployment e la gestione dei cluster per utilizzare il prodotto ML Diagnostics. ML Diagnostics funziona con i cluster gestiti da GKE, Cluster Director o orchestratori personalizzati. ML Diagnostics fa parte della famiglia di API Cluster Director, ma non dipende dall'utilizzo del prodotto Cluster Director da parte degli utenti.

Per ulteriori informazioni sull'abilitazione dell'API Cluster Director, consulta Abilitazione di un'API nel progetto Google Cloud .

Autorizzazioni IAM

Il service account Google Cloud utilizzato dal tuo workload richiede i seguenti ruoli IAM assegnati al progetto:

  • roles/hypercomputecluster.editor: per l'accesso completo alla creazione e alla gestione delle risorse MLRun e alla visualizzazione dell'interfaccia utente.
  • roles/logging.logWriter: per scrivere log e metriche in Cloud Logging.
  • roles/storage.objectUser: per salvare i profili nel bucket Cloud Storage specificato in machinelearning_run.

Puoi anche creare ruoli personalizzati che assegnano agli utenti un sottoinsieme di API necessarie per ML Diagnostics. Poiché gli utenti non devono utilizzare Cluster Director per gestire i cluster, devi assegnare solo le seguenti autorizzazioni:

  • hypercomputecluster.locations.get
  • hypercomputecluster.locations.list
  • hypercomputecluster.clusters.list
  • hypercomputecluster.nodes.list
  • hypercomputecluster.machineLearningRuns.create
  • hypercomputecluster.machineLearningRuns.delete
  • hypercomputecluster.machineLearningRuns.get
  • hypercomputecluster.machineLearningRuns.list
  • hypercomputecluster.machineLearningRuns.update
  • hypercomputecluster.operations.cancel
  • hypercomputecluster.operations.delete
  • hypercomputecluster.operations.get
  • hypercomputecluster.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Per i workload su Google Kubernetes Engine, utilizza la federazione delle identità dei workload per associare un service account Kubernetes a un service account Google Cloud a cui sono stati concessi i ruoli richiesti. I pod in esecuzione sulla rete host (hostNetwork: true) non utilizzano Workload Identity Federation for GKE. In questi casi, consulta Alternative a Workload Identity Federation for GKE.

Abilita Observability Analytics su Cloud Logging

I grafici delle serie temporali delle metriche del modello e delle metriche sul rendimento mostrano i dati utilizzando una query di Observability Analytics sul bucket di log _Default del progetto. Se Observability Analytics non è abilitato in quel bucket, questi grafici non funzionano e il widget mostra un messaggio Something went wrong in the backend o 0 time series, anche se i dati delle metriche sono presenti in Cloud Logging e i profili e le metriche di sistema vengono visualizzati come previsto.

Abilita Observability Analytics una volta per progetto. Questo upgrade non è distruttivo, non comporta costi aggiuntivi e non può essere disattivato. Puoi comunque eseguire query sui log esistenti:

gcloud logging buckets update _Default --location=global \
  --enable-analytics --project=PROJECT_ID

Questo comando richiede l'autorizzazione logging.buckets.update, inclusa in ruoli come roles/logging.configWriter.

Prezzi

Ti verrà addebitato l'archiviazione delle metriche tramite Cloud Logging e l'archiviazione dei profili tramite Cloud Storage. Non è necessario attivare alcuna fatturazione aggiuntiva per questi servizi quando utilizzi la piattaforma ML Diagnostics. Non è previsto alcun addebito per le risorse XProf gestite di cui la piattaforma ML Diagnostics esegue il deployment.