Use o Cluster Toolkit
para criar clusters pré-configurados do Google Kubernetes Engine (GKE) para
cargas de trabalho baseadas em programas. Também é possível usar gcloud para criar manualmente
clusters do GKE para cargas de trabalho baseadas em programas.
Antes de começar
Você precisa ter:
- Ferramentas do Kubernetes instaladas
- Configurar o Cluster Toolkit
- Ative a API Google Kubernetes Engine
Configurar seu ambiente local
Faça login com suas credenciais do Google Cloud .
gcloud auth application-default login
Defina as seguintes variáveis de ambiente com valores adequados à sua carga de trabalho.
Criar um cluster do GKE
No exemplo a seguir, você cria um cluster com pools de nós da TPU v6e 2x4.
É possível criar um cluster usando o Cluster Toolkit ou a CLI gcloud.
Cluster Toolkit
- Configure o Cluster Toolkit.
Implante um cluster de TPU do GKE seguindo as instruções em Implantar um cluster de TPU v6e do GKE (para uma visão geral de todas as opções de implantação de TPU, consulte Visão geral das implantações do Cloud TPU).
Ao configurar o blueprint de implantação, faça o seguinte:
- Verifique se
enable_pathways_for_tpusestá definido comotrue(ativado por padrão nos blueprints de TPU do Cluster Toolkit). Isso provisiona automaticamente o pool de nós de CPUcpu-np(n4-standard-64) e as configurações do Kueue necessárias para o controlador do Pathways. - Defina
num_slicescomo o número de pools de nós de fração de TPU necessários para sua carga de trabalho. - Defina
tpu_topologycomo a topologia de fração de TPU selecionada (por exemplo,2x4ou4x4). - Se você estiver usando capacidade reservada, defina
reservationcomo o nome da sua reserva de TPU.
Depois que o cluster for criado, envie cargas de trabalho do Pathways usando o comando
gcluster job submitcom a flag--pathways.- Verifique se
gcloud
Definir algumas variáveis de ambiente
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
Substitua:
CLUSTER: o nome do cluster do GKEPROJECT_ID: o nome do projeto Google CloudZONE: a zona em que você está criando recursosREGION: a região em que você está criando recursosCLUSTER_VERSION: [opcional] a versão do cluster do GKE. Use 1.32.2-gke.1475000 ou mais recente.NETWORK: [Opcional] defina um nome de nuvem privada virtual. Ele precisa ser criado antes da criação do cluster.SUBNETWORK: [Opcional] defina um nome de sub-rede. Ele precisa ser criado antes da criação do cluster.
As etapas a seguir explicam como criar um cluster do GKE e configurá-lo para executar cargas de trabalho do Pathways.
Crie um cluster do 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}Crie pools de nós de 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 doneCrie um pool de nós 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_METADATAInstalar a API
JobSetReceba as credenciais do cluster e adicione-as ao contexto local do kubectl.
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultPara usar a arquitetura do Pathways no cluster do GKE, instale a API
JobSet.kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml
A seguir
- Executar uma carga de trabalho em lote com o Pathways
- Modo interativo dos programas
- Inferência com vários hosts usando o Pathways
- Treinamento resiliente com os programas
- Como migrar cargas de trabalho do JAX para o Pathways
- Resolver problemas dos programas de treinamentos no cloud