Puedes usar Cluster Toolkit para crear clústeres de Google Kubernetes Engine (GKE) preconfigurados para cargas de trabajo basadas en rutas de aprendizaje. También puedes usar gcloud para crear manualmente clústeres de GKE para cargas de trabajo basadas en rutas.
Antes de comenzar
Asegúrate de tener lo siguiente:
- Herramientas de Kubernetes instaladas
- Configura Cluster Toolkit
- Habilitaste la API de Google Kubernetes Engine
Cómo configurar tu entorno local
Accede con tus credenciales de Google Cloud .
gcloud auth application-default login
Define las siguientes variables de entorno con valores adecuados para tu carga de trabajo.
Crea un clúster de GKE
En el siguiente ejemplo, crearás un clúster con grupos de nodos TPU v6e 2x4.
Puedes crear un clúster con Cluster Toolkit o la CLI de gcloud.
Cluster Toolkit
- Configura Cluster Toolkit.
Implementa un clúster de TPU de GKE siguiendo las instrucciones que se indican en Implementa un clúster de TPU v6e de GKE (para obtener una descripción general de todas las opciones de implementación de TPU, consulta Descripción general de las implementaciones de Cloud TPU).
Cuando configures tu plano de implementación, haz lo siguiente:
- Asegúrate de que
enable_pathways_for_tpusesté configurado comotrue(habilitado de forma predeterminada en los planos de TPU de Cluster Toolkit). Esto aprovisiona automáticamente el grupo de nodos de CPUcpu-nprequerido (n4-standard-64) y las configuraciones de Kueue para el controlador de Pathways. - Establece
num_slicesen la cantidad de grupos de nodos de porción de TPU que requiere tu carga de trabajo. - Establece
tpu_topologyen la topología de la porción de TPU seleccionada (por ejemplo,2x4o4x4). - Si usas capacidad reservada, establece
reservationen el nombre de tu reserva de TPU.
Después de crear el clúster, puedes enviar cargas de trabajo de Pathways con el comando
gcluster job submity la marca--pathways.- Asegúrate de que
gcloud
Configura algunas variables de entorno
CLUSTER=GKE_CLUSTER_NAME PROJECT=PROJECT_ID ZONE=ZONE REGION=REGION CLUSTER_VERSION=GKE_CLUSTER_VERSION PW_CPU_MACHINE_TYPE="n2-standard-64" NETWORK=NETWORK SUBNETWORK=SUB_NETWORK CLUSTER_NODEPOOL_COUNT=3 TPU_MACHINE_TYPE="ct6e-standard-4t" WORKERS_PER_SLICE=2 TOPOLOGY="2x4" NUM_CPU_NODES=1
Reemplaza lo siguiente:
CLUSTER: Es el nombre del clúster de GKE.PROJECT_ID: Es el nombre de tu proyecto de Google Cloud .ZONE: Es la zona en la que crearás recursos.REGION: Es la región en la que crearás recursos.CLUSTER_VERSION: [Opcional] Es la versión del clúster de GKE. Usa 1.32.2-gke.1475000 o una versión posterior.NETWORK: [Opcional] Establece un nombre de nube privada virtual. Se debe crear antes de crear el clúster.SUBNETWORK: [Opcional] Establece un nombre de subred. Esta debe crearse antes de crear el clúster.
En los siguientes pasos, se explica cómo crear un clúster de GKE y configurarlo para ejecutar cargas de trabajo de Pathways.
Crea un clúster de GKE:
gcloud beta container clusters create ${CLUSTER} \ --project=${PROJECT} \ --zone=${ZONE} \ --cluster-version=${CLUSTER_VERSION} \ --scopes=storage-full,gke-default,cloud-platform \ --machine-type ${PW_CPU_MACHINE_TYPE} \ --network=${NETWORK} \ --subnetwork=${SUBNETWORK}Crea grupos de nodo TPU:
for i in $(seq 1 ${CLUSTER_NODEPOOL_COUNT}); do gcloud container node-pools create "tpu-np-${i}" \ --project=${PROJECT} \ --zone=${ZONE} \ --cluster=${CLUSTER} \ --machine-type=${TPU_MACHINE_TYPE} \ --num-nodes=${WORKERS_PER_SLICE} \ --placement-type=COMPACT \ --tpu-topology=${TOPOLOGY} \ --scopes=storage-full,gke-default,cloud-platform \ --workload-metadata=GCE_METADATA doneCrea un grupo de nodos de CPU:
gcloud container node-pools create "cpu-pathways-np" \ --project ${PROJECT} \ --zone ${ZONE} \ --cluster ${CLUSTER} \ --machine-type ${PW_CPU_MACHINE_TYPE} \ --num-nodes ${NUM_CPU_NODES} \ --scopes=storage-full,gke-default,cloud-platform \ --workload-metadata=GCE_METADATAInstala la API de
JobSetObtén credenciales para el clúster y agrégalas a tu contexto local de kubectl.
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultPara usar la arquitectura de Pathways en tu clúster de GKE, debes instalar la API de
JobSet.kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml
¿Qué sigue?
- Ejecuta una carga de trabajo por lotes con Pathways
- Modo interactivo de Rutas de aprendizaje
- Inferencia multihost con Pathways
- Entrenamiento resiliente con Pathways
- Cómo portar cargas de trabajo de JAX a Pathways
- Soluciona problemas de Pathways on Cloud