Una volta eseguito il deployment di un cluster, puoi modificarlo o rimuoverlo utilizzando i seguenti endpoint dell'API Agent Platform:
Update: modifica una configurazione del cluster esistente.Delete: rimuove definitivamente un cluster e le relative risorse.
L'aggiornamento di un cluster è disponibile solo tramite l'API Agent Platform. Puoi eliminare un cluster dall'API Agent Platform o dalla Google Cloud console.
Per istruzioni su come elencare tutti i cluster o visualizzare i singoli cluster, vedi Visualizzare i cluster.
Autenticazione
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
Aggiorna un cluster
UPDATE_PAYLOAD specifica il percorso locale di un file JSON che definisce l'oggetto completo
ModelDevelopmentCluster a cui vuoi eseguire l'aggiornamento.
Ad esempio, per aggiornare il numero di nodi di un pool di un cluster solo CPU, utilizza il seguente payload JSON:
{ "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": UPDATED_MIN_NODE_COUNT, "max_node_count": UPDATED_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": 1, "max_node_count": 1 }, "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" } } }
gcurl -X PATCH -d @UPDATE_PAYLOAD https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
-
updateMask(stringa, facoltativo): una FieldMask che specifica i campi della risorsa del cluster di sviluppo del modello da aggiornare. Vengono modificati solo i campi elencati inupdateMaskvengono modificati.I seguenti campi della risorsa
ModelDevelopmentClusterpossono essere specificati inupdateMask:labelsnode_poolsorchestrator_spec.slurm_spec.partitionsorchestrator_spec.slurm_spec.login_node_pool_idorchestrator_spec.slurm_spec.prolog_bash_scriptsorchestrator_spec.slurm_spec.epilog_bash_scripts
-
updateMode(enum, facoltativo): specifica la modalità di aggiornamento. I valori possibili sono:UPDATE_MODE_UNSPECIFIED: il valore predefinito, trattato comeUSER_AND_SERVICE.USER_ONLY: applica solo le modifiche ai campi specificate dall'utente nella richiesta. Il servizio non aggiornerà i campi gestiti dal servizio, come gli script di avvio, prolog o epilog. Inoltre, ogni pool di nodi rimane sull'immagine su cui è attualmente in esecuzione, a meno che tu non impostinode_imagepersonalmente, pertanto un aggiornamentoUSER_ONLYche omettenode_imagenon ricreerà i nodi.USER_AND_SERVICE: applica le modifiche ai campi specificate dall'utente e consente al servizio di aggiornare i campi gestiti dal servizio.
USER_AND_SERVICEper assicurarti che il cluster sia aggiornato.
Il comando riportato di seguito aggiorna sia la configurazione pool di nodi sia le partizioni Slurm.
gcurl -X PATCH -d @update-payload.json 'https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID?updateMask=orchestrator_spec.slurm_spec.partitions,node_pools&updateMode=USER_AND_SERVICE'
Per i campi ripetuti, come node_pools, prolog_bash_scripts e epilog_bash_scripts, l'API supporta solo un'operazione di sostituzione completa. L'utente deve fornire l'intero elenco previsto di elementi nel payload della richiesta per sostituire completamente l'elenco esistente.
Poiché node_pools viene sostituito completamente, un pool di nodi nel payload di aggiornamento che omette node_image viene risolto nell'immagine predefinita corrente per il tipo di macchina. Il valore predefinito cambia nel tempo, quindi l'omissione di node_image sposta il pool di nodi all'ultima immagine disponibile, che spesso è ciò che vuoi: vengono applicate correzioni di driver, sicurezza e bug.
Per mantenere un pool di nodi su un'immagine specifica durante gli aggiornamenti, imposta node_image su quell'immagine. Se leggi il valore corrente da Get per inviarlo di nuovo, tieni presente che un cluster che non è mai stato aggiornato segnala un node_image vuoto.
Una richiesta riuscita restituisce un'operazione a lunga esecuzione (LRO). Puoi quindi monitorare lo stato di questa operazione utilizzando il seguente comando:
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Elimina un cluster
gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Questo comando restituisce un'operazione a lunga esecuzione in caso di successo, che puoi monitorare utilizzando il comando operations describe.
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Passaggi successivi
La gestione del cluster di addestramento di Gemini Enterprise Agent Platform ti consente di ottimizzarne l'utilizzo, integrarlo nei workflow automatizzati e preparare i modelli addestrati per il deployment.
- Orchestra l'addestramento con le pipeline di Gemini Enterprise Agent Platform: automatizza l'intero ciclo di vita dei job di addestramento, dalla preparazione dei dati alla registrazione dei modelli, utilizzando le pipeline che hanno come target il cluster gestito.
- Monitora ed esegui il debug dei job di addestramento: monitora l'avanzamento e l'utilizzo delle risorse e identifica i problemi relativi ai job di addestramento distribuiti in esecuzione sul cluster.
- Esegui il deployment del modello per l'inferenza: dopo aver addestrato e registrato i modelli, esegui il deployment su un endpoint di Gemini Enterprise Agent Platform per gestire le richieste di inferenza online su larga scala.
- Ottimizza i costi: rivedi regolarmente l'utilizzo del cluster ed eliminalo quando non è in uso attivo per ridurre al minimo la fatturazione dell'hardware riservato.