Accelerated Processing Kit(XPK)を使用すると、Pathways ベースのワークロード用に事前構成された Google Kubernetes Engine(GKE)クラスタを作成できます。gcloud を使用して、Pathways ベースのワークロード用の GKE クラスタを手動で作成することもできます。
始める前に
インストールに必要なもの:
ローカル環境を設定する
Google Cloud 認証情報でログインします。
gcloud auth application-default login
ワークロードに適した値を使用して、次の環境変数を定義します。
必須変数
GKE クラスタを作成する
次の例では、2 つの 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 を使用する場合は Virtual Private Cloud 名を設定します。これは、クラスタを作成する前に作成する必要があります。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 を使用する場合は Virtual Private Cloud 名を設定します。これは、クラスタを作成する前に作成する必要があります。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_METADATAJobSetAPI と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 でバッチ ワークロードを実行する
- Pathways インタラクティブ モード
- Pathways を使用したマルチホスト推論
- Pathways を使用した復元力トレーニング
- JAX ワークロードを Pathways に移植する
- Troubleshoot Pathways