En esta página, se proporciona el método directo basado en la API para crear y administrar un clúster de entrenamiento. Aprenderás a definir la configuración completa de tu clúster, incluidos los nodos de acceso, las particiones de GPU de alto rendimiento, como la A4, y la configuración del orquestador de Slurm, todo en un archivo JSON.
También se incluye cómo usar curl y las llamadas a la API de REST para implementar esta configuración, crear el clúster y administrar su ciclo de vida con las operaciones GET, LIST, UPDATE y DELETE.
Define la configuración del clúster
Crea un archivo JSON para definir la configuración completa de tu clúster de entrenamiento.
Si tu política de la organización prohíbe las direcciones IP públicas en las instancias de procesamiento, implementa el clúster de entrenamiento con el parámetro enable_public_ips: false y utiliza Cloud NAT para el tráfico de salida de Internet.
El primer paso para aprovisionar un clúster de entrenamiento es definir su configuración completa en un archivo JSON. Este archivo actúa como el plano de tu clúster y especifica todo, desde su nombre y configuración de red hasta el hardware de sus nodos de acceso y trabajadores.
En la siguiente sección, se proporcionan varios archivos de configuración JSON completos que sirven como plantillas prácticas para una variedad de casos de uso comunes. Consulta esta lista para encontrar el ejemplo que mejor se adapte a tus necesidades y úsalo como punto de partida.
GPU con Filestore únicamente: Es una configuración estándar para el entrenamiento de GPU de uso general.
GPU con Filestore y Managed Lustre: Es una configuración avanzada para trabajos que requieren mucha E/S.
GPU con secuencia de comandos de inicio: Demuestra cómo ejecutar comandos personalizados en nodos durante el inicio.
Clúster solo de CPU: Es una configuración básica que usa solo recursos de CPU.
Configuración avanzada de Slurm: Demuestra cómo establecer parámetros de
slurm.confen el alcance del clúster, la partición o el grupo de nodos, y cómo ejecutar secuencias de comandos de prólogo y epílogo.
Cada ejemplo está seguido de una descripción detallada de los parámetros clave que se usan en esa configuración específica.
Solo GPU con Filestore
Esta es la configuración estándar. Proporciona una instancia de Filestore que actúa como el directorio /home para el clúster, apto para uso general y para almacenar datos del usuario.
En el siguiente ejemplo, se muestra el contenido de gpu-filestore.json. Esta especificación crea un clúster con una partición de GPU. Puedes usarlo como plantilla y modificar valores como machineType o nodeCount para que se adapten a tus necesidades.
Para obtener una lista de parámetros, consulta Referencia de parámetros.
{ "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 y Managed Lustre
Esta configuración avanzada incluye la instancia estándar de Filestore, además de un sistema de archivos Lustre de alto rendimiento. Elige esta opción si tus trabajos de entrenamiento requieren acceso de alta capacidad de procesamiento a grandes conjuntos de datos.
Para obtener una lista de parámetros, consulta Referencia de parámetros.
{ "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 secuencia de comandos de inicio
En este ejemplo, se muestra cómo agregar una secuencia de comandos personalizada a un grupo de nodos. Esta secuencia de comandos se ejecuta en todos los nodos de ese grupo durante el inicio. Para configurar esto, agrega los campos pertinentes a la definición de tu grupo de nodos, además de la configuración general. Para obtener una lista de los parámetros y sus descripciones, consulta la referencia de parámetros.
{ "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" } } }
Clúster solo de CPU
Para aprovisionar un entorno de clúster de entrenamiento, primero debes definir su configuración completa en un archivo JSON. Este archivo actúa como el plano de tu clúster, ya que especifica todo, desde su nombre y la configuración de red hasta el hardware de sus nodos de acceso y de trabajador.
Para obtener una lista de parámetros, consulta Referencia de parámetros.
{ "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" } } }
Configuración avanzada de Slurm
En este ejemplo, se proporciona un control detallado sobre Slurm configurando parámetros slurm.conf por nombre y ejecutando secuencias de comandos de prólogo y epílogo para la configuración y limpieza automatizadas de trabajos. Los parámetros se pueden establecer para todo el clúster, para una sola partición o para un solo grupo de nodos.
Hay tres mapas de configuración, uno para cada registro de slurm.conf:
configen la especificación de Slurm para la configuración de todo el clústerconfigen una partición- Entrada
node_setspara un grupo de nodos
Para conocer las reglas sobre los nombres y valores de los parámetros, y qué parámetros se rechazan, consulta los mapas de configuración de Slurm.
No es necesario que los establezcas en el momento de la creación. Los tres mapas se pueden cambiar en un clúster en ejecución, sin reiniciar nodos ni interrumpir los trabajos en cola. Consulta Actualiza la configuración de 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" } } }
El mapa con alcance de clúster establece la prioridad multifactor, la prioridad de partición y la preferencia SchedulerParameters, cuyo término bf_continue muestra la forma compuesta: un término simple activa una marca, y los términos se separan con comas. Es el tiempo de ejecución del trabajo de límites del mapa de partición y la memoria predeterminada para la partición cpu únicamente, y las etiquetas de entrada node_sets que agrupan los nodos para que los trabajos puedan seleccionarlos con --constraint.
Una vez que tu clúster esté definido en un archivo JSON, usa los siguientes comandos de la API de REST para implementarlo y administrarlo. En los ejemplos, se usa un alias gcurl, que es un atajo autenticado y conveniente para interactuar con los extremos de la API. Estos comandos abarcan todo el ciclo de vida, desde la implementación inicial del clúster hasta la actualización, la obtención del estado, la enumeración de todos los clústeres y, finalmente, la eliminación del clúster.
Autenticación
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
Crea un archivo JSON
Crea un archivo JSON (por ejemplo, @cpu-cluster.json) para especificar la configuración de tu clúster de entrenamiento del modelo.
Implementa el clúster
Una vez que hayas creado el archivo de configuración JSON, puedes implementar el clúster con la API de REST.
Configura las variables de entorno
Antes de ejecutar el comando, establece las siguientes variables de entorno. Esto hace que el comando de la API sea más limpio y fácil de administrar.
- PROJECT_ID: Es el ID de tu proyecto de Google Cloud en el que se creará el clúster.
- REGION: Es la región Google Cloud del clúster y sus recursos.
- ZONE: Es la Google Cloud zona en la que se aprovisionarán los recursos del clúster.
- CLUSTER_ID: Es un identificador único para tu clúster de entrenamiento, que también se usa como prefijo para nombrar los recursos relacionados.
Ejecuta el comando create
Ahora, ejecuta el siguiente comando de gcurl. Utiliza el archivo JSON (en este ejemplo, cpu-cluster.json) como cuerpo de la solicitud y las variables de entorno que acabas de establecer para construir el extremo de API y los parámetros de consulta.
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 vez que comience la implementación, se generará un ID de operación. Asegúrate de copiar este ID. La necesitarás para validar tu clúster en el siguiente paso.
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..." }
Valida la implementación del clúster
Haz un seguimiento del progreso de la implementación con el ID de operación que se proporcionó cuando implementaste el clúster. Por ejemplo, 2995239222190800896 es el ID de la operación en el ejemplo citado anteriormente.
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
En resumen
Cuando envías la configuración del clúster con el comando POST de gcurl, se inicia el aprovisionamiento del clúster, que es una operación asíncrona de larga duración. La API muestra de inmediato una respuesta que contiene un Operation ID.
Es fundamental que guardes este ID, ya que lo usarás en los siguientes pasos para supervisar el progreso de la implementación, verificar que el clúster se haya creado correctamente y administrar su ciclo de vida.
Referencia del parámetro
En la siguiente lista, se describen todos los parámetros que se usan en los ejemplos de configuración. Los parámetros se organizan en grupos lógicos según el recurso que configuran.
Configuración general y de red
- DISPLAY_NAME: Es un nombre único para tu clúster de entrenamiento. La cadena solo puede contener caracteres alfanuméricos en minúscula, debe comenzar con una letra y está limitada a 10 caracteres.
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- REGION: Es la Google Cloud región en la que se ubicarán el clúster y sus recursos.
- NETWORK: Es la red de nube privada virtual que se usará para los recursos del clúster.
- ZONE: Es la zona Google Cloud para el clúster y sus recursos.
- SUBNETWORK: Es la subred que se usará para los recursos del clúster.
Configuración de grupos de nodos
Los siguientes parámetros se usan para definir los grupos de nodos tanto para los nodos de acceso como para los nodos trabajadores.
Configuración común del grupo de nodos
-
ID: Es un identificador único para el grupo de nodos dentro del clúster (por ejemplo, "
login", "a4", "cpu"). -
PROVISIONING_MODEL: Es el modelo de aprovisionamiento del nodo trabajador (por ejemplo,
ON_DEMAND,SPOT,RESERVATION,FLEX_START). -
MACHINE_TYPE: Es el tipo de máquina del nodo trabajador (por ejemplo,
a3-highgpu-8g,a3-megagpu-8g,a3-ultragpu-8g,a4-highgpu-8g). Para obtener la lista completa de los tipos de máquinas compatibles, consulta Recursos de procesamiento. -
MIN_NODE_COUNT: El
MIN_NODE_COUNTdebe ser igual que elMAX_NODE_COUNT. -
MAX_NODE_COUNT: Para el grupo de nodos de acceso, el
MAX_NODE_COUNTdebe ser igual alMIN_NODE_COUNT. -
ENABLE_PUBLIC_IPS: Es un valor booleano (
trueofalse) para determinar si el nodo de acceso tiene una dirección IP pública. -
BOOT_DISK_TYPE: Es el tipo de disco de arranque para el nodo de acceso (por ejemplo,
pd-standard,pd-ssd). - BOOT_DISK_SIZE_GB: Es el tamaño del disco de arranque en GB para el nodo de acceso.
- LABELS: Es un conjunto de pares clave/valor para etiquetar el grupo de nodos.
-
NODE_IMAGE (corresponde a
node_imagedentro de un objetonode_pools): Es la imagen de VM desde la que se inician los nodos del grupo de nodos, como una imagen completa o una ruta de acceso al recurso de la familia de imágenes (por ejemplo,projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY). Si la omites, el grupo de nodos usa la imagen predeterminada actual para su tipo de máquina, que avanza con el tiempo. Configúralo para mantener el grupo de nodos en una imagen específica. Si cambias la imagen de un grupo de nodos, se vuelven a crear sus nodos.
Configuración de almacenamiento adicional
-
FILESTORES (corresponde a
filestoresdentro de un objetonode_pools): Es una lista de instancias de Filestore preexistentes para activar en el grupo de nodos para el acceso compartido a archivos. -
LUSTRES (corresponde a
lustresdentro de un objetonode_pools): Es una lista de instancias de Lustre preexistentes para activar en el grupo de nodos para el acceso a archivos de alto rendimiento.
Configuración específica del trabajador
-
ACCELERATOR_TYPE: Es el acelerador de GPU correspondiente que se adjuntará a los nodos trabajadores.
Los valores admitidos son los siguientes:
NVIDIA_H100_80GBNVIDIA_H100_MEGA_80GBNVIDIA_H200_141GBNVIDIA_B200
- ACCELERATOR_COUNT: Es la cantidad de aceleradores que se deben conectar a cada nodo trabajador.
-
RESERVATION_AFFINITY_TYPE (corresponde a
machine_spec.reservation_affinity.reservationAffinityType): Es la afinidad de la reserva para el grupo de nodos. Este parámetro debe serSPECIFIC_RESERVATION, que es el único valor admitido. Cuando se usaSPECIFIC_RESERVATION, debes especificar la reserva enmachine_spec.reservation_affinity.values. -
RESERVATION_NAME: Es el nombre de la reserva que se usará para el grupo de nodos. Se usa en el nombre de recurso completo de la reserva que se proporciona en
machine_spec.reservation_affinity.values, por ejemplo,projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME. Se requiere una reserva cuando RESERVATION_AFFINITY_TYPE esSPECIFIC_RESERVATION.
Configuración del organizador y del almacenamiento
Estos campos se definen dentro del bloque orchestrator_spec.slurm_spec del archivo JSON.
Configuración principal de Slurm y Storage
-
HOME_DIRECTORY_STORAGE (corresponde a
home_directory_storage): Es el nombre completo del recurso de la instancia de Filestore preexistente que se debe activar como el directorio/home. -
LOGIN_NODE_POOL_ID (corresponde a
login_node_pool_id): Es el ID del grupo de nodos que se debe usar para los nodos de acceso. -
partitions: Es una lista de objetos de partición, en la que cada objeto requiere unidy una lista denode_pool_ids. -
default_partition_id(opcional): Es elidde la partición que se usa para ejecutar trabajos de Slurm cuando no se especifica una partición de forma explícita (por ejemplo, cuando se ejecutasbatchsin la marca--partition). Si no se configura, la primera partición de la lista de particiones se convierte en la predeterminada, por lo que reordenar la lista cambiará la partición predeterminada.
Configuración avanzada de Slurm
-
prolog_bash_scripts: Es una lista de cadenas, en la que cada cadena contiene el contenido completo de una secuencia de comandos de Bash que se ejecutará antes de que comience un trabajo. -
epilog_bash_scripts: Es una lista de cadenas, en la que cada cadena contiene el contenido completo de una secuencia de comandos de Bash que se ejecutará después de que se complete un trabajo. -
config,partitions[].configynode_sets: Parámetros de Slurm establecidos por nombre. Consulta Mapas de configuración de Slurm. -
schedulingyaccounting: Se reemplazaron. Estos dos objetos exponen un conjunto fijo de parámetros de prioridad, preferencia y contabilidad, cada uno de los cuales se puede establecer por nombre en el mapaconfigcon alcance del clúster (priority_typecomo"PriorityType",preempt_modecomo"PreemptMode", y así sucesivamente). Aún funcionan para los clústeres que los usan, pero los clústeres nuevos deben usarconfig, que admite muchos más parámetros deslurm.confque este subconjunto.
Mapas de configuración de Slurm
Los parámetros de Slurm se establecen por nombre, en tres mapas, uno para cada registro slurm.conf:
-
config: Es la configuración con alcance del clúster, escrita como líneas globales deKey=Value. -
partitions[].config: Es la configuración de una partición, escrita como pares adicionales en la líneaPartitionName=de esa partición. -
node_sets: Es una lista de objetos, cada uno con un mapa denode_pool_idy un mapa deconfig. La configuración se escribe como pares adicionales en la líneaNodeName=para los nodos de ese grupo de nodos. Como máximo, una entrada por grupo de nodos, y el grupo debe ser un grupo de procesamiento del clúster, no el grupo de acceso.
En los tres, las claves son nombres de parámetros de Slurm tal como los documenta SchedMD, sin distinguir mayúsculas de minúsculas y sin tener en cuenta los guiones bajos, por lo que DefMemPerCPU, defmempercpu y def_mem_per_cpu significan el mismo parámetro. Los valores se escriben de la misma manera en que los escribe slurm.conf, incluidas las listas separadas por comas, como "PreemptMode": "SUSPEND,GANG", y los valores compuestos, como "SchedulerParameters": "bf_window=1440,bf_resolution=600".
Cada mapa admite un subconjunto de los parámetros de slurm.conf que son válidos para su registro, no todos. Si necesitas un parámetro que no se admite, comunícate con tu contacto de los clústeres de entrenamiento de Gemini Enterprise Agent Platform.
Cuando realizas la solicitud, se rechaza un parámetro que no se admite en el alcance en el que lo estableces o un valor que no es válido para ese parámetro, y el error nombra el parámetro. No se descarta nada de forma silenciosa. Algunos parámetros se rechazan por un motivo específico:
-
El servicio administra la verificación de estado de los nodos y la puesta en cola de trabajos, por lo que no se pueden establecer
HealthCheckProgram,HealthCheckInterval,HealthCheckNodeStateyRequeueExit. -
PrologyEpilogse configuran a través deprolog_bash_scriptsyepilog_bash_scripts, respectivamente. -
Los parámetros
slurmdbd.conf, comoStorageHostyPurgeJobAfter, no se pueden configurar: la base de datos de contabilidad la administra el servicio. -
En el alcance de la partición, se rechaza
Default. La partición predeterminada es una elección para todo el clúster, establecida condefault_partition_id.
Configuración del entorno de ejecución
Estos campos se definen dentro del bloque runtime_spec del archivo JSON.
-
service_account: Es la cuenta de servicio predeterminada que usa el clúster cuando ejecuta cualquier carga de trabajo en él. Si no se especifica, se usa la cuenta de servicio predeterminada de Compute Engine. Este campo no se puede actualizar después de crear el clúster.
¿Qué sigue?
Usa tu clúster de entrenamiento persistente activo para ejecutar tus cargas de trabajo de aprendizaje automático.
- Ejecuta un trabajo en tu clúster: Envía un
CustomJobpara ejecutar un trabajo de entrenamiento en tu clúster persistente. - Organiza tu entrenamiento con Gemini Enterprise Agent Platform Pipelines: Para flujos de trabajo repetibles y de calidad de producción, automatiza el proceso de envío de trabajos con Agent Platform Pipelines.
- Consulta tu clúster: Enumera los clústeres existentes en tu proyecto, verifica su estado y consulta los detalles de configuración con la consola de Google Cloud o la API de Agent Platform.
- Cambia tu clúster: Actualiza la configuración de un clúster existente, como la cantidad de nodos o las particiones de Slurm.
- Borra tu clúster para dejar de generar costos: Los clústeres de entrenamiento son persistentes y generan costos mientras están activos.