Questa pagina fornisce il metodo diretto basato su API per la creazione e la gestione di un cluster di addestramento. Scoprirai come definire la configurazione completa del cluster, inclusi i nodi di accesso, le partizioni GPU ad alte prestazioni come A4 e le impostazioni dell'orchestratore Slurm, all'interno di un file JSON.
È incluso anche l'utilizzo di curl e delle chiamate API REST per eseguire il deployment di questa configurazione, creando il cluster e gestendone il ciclo di vita con le operazioni GET, LIST, UPDATE e DELETE.
Definisci la configurazione del cluster
Crea un file JSON per definire la configurazione completa del cluster di addestramento.
Se la policy dell'organizzazione vieta gli indirizzi IP pubblici sulle istanze di computing, esegui il deployment del cluster di addestramento con il parametro enable_public_ips: false e utilizza Cloud NAT per il traffico in uscita verso internet.
Il primo passaggio per il provisioning di un cluster di addestramento consiste nel definirne la configurazione completa in un file JSON. Questo file funge da progetto per il tuo cluster, specificando tutto, dal nome e dalle impostazioni di rete all'hardware per i nodi di accesso e worker.
La sezione seguente fornisce diversi file di configurazione JSON completi che fungono da modelli pratici per una serie di casi d'uso comuni. Consulta questo elenco per trovare l'esempio che meglio si adatta alle tue esigenze e utilizzalo come punto di partenza.
GPU solo con Filestore: una configurazione standard per l'addestramento GPU per uso generico.
GPU con Filestore e Managed Lustre: una configurazione avanzata per i job ad alta intensità di I/O.
GPU con script di avvio: mostra come eseguire comandi personalizzati sui nodi all'avvio.
Cluster solo CPU: una configurazione di base che utilizza solo risorse della CPU.
Configurazione avanzata di Slurm: mostra l'impostazione dei parametri
slurm.confnell'ambito del cluster, della partizione o del pool di nodi e l'esecuzione di script prolog ed epilog.
Ogni esempio è seguito da una descrizione dettagliata dei parametri chiave utilizzati in quella configurazione specifica.
GPU solo con Filestore
Questa è la configurazione standard. Fornisce un'istanza Filestore che funge da directory /home per il cluster, adatta per l'uso generale e l'archiviazione dei dati utente.
L'esempio seguente mostra i contenuti di gpu-filestore.json. Questa specifica crea un cluster con una partizione GPU. Puoi utilizzarlo come modello e modificare valori come machineType o nodeCount in base alle tue esigenze.
Per un elenco dei parametri, consulta Riferimento ai parametri.
{ "display_name": "DISPLAY_NAME", "network": { "network": "projects/PROJECT_ID/global/networks/NETWORK", "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" }, "node_pools": [ { "id": "login", "machine_spec": { "machine_type": "n2-standard-8" }, "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "enable_public_ips": true, "zone": "ZONE", "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 200 }, "labels": { "example-key": "example-value" } }, { "id": "a4", "machine_spec": { "machine_type": "a4-highgpu-8g", "accelerator_type": "NVIDIA_B200", "accelerator_count": 8, "reservation_affinity": { "reservationAffinityType": "RESERVATION_AFFINITY_TYPE", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME" ] } }, "provisioning_model": "RESERVATION", "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "enable_public_ips": true, "zone": "ZONE", "boot_disk": { "boot_disk_type": "hyperdisk-balanced", "boot_disk_size_gb": 200 }, "labels": { "example-key": "example-value" } } ], "orchestrator_spec": { "slurm_spec": { "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE", "partitions": [ { "id": "a4", "node_pool_ids": [ "a4" ] } ], "login_node_pool_id": "login" } } }
GPU con Filestore e Managed Lustre
Questa configurazione avanzata include l'istanza Filestore standard oltre a un file system Lustre ad alte prestazioni. Scegli questa opzione se i tuoi job di addestramento richiedono un accesso con throughput elevato a set di dati di grandi dimensioni.
Per un elenco dei parametri, consulta Riferimento ai parametri.
{ "display_name": "DISPLAY_NAME", "network": { "network": "projects/PROJECT_ID/global/networks/NETWORK", "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" }, "node_pools": [ { "id": "login", "machine_spec": { "machine_type": "n2-standard-8" }, "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "enable_public_ips": true, "zone": "ZONE", "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 200 }, "lustres": [ "projects/PROJECT_ID/locations/ZONE/instances/LUSTRE" ] }, { "id": "a4", "machine_spec": { "machine_type": "a4-highgpu-8g", "accelerator_type": "NVIDIA_B200", "accelerator_count": 8, "reservation_affinity": { "reservationAffinityType": "RESERVATION_AFFINITY_TYPE", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME" ] } }, "provisioning_model": "RESERVATION", "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "enable_public_ips": true, "zone": "ZONE", "boot_disk": { "boot_disk_type": "hyperdisk-balanced", "boot_disk_size_gb": 200 }, "lustres": [ "projects/PROJECT_ID/locations/ZONE/instances/LUSTRE" ] } ], "orchestrator_spec": { "slurm_spec": { "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE", "partitions": [ { "id": "a4", "node_pool_ids": [ "a4" ] } ], "login_node_pool_id": "login" } } }
GPU con script di avvio
Questo esempio mostra come aggiungere uno script personalizzato a un pool di nodi. Questo script viene eseguito su tutti i nodi del pool all'avvio. Per configurare questa opzione, aggiungi i campi pertinenti alla definizione del pool di nodi oltre alle impostazioni generali. Per un elenco dei parametri e delle relative descrizioni, consulta Riferimento ai parametri.
{ "display_name": "DISPLAY_NAME", "network": { "network": "projects/PROJECT_ID/global/networks/NETWORK", "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" }, "node_pools": [ { "id": "login", "machine_spec": { "machine_type": "n2-standard-8" }, "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "enable_public_ips": true, "zone": "ZONE", "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 200 }, "startup_script" : "#Example script\nsudo mkdir -p /data\necho 'Script Finished'\n" }, { "id": "a4", "machine_spec": { "machine_type": "a4-highgpu-8g", "accelerator_type": "NVIDIA_B200", "accelerator_count": 8, "reservation_affinity": { "reservationAffinityType": "RESERVATION_AFFINITY_TYPE", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME" ] } }, "provisioning_model": "PROVISIONING_MODEL", "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "enable_public_ips": true, "zone": "ZONE", "boot_disk": { "boot_disk_type": "hyperdisk-balanced", "boot_disk_size_gb": 200 }, "startup_script" : "#Example script\nsudo mkdir -p /data\necho 'Script Finished'\n" } ], "orchestrator_spec": { "slurm_spec": { "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE", "partitions": [ { "id": "a4", "node_pool_ids": [ "a4" ] } ], "login_node_pool_id": "login" } } }
Cluster solo CPU
Per eseguire il provisioning di un ambiente di cluster di addestramento, devi prima definire la sua configurazione completa in un file JSON. Questo file funge da progetto per il cluster, specificando tutto, dal nome e dalle impostazioni di rete all'hardware per i nodi di accesso e worker.
Per un elenco dei parametri, consulta Riferimento ai parametri.
{ "display_name": "DISPLAY_NAME", "network": { "network": "projects/PROJECT_ID/global/networks/NETWORK", "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" }, "node_pools": [ { "id": "cpu", "machine_spec": { "machine_type": "n2-standard-8" }, "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "zone": "ZONE", "enable_public_ips": true, "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 120 } }, { "id": "login", "machine_spec": { "machine_type": "n2-standard-8" }, "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "zone": "ZONE", "enable_public_ips": true, "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 120 } } ], "orchestrator_spec": { "slurm_spec": { "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE", "partitions": [ { "id": "cpu", "node_pool_ids": [ "cpu" ] } ], "login_node_pool_id": "login" } } }
Configurazione avanzata di Slurm
Questo esempio offre un controllo granulare su Slurm impostando i parametri slurm.conf in base al nome ed eseguendo script prolog ed epilog per la configurazione e la pulizia automatiche dei job. I parametri possono essere impostati a livello di cluster, per una singola partizione o per un singolo pool di nodi.
Esistono tre mappe di configurazione, una per ogni record slurm.conf:
confignella specifica Slurm per le impostazioni a livello di clusterconfigsu una partizione- Voce
node_setsper un pool di nodi
Per le regole relative ai nomi e ai valori dei parametri e ai parametri rifiutati, consulta ConfigMap di Slurm.
Non è necessario stabilirli al momento della creazione. Tutte e tre le mappe possono essere modificate su un cluster in esecuzione, senza riavviare i nodi o interrompere i job in coda. Consulta Aggiorna le impostazioni di configurazione di Slurm.
{ "display_name": "DISPLAY_NAME", "network": { "network": "projects/PROJECT_ID/global/networks/NETWORK", "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" }, "node_pools": [ { "id": "cpu", "machine_spec": { "machine_type": "n2-standard-8" }, "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "zone": "ZONE", "enable_public_ips": true, "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 120 } }, { "id": "login", "machine_spec": { "machine_type": "n2-standard-8" }, "scaling_spec": { "min_node_count": MIN_NODE_COUNT, "max_node_count": MAX_NODE_COUNT }, "zone": "ZONE", "enable_public_ips": true, "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 120 } } ], "orchestrator_spec": { "slurm_spec": { "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE", "config": { "PriorityType": "priority/multifactor", "PriorityWeightAge": "1000", "PriorityWeightFairshare": "10000", "PreemptType": "preempt/partition_prio", "PreemptMode": "SUSPEND,GANG", "SchedulerParameters": "bf_continue,bf_window=1440,bf_resolution=600", "AccountingStorageEnforce": "limits,qos" }, "prolog_bash_scripts": [ "#!/bin/bash\necho 'Prolog script running'" ], "epilog_bash_scripts": [ "#!/bin/bash\necho 'Epilog script running'" ], "partitions": [ { "id": "cpu", "node_pool_ids": [ "cpu" ], "config": { "MaxTime": "4-00:00:00", "DefMemPerCPU": "4096", "PriorityTier": "20" } } ], "node_sets": [ { "node_pool_id": "cpu", "config": { "Weight": "10", "Features": "cpu,spot" } } ], "login_node_pool_id": "login" } } }
La mappa con ambito cluster imposta la priorità multifattoriale, la prerilascio della priorità di partizione e
SchedulerParameters, il cui termine bf_continue mostra la forma composita: un
termine semplice attiva un flag e i termini sono separati da virgole. La mappa delle partizioni limita il runtime del job e la memoria predefinita solo per la partizione cpu, mentre la voce node_sets etichetta i nodi del pool in modo che i job possano selezionarli con --constraint.
Una volta definito il cluster in un file JSON, utilizza i seguenti comandi dell'API REST per eseguire il deployment e gestire il cluster. Gli esempi utilizzano un alias gcurl, che è una scorciatoia autenticata e comoda per interagire con gli endpoint API. Questi comandi coprono l'intero ciclo di vita, dal deployment iniziale del cluster all'aggiornamento di un cluster, al recupero del suo stato, all'elenco di tutti i cluster e, infine, all'eliminazione del cluster.
Autenticazione
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
Crea un file JSON
Crea un file JSON (ad esempio @cpu-cluster.json) per specificare la configurazione del cluster di addestramento del modello.
Esegui il deployment del cluster
Dopo aver creato il file di configurazione JSON, puoi eseguire il deployment del cluster utilizzando l'API REST.
Imposta le variabili di ambiente
Prima di eseguire il comando, imposta le seguenti variabili di ambiente. In questo modo il comando API è più pulito e facile da gestire.
- PROJECT_ID: l'ID progetto Google Cloud in cui verrà creato il cluster.
- REGION: la regione Google Cloud per il cluster e le sue risorse.
- ZONE: la zona Google Cloud in cui verrà eseguito il provisioning delle risorse del cluster.
- CLUSTER_ID: un identificatore univoco per il tuo cluster di addestramento, utilizzato anche come prefisso per la denominazione delle risorse correlate.
Esegui il comando create
Ora esegui il seguente comando gcurl. Utilizza il file JSON (in questo esempio, cpu-cluster.json) come corpo della richiesta e le variabili di ambiente appena impostate per creare l'endpoint API e i parametri di query.
gcurl -X POST -d @cpu-cluster.json https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?model_development_cluster_id=CLUSTER_ID
Una volta avviato il deployment, verrà generato un ID operazione. Assicurati di copiare questo ID. Ti servirà per convalidare il cluster nel passaggio successivo.
gcurl -X POST -d @cpu-cluster.json https://us-central1-aiplatform.googleapis.com/v1beta1/projects/managedtraining-project/locations/us-central1/modelDevelopmentClusters?model_development_cluster_id=training { "name": "projects/1059558423163/locations/us-central1/operations/2995239222190800896", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateModelDevelopmentClusterOperationMetadata", "genericMetadata": { "createTime": "2025-10-24T14:16:59.233332Z", "updateTime": "2025-10-24T14:16:59.233332Z" }, "progressMessage": "Create Model Development Cluster request received, provisioning..." }
Convalida il deployment del cluster
Monitora l'avanzamento del deployment utilizzando l'ID operazione fornito durante il deployment del cluster. Ad esempio, 2995239222190800896 è l'ID operazione nell'esempio citato in precedenza.
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
In breve
L'invio della configurazione del cluster con il comando POST gcurl avvia il provisioning del cluster, che è un'operazione asincrona a lunga esecuzione. L'API restituisce immediatamente una risposta contenente un Operation ID.
È fondamentale salvare questo ID, poiché lo utilizzerai nei passaggi successivi per monitorare l'avanzamento del deployment, verificare che il cluster sia stato creato correttamente e gestirne il ciclo di vita.
Riferimento ai parametri
L'elenco seguente descrive tutti i parametri utilizzati negli esempi di configurazione. I parametri sono organizzati in gruppi logici in base alla risorsa che configurano.
Impostazioni generali e di rete
- DISPLAY_NAME: un nome univoco per il cluster di addestramento. La stringa può contenere solo caratteri alfanumerici minuscoli, deve iniziare con una lettera e può avere una lunghezza massima di 10 caratteri.
- PROJECT_ID: l'ID progetto Google Cloud .
- REGION: la regione Google Cloud in cui si troveranno il cluster e le relative risorse.
- NETWORK: la rete Virtual Private Cloud da utilizzare per le risorse del cluster.
- ZONE: la zona Google Cloud per il cluster e le relative risorse.
- SUBNETWORK: la subnet da utilizzare per le risorse del cluster.
Configurazione del node pool
I seguenti parametri vengono utilizzati per definire i pool di nodi sia per i nodi di accesso che per i nodi worker.
Impostazioni comuni pool di nodi
-
ID: un identificatore univoco per il pool di nodi all'interno del cluster
(ad esempio, "
login", "a4", "cpu"). -
PROVISIONING_MODEL: il modello di provisioning per il nodo worker
(ad esempio
ON_DEMAND,SPOT,RESERVATION,FLEX_START). -
MACHINE_TYPE: Il tipo di macchina per il nodo worker (ad esempio,
a3-highgpu-8g,a3-megagpu-8g,a3-ultragpu-8g,a4-highgpu-8g). Per l'elenco completo dei tipi di macchina supportati, vedere Risorse di calcolo. -
MIN_NODE_COUNT:
MIN_NODE_COUNTdeve essere uguale aMAX_NODE_COUNT. -
MAX_NODE_COUNT: per il pool di nodi di accesso,
MAX_NODE_COUNTdeve essere uguale aMIN_NODE_COUNT. -
ENABLE_PUBLIC_IPS: un valore booleano (
trueofalse) per determinare se il nodo di accesso ha un indirizzo IP pubblico. -
BOOT_DISK_TYPE: il tipo di disco di avvio per il nodo di accesso (ad esempio,
pd-standard,pd-ssd). - BOOT_DISK_SIZE_GB: le dimensioni del disco di avvio in GB per il nodo di accesso.
- LABELS: un insieme di coppie chiave/valore per etichettare il pool di nodi.
-
NODE_IMAGE (corrisponde a
node_imageall'interno di un oggettonode_pools): l'immagine VM da cui viene eseguito l'avvio dei nodi del pool di nodi, come percorso completo della risorsa della famiglia di immagini o dell'immagine (ad esempio,projects/IMAGE_PROJECT/global/images/IMAGEoprojects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY). Se lo ometti, il pool di nodi utilizza l'immagine predefinita corrente per il tipo di macchina, che avanza nel tempo. Impostalo in modo da mantenere il pool di nodi su un'immagine specifica. La modifica dell'immagine di un pool di nodi comporta la ricreazione dei relativi nodi.
Impostazioni di archiviazione aggiuntive
-
FILESTORES (corrisponde a
filestoresall'interno di un oggettonode_pools): un elenco di istanze Filestore preesistenti da montare sul pool di nodi per l'accesso ai file condivisi. -
LUSTRES (corrisponde a
lustresall'interno di un oggettonode_pools): un elenco di istanze Lustre preesistenti da montare sul pool di nodi per l'accesso ai file ad alte prestazioni.
Impostazioni specifiche per i worker
-
ACCELERATOR_TYPE: l'acceleratore GPU corrispondente da collegare ai nodi worker.
I valori supportati sono:
NVIDIA_H100_80GBNVIDIA_H100_MEGA_80GBNVIDIA_H200_141GBNVIDIA_B200
- ACCELERATOR_COUNT: il numero di acceleratori da collegare a ogni nodo worker.
-
RESERVATION_AFFINITY_TYPE (corrisponde a
machine_spec.reservation_affinity.reservationAffinityType): l'affinità di prenotazione per il pool di nodi. Questo parametro deve essereSPECIFIC_RESERVATION, che è l'unico valore supportato. Quando utilizziSPECIFIC_RESERVATION, devi specificare la prenotazione inmachine_spec.reservation_affinity.values. -
RESERVATION_NAME: il nome della prenotazione da utilizzare per il pool di nodi. Viene utilizzato nel nome completo della risorsa di prenotazione fornito in
machine_spec.reservation_affinity.values, ad esempioprojects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME. È necessaria una prenotazione quando RESERVATION_AFFINITY_TYPE èSPECIFIC_RESERVATION.
Configurazione dell'orchestratore e dello spazio di archiviazione
Questi campi sono definiti all'interno del blocco orchestrator_spec.slurm_spec del file JSON.
Impostazioni di base di Slurm e dello spazio di archiviazione
-
HOME_DIRECTORY_STORAGE (corrisponde a
home_directory_storage): il nome completo della risorsa dell'istanza Filestore preesistente da montare come directory/home. -
LOGIN_NODE_POOL_ID (corrisponde a
login_node_pool_id): l'ID del pool di nodi da utilizzare per i nodi di accesso. -
partitions: un elenco di oggetti di partizione, in cui ogni oggetto richiede unide un elenco dinode_pool_ids. -
default_partition_id(facoltativo): iliddella partizione utilizzata per eseguire i job Slurm quando non viene specificata esplicitamente alcuna partizione (ad esempio, quando eseguisbatchsenza il flag--partition). Se non viene impostata, la prima partizione nell'elenco delle partizioni diventa quella predefinita, pertanto il riordinamento dell'elenco modificherà la partizione predefinita.
Impostazioni Slurm avanzate
-
prolog_bash_scripts: un elenco di stringhe, in cui ogni stringa contiene i contenuti completi di uno script Bash da eseguire prima dell'inizio di un job. -
epilog_bash_scripts: un elenco di stringhe, in cui ogni stringa contiene i contenuti completi di uno script Bash da eseguire dopo il completamento di un job. -
config,partitions[].configenode_sets: parametri Slurm impostati per nome. Consulta Configmap di Slurm. -
schedulingeaccounting: sostituito. Questi due oggetti espongono un insieme fisso di parametri di priorità, prerilascio e contabilità, ognuno dei quali può essere impostato per nome nella mappaconfigcon ambito cluster (priority_typecome"PriorityType",preempt_modecome"PreemptMode"e così via). Continuano a funzionare per i cluster che li utilizzano, ma i nuovi cluster devono utilizzareconfig, che supporta molti più parametrislurm.confrispetto a questo sottoinsieme.
Mappe di configurazione Slurm
I parametri Slurm vengono impostati per nome, in tre mappe, una per ogni record slurm.conf:
-
config: impostazioni con ambito cluster, scritte come righeKey=Valueglobali. -
partitions[].config: impostazioni per una partizione, scritte come coppie aggiuntive nella rigaPartitionName=della partizione. -
node_sets: un elenco di oggetti, ciascuno con unnode_pool_ide una mappaconfig. Le impostazioni vengono scritte come coppie aggiuntive sulla rigaNodeName=per i nodi del pool di nodi. Al massimo una voce per pool di nodi e il pool deve essere un pool di computing del cluster, non il pool di accesso.
In tutti e tre, le chiavi sono i nomi dei parametri Slurm come
documentati da SchedMD, senza
distinzione tra maiuscole e minuscole e ignorando i trattini bassi, quindi DefMemPerCPU,
defmempercpu e def_mem_per_cpu indicano tutti lo stesso parametro. I valori vengono scritti nel modo in cui li scrive slurm.conf, inclusi gli elenchi separati da virgole come "PreemptMode": "SUSPEND,GANG" e i valori compositi come "SchedulerParameters": "bf_window=1440,bf_resolution=600".
Ogni mappa supporta un sottoinsieme dei parametri slurm.conf validi per il suo record, non tutti. Se hai bisogno di un parametro non supportato, contatta il tuo referente per i cluster di addestramento di Gemini Enterprise Agent Platform.
Un parametro non supportato nell'ambito in cui lo imposti o un valore non valido per quel parametro viene rifiutato quando effettui la richiesta e l'errore indica il nome del parametro. Niente viene ignorato silenziosamente. Alcuni parametri vengono rifiutati per un motivo specifico:
-
Il servizio gestisce il controllo di integrità dei nodi e l'inserimento in coda dei job, pertanto non è possibile impostare
HealthCheckProgram,HealthCheckInterval,HealthCheckNodeStateeRequeueExit. -
PrologeEpilogvengono invece impostati tramiteprolog_bash_scriptseepilog_bash_scripts. -
I parametri
slurmdbd.conf, comeStorageHostePurgeJobAfter, non sono configurabili: il database di contabilità è gestito dal servizio. -
A livello di partizione,
Defaultviene rifiutato. La partizione predefinita è una scelta a livello di cluster, impostata condefault_partition_id.
Configurazione di runtime
Questi campi sono definiti all'interno del blocco runtime_spec del file JSON.
-
service_account: il account di servizio predefinito utilizzato dal cluster durante l'esecuzione di qualsiasi workload. Se non viene specificato, viene utilizzato il account di servizio Compute Engine predefinito. Questo campo non può essere aggiornato dopo la creazione del cluster.
Passaggi successivi
Utilizza il cluster di addestramento permanente attivo per eseguire i workload di machine learning.
- Esegui un job sul cluster: invia un
CustomJobper eseguire un job di addestramento sul tuo cluster persistente. - Organizza l'addestramento con le pipeline di Gemini Enterprise Agent Platform: per workflow ripetibili e di livello di produzione, automatizza il processo di invio dei job utilizzando le pipeline di Agent Platform.
- Visualizza il tuo cluster: elenca i cluster esistenti nel tuo progetto, controlla il loro stato e visualizza i dettagli di configurazione utilizzando la console Google Cloud o l'API Agent Platform.
- Modifica il cluster: aggiorna la configurazione di un cluster esistente, ad esempio il numero di nodi o le partizioni Slurm.
- Elimina il cluster per interrompere l'addebito dei costi: i cluster di addestramento sono permanenti e comportano costi mentre sono attivi.