가속 처리 키트 (XPK)를 사용하여 경로 기반 워크로드용으로 사전 구성된 Google Kubernetes Engine (GKE) 클러스터를 만들 수 있습니다. gcloud를 사용하여 경로 기반 워크로드용 GKE 클러스터를 수동으로 만들 수도 있습니다.
시작하기 전에
다음 사항이 필요합니다.
로컬 환경 설정
사용자 인증 정보로 Google Cloud 로그인합니다.
gcloud auth application-default login
워크로드에 적합한 값으로 다음 환경 변수를 정의합니다.
필수 변수
GKE 클러스터 만들기
다음 예시에서는 v5e 2x4 노드 풀이 두 개인 클러스터를 만듭니다.
XPK 또는 gcloud 명령어를 사용하여 클러스터를 만들 수 있습니다.
XPK
몇 가지 환경 변수를 설정합니다.
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
다음을 바꿉니다.
CLUSTER_NODEPOOL_COUNT: 워크로드에서 사용할 수 있는 최대 노드 풀 수PROJECT_ID: Google Cloud 프로젝트 이름ZONE: 리소스를 만들 영역CLUSTER: GKE 클러스터 이름TPU_TYPE: TPU 유형입니다. 자세한 내용은 XPK에서 지원되는 유형을 참고하세요.PW_CPU_MACHINE_TYPE: Pathways 컨트롤러의 CPU 노드 유형NETWORK: [선택사항] XPK를 사용하는 경우 가상 프라이빗 클라우드 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.SUBNETWORK: [선택사항] XPK를 사용하는 경우 서브네트워크 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.
XPK를 사용하여 GKE Pathways 클러스터를 만듭니다. 이 명령어를 실행하면 용량을 프로비저닝하는 데 몇 분이 걸릴 수 있습니다. 완료되면 용량이 할당되고 요금이 청구됩니다.
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"
클러스터가 생성되면 필요에 따라 워크로드를 만들고 삭제할 수 있습니다. TPU 용량을 다시 프로비저닝할 필요가 없습니다.
gcloud
몇 가지 환경 변수를 설정합니다.
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
다음을 바꿉니다.
CLUSTER: GKE 클러스터 이름PROJECT_ID: Google Cloud 프로젝트 이름ZONE: 리소스를 만들 영역REGION: 리소스를 만들려는 리전CLUSTER_VERSION: [선택사항] GKE 클러스터 버전. 1.32.2-gke.1475000 이상을 사용합니다.PW_CPU_MACHINE_TYPE: Pathways 컨트롤러의 CPU 노드 유형NETWORK: [선택사항] XPK를 사용하는 경우 가상 프라이빗 클라우드 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.SUBNETWORK: [선택사항] XPK를 사용하는 경우 서브네트워크 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.CLUSTER_NODEPOOL_COUNT: 워크로드에서 사용할 수 있는 최대 노드 풀 수TPU_MACHINE_TYPE: 사용할 TPU 머신 유형WORKERS_PER_SLICE: 노드 풀당 노드 수GKE_ACCELERATOR_TYPE: Google Kubernetes Engine 가속기 유형입니다. TPU 버전 선택을 참고하세요.TOPOLOGY: TPU 토폴로지NUM_CPU_NODES: Pathways CPU 노드 풀 크기
다음 단계에서는 GKE 클러스터를 만들고 Pathways 워크로드를 실행하도록 설정하는 방법을 설명합니다.
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}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 doneCPU 노드 풀을 만듭니다.
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_METADATAJobSet및PathwaysJobAPI 설치클러스터의 사용자 인증 정보를 가져와 로컬 kubectl 컨텍스트에 추가합니다.
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultGKE 클러스터에서 Pathways 아키텍처를 사용하려면
JobSetAPI와PathwaysJobAPI를 설치해야 합니다.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
다음 단계
- 경로를 사용하여 일괄 워크로드 실행
- 학습 과정 대화형 모드
- Pathways를 사용한 멀티 호스트 추론
- 학습 과정으로 복원력 있는 학습
- JAX 워크로드를 Pathways로 포팅
- 학습 과정 문제 해결