Use o Kit de processamento acelerado (XPK)
para criar clusters pré-configurados do Google Kubernetes Engine (GKE) para
cargas de trabalho baseadas em programas de aprendizado. 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
- XPK instalado
- Ativou a API TPU
- Ativou 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.
Variáveis obrigatórias
Criar um cluster do GKE
No exemplo a seguir, você cria um cluster com dois pools de nós v5e 2x4.
É possível criar um cluster usando o XPK ou o comando gcloud.
XPK
Definir algumas variáveis de ambiente
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
Substitua:
CLUSTER_NODEPOOL_COUNT: o número máximo de pools de nós que uma carga de trabalho pode usar.PROJECT_ID: o nome do projeto Google CloudZONE: a zona em que você está criando recursosCLUSTER: o nome do cluster do GKETPU_TYPE: o tipo de TPU. Para mais informações, consulte tipos compatíveis em XPK.PW_CPU_MACHINE_TYPE: o tipo de nó da CPU para o controlador do Pathways.NETWORK: [Opcional] defina um nome de nuvem privada virtual se estiver usando o XPK. Ele precisa ser criado antes da criação do cluster.SUBNETWORK: [Opcional] defina um nome de sub-rede se estiver usando o XPK. Ele precisa ser criado antes da criação do cluster.
Use o XPK para criar um cluster do GKE Pathways. Esse comando pode levar vários minutos para provisionar a capacidade. Depois de concluído, sua capacidade será alocada e você começará a receber cobranças.
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"
Depois que o cluster for criado, você poderá criar e excluir cargas de trabalho conforme necessário. Não é necessário provisionar novamente a capacidade da TPU.
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="ct5lp-hightpu-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.PW_CPU_MACHINE_TYPE: o tipo de nó da CPU para o controlador do Pathways.NETWORK: [Opcional] defina um nome de nuvem privada virtual se estiver usando o XPK. Ele precisa ser criado antes da criação do cluster.SUBNETWORK: [Opcional] defina um nome de sub-rede se estiver usando o XPK. Ele precisa ser criado antes da criação do cluster.CLUSTER_NODEPOOL_COUNT: o número máximo de pools de nós que uma carga de trabalho pode usar.TPU_MACHINE_TYPE: o tipo de máquina da TPU que você quer usarWORKERS_PER_SLICE: o número de nós por pool de nósGKE_ACCELERATOR_TYPE: o tipo de acelerador do Google Kubernetes Engine. Consulte Escolher uma versão da TPU.TOPOLOGY: a topologia da TPUNUM_CPU_NODES: o tamanho do pool de nós de CPU do programa de aprendizado
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 da 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 as APIs
JobSetePathwaysJobReceba as credenciais do cluster e adicione-as ao contexto kubectl local.
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 as APIs
JobSetePathwaysJob.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
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 programas de aprendizado
- Como migrar cargas de trabalho do JAX para o Pathways
- Resolver problemas dos programas