Cluster Toolkit을 사용하여 Pathways 기반 워크로드용으로 사전 구성된 Google Kubernetes Engine (GKE) 클러스터를 만들 수 있습니다. gcloud를 사용하여 경로 기반 워크로드용 GKE 클러스터를 수동으로 만들 수도 있습니다.
시작하기 전에
다음 사항이 필요합니다.
로컬 환경 설정
사용자 인증 정보로 Google Cloud 로그인합니다.
gcloud auth application-default login
워크로드에 적합한 값으로 다음 환경 변수를 정의합니다.
GKE 클러스터 만들기
다음 예시에서는 TPU v6e 2x4 노드 풀이 있는 클러스터를 만듭니다.
Cluster Toolkit 또는 gcloud CLI를 사용하여 클러스터를 만들 수 있습니다.
Cluster Toolkit
- Cluster Toolkit 설정
GKE TPU v6e 클러스터 배포의 안내에 따라 GKE TPU 클러스터를 배포합니다(모든 TPU 배포 옵션의 개요는 Cloud TPU 배포 개요 참고).
배포 청사진을 구성할 때는 다음을 수행하세요.
enable_pathways_for_tpus이true로 설정되어 있는지 확인합니다 (Cluster Toolkit TPU 블루프린트에서 기본적으로 사용 설정됨). 이렇게 하면 Pathways 컨트롤러에 필요한cpu-npCPU 노드 풀(n4-standard-64)과 Kueue 구성이 자동으로 프로비저닝됩니다.num_slices를 워크로드에 필요한 TPU 슬라이스 노드 풀 수로 설정합니다.tpu_topology를 선택한 TPU 슬라이스 토폴로지 (예:2x4또는4x4)로 설정합니다.- 예약된 용량을 사용하는 경우
reservation을 TPU 예약 이름으로 설정합니다.
클러스터를 만든 후
--pathways플래그와 함께gcluster job submit명령어를 사용하여 Pathways 워크로드를 제출할 수 있습니다.
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="ct6e-standard-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 이상 사용NETWORK: [선택사항] Virtual Private Cloud 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.SUBNETWORK: [선택사항] 서브네트워크 이름을 설정합니다. 클러스터를 만들기 전에 서브네트워크를 만들어야 합니다.
다음 단계에서는 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_METADATAJobSetAPI 설치클러스터의 사용자 인증 정보를 가져와 로컬 kubectl 컨텍스트에 추가합니다.
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultGKE 클러스터에서 Pathways 아키텍처를 사용하려면
JobSetAPI를 설치해야 합니다.kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml
다음 단계
- 경로를 사용하여 배치 워크로드 실행
- 학습 여정 대화형 모드
- Pathways를 사용한 멀티 호스트 추론
- Pathways를 사용한 복원력 있는 학습
- JAX 워크로드를 Pathways로 포팅
- 클라우드에서 학습 과정 문제 해결