Cluster Toolkit を使用すると、Pathways ベースのワークロード用に事前構成された Google Kubernetes Engine(GKE)クラスタを作成できます。gcloud を使用して、Pathways ベースのワークロード用の 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 インタラクティブ モード
- Pathways を使用したマルチホスト推論
- Pathways を使用した復元力のあるトレーニング
- JAX ワークロードを Pathways に移植する
- Cloud 上の Pathways のトラブルシューティング