Vous pouvez utiliser le kit de traitement accéléré (XPK) pour créer des clusters Google Kubernetes Engine (GKE) préconfigurés pour les charges de travail basées sur les parcours. Vous pouvez également utiliser gcloud pour créer manuellement des clusters GKE pour les charges de travail basées sur les parcours.
Avant de commencer
Vérifiez que vous disposez bien des éléments suivants :
Configurer votre environnement local
Connectez-vous avec vos identifiants Google Cloud .
gcloud auth application-default login
Définissez les variables d'environnement suivantes avec des valeurs adaptées à votre charge de travail.
Variables requises
Créer un cluster GKE
Dans l'exemple suivant, vous créez un cluster avec deux pools de nœuds v5e 2x4.
Vous pouvez créer un cluster à l'aide de XPK ou de la commande gcloud.
XPK
Définir des variables d'environnement
CLUSTER_NODEPOOL_COUNT=CLUSTER_NODEPOOL_COUNT PROJECT=PROJECT_ID ZONE=ZONE CLUSTER=GKE_CLUSTER_NAME TPU_TYPE="v5litepod-8" PW_CPU_MACHINE_TYPE="n2-standard-64" NETWORK=NETWORK SUBNETWORK=SUB_NETWORK
Remplacez les éléments suivants :
CLUSTER_NODEPOOL_COUNT: nombre maximal de pools de nœuds qu'une charge de travail peut utiliserPROJECT_ID: nom de votre projet Google CloudZONE: zone dans laquelle vous créez des ressourcesCLUSTER: nom du cluster GKETPU_TYPE: type de TPU. Pour en savoir plus, consultez Types acceptés dans XPK.PW_CPU_MACHINE_TYPE: type de nœud de processeur pour le contrôleur PathwaysNETWORK: [Facultatif] Définissez un nom de cloud privé virtuel si vous utilisez XPK. Il doit être créé avant la création de votre cluster.SUBNETWORK: [Facultatif] définissez un nom de sous-réseau si vous utilisez XPK. Vous devez le créer avant de créer votre cluster.
Utilisez XPK pour créer un cluster GKE Pathways. L'exécution de cette commande peut prendre plusieurs minutes. Une fois l'engagement terminé, votre capacité est allouée et vous commencez à être facturé.
xpk cluster create-pathways \ --num-slices=${CLUSTER_NODEPOOL_COUNT} \ --tpu-type=${TPU_TYPE} \ --pathways-gce-machine-type=${PW_CPU_MACHINE_TYPE} \ --on-demand \ --project=${PROJECT} \ --zone=${ZONE} \ --cluster=${CLUSTER} \ --custom-cluster-arguments="--network=${NETWORK} --subnetwork=${SUBNETWORK} --enable-ip-alias"
Une fois le cluster créé, vous pouvez créer et supprimer des charges de travail selon vos besoins. Vous n'avez pas besoin de reprovisionner la capacité TPU.
gcloud
Définir des variables d'environnement
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="ct5lp-hightpu-4t" WORKERS_PER_SLICE=2 TOPOLOGY="2x4" NUM_CPU_NODES=1
Remplacez les éléments suivants :
CLUSTER: nom du cluster GKEPROJECT_ID: nom de votre projet Google CloudZONE: zone dans laquelle vous créez des ressourcesREGION: région dans laquelle vous créez des ressourcesCLUSTER_VERSION: [Facultatif] version du cluster GKE, utilisez 1.32.2-gke.1475000 ou version ultérieure.PW_CPU_MACHINE_TYPE: type de nœud de processeur pour le contrôleur PathwaysNETWORK: [Facultatif] Définissez un nom de cloud privé virtuel si vous utilisez XPK. Il doit être créé avant la création de votre cluster.SUBNETWORK: [Facultatif] définissez un nom de sous-réseau si vous utilisez XPK. Vous devez le créer avant de créer votre cluster.CLUSTER_NODEPOOL_COUNT: nombre maximal de pools de nœuds qu'une charge de travail peut utiliserTPU_MACHINE_TYPE: type de machine TPU que vous souhaitez utiliserWORKERS_PER_SLICE: nombre de nœuds par pool de nœudsGKE_ACCELERATOR_TYPE: type d'accélérateur Google Kubernetes Engine (voir Choisir une version de TPU)TOPOLOGY: topologie de TPUNUM_CPU_NODES: taille du pool de nœuds de processeur Pathways
Les étapes suivantes expliquent comment créer un cluster GKE et le configurer pour exécuter des charges de travail Pathways.
Créez un cluster 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}Créez des pools de nœuds 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 doneCréez un pool de nœuds de processeur :
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_METADATAInstaller les API
JobSetetPathwaysJobObtenez les identifiants du cluster et ajoutez-les à votre contexte kubectl local.
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultPour utiliser l'architecture Pathways sur votre cluster GKE, vous devez installer les API
JobSetetPathwaysJob.kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml kubectl apply --server-side -f https://github.com/google/pathways-job/releases/download/v0.1.2/install.yaml
Étapes suivantes
- Exécuter une charge de travail par lot avec Pathways
- Mode interactif des parcours
- Inférence multihôte avec Pathways
- Entraînement résilient avec Pathways
- Transférer des charges de travail JAX vers Pathways
- Résoudre les problèmes liés aux parcours