Administrar clúster

Si te interesan los clústeres de entrenamiento de Gemini Enterprise Agent Platform, comunícate con tu representante de ventas para obtener acceso.

Una vez que se implementa un clúster, puedes administrar todo su ciclo de vida con los siguientes extremos de la API de REST.

  • List: Visualiza todos los clústeres activos de tu proyecto.
  • Get: Recupera información detallada sobre un clúster específico.
  • Update: Modifica la configuración de un clúster existente.
  • Delete: Borra de forma permanente un clúster y sus recursos.

Autenticación

alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'

Enumera los clústeres:

    gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters
    

El método list admite los siguientes parámetros de consulta opcionales para controlar la paginación.

  • pageSize (número entero, opcional): Es la cantidad máxima de clústeres que se devolverán en la respuesta. El servicio puede devolver menos que este valor, incluso si existen más elementos. Si no se especifica, se usará un tamaño de página predeterminado.
  • pageToken (string, optional): Es un token que se recibió de una llamada a lista anterior. Proporciona este token para recuperar la página siguiente de resultados.
En el siguiente ejemplo, se solicita la primera página de resultados con un máximo de 5 clústeres por página.

    gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
    

Una respuesta correcta contiene un array de clústeres con hasta cinco recursos de clústeres y también puede incluir una cadena nextPageToken.

Obtén un clúster:

    gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
    

Actualiza un clúster:

UPDATE_PAYLOAD especifica la ruta de acceso local a un archivo JSON que define el ModelDevelopmentCluster completo al que deseas actualizar.

Por ejemplo, para actualizar la cantidad de nodos de un grupo de un clúster solo de CPU, usa la siguiente carga útil de 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
Parámetros de consulta
  • updateMask (cadena, opcional): Un objeto FieldMask que especifica qué campos del recurso del clúster de desarrollo del modelo se deben actualizar. Solo se cambian los campos que se enumeran en updateMask.

    Se pueden especificar los siguientes campos dentro del recurso ModelDevelopmentCluster en el updateMask:

    • node_pools
    • orchestrator_spec.slurm_spec.partitions
    • orchestrator_spec.slurm_spec.login_node_pool_id
    • orchestrator_spec.slurm_spec.prolog_bash_scripts
    • orchestrator_spec.slurm_spec.epilog_bash_scripts

El siguiente comando actualiza la configuración del grupo de nodos y las particiones de 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'
Nota importante sobre los campos repetidos

En el caso de los campos repetidos, como node_pools, prolog_bash_scripts y epilog_bash_scripts, la API solo admite una operación de reemplazo completa. El usuario debe proporcionar la lista completa esperada de elementos en la carga útil de la solicitud para reemplazar por completo la lista existente.

Comportamiento posterior a la actualización y estado del clúster

Una solicitud correcta devuelve una operación de larga duración (LRO). Luego, puedes supervisar el estado de esta operación con el siguiente comando:

gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Una vez que la operación de actualización se completa correctamente, la mayoría de las modificaciones se aplican de inmediato (o dentro del tiempo de sincronización de Slurm de 15 s) y no requieren ninguna acción adicional. Solo los cambios en la infraestructura de procesamiento del clúster subyacente, incluidas las modificaciones en las fuentes de almacenamiento y los scripts de inicio, requieren que se vuelvan a crear los recursos.

Borra un clúster:

  gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
  

Si se ejecuta correctamente, este comando devuelve una operación de larga duración que puedes supervisar con el comando operations describe.

gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID

¿Qué sigue?

Administrar tu clúster de entrenamiento de Vertex AI te permite optimizar su uso, integrarlo en flujos de trabajo automatizados y preparar tus modelos entrenados para la implementación.

  • Organiza tu entrenamiento con las canalizaciones de la plataforma de agentes de Gemini Enterprise: Automatiza todo el ciclo de vida de tus trabajos de entrenamiento, desde la preparación de datos hasta el registro de modelos, con canalizaciones que se dirigen a tu clúster administrado.
  • Supervisa y depura tus trabajos de entrenamiento: Realiza un seguimiento del progreso y el uso de recursos, e identifica problemas con tus trabajos de entrenamiento distribuidos que se ejecutan en el clúster.
  • Implementa tu modelo para la inferencia: Después de entrenar y registrar tus modelos, impleméntalos en un extremo de Vertex AI para atender solicitudes de inferencia en línea a gran escala.
  • Optimiza los costos: Revisa periódicamente la utilización del clúster y bórralo cuando no esté en uso activo para minimizar la facturación del hardware reservado.