Mit dem Accelerated Processing Kit (XPK)
können Sie vorkonfigurierte Google Kubernetes Engine-Cluster (GKE) für
Pathways-basierte Arbeitslasten erstellen. Sie können auch gcloud verwenden, um GKE-Cluster für Pathways-basierte Arbeitslasten manuell zu erstellen.
Hinweis
Sie benötigen Folgendes:
Lokale Umgebung einrichten
Melden Sie sich mit Ihren Google Cloud Anmeldedaten an.
gcloud auth application-default login
Definieren Sie die folgenden Umgebungsvariablen mit Werten, die für Ihre Arbeitslast geeignet sind.
Erforderliche Variablen
GKE-Cluster erstellen
Im folgenden Beispiel erstellen Sie einen Cluster mit zwei v5e 2x4-Knotenpools.
Sie können einen Cluster mit XPK oder dem Befehl gcloud erstellen.
XPK
Legen Sie einige Umgebungsvariablen fest.
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
Ersetzen Sie Folgendes:
CLUSTER_NODEPOOL_COUNT: die maximale Anzahl von Knotenpools, die eine Arbeitslast verwenden kannPROJECT_ID: Ihr Google Cloud ProjektnameZONE: die Zone, in der Sie Ressourcen erstellenCLUSTER: der Name des GKE-ClusterTPU_TYPE: der TPU-Typ Weitere Informationen finden Sie unter Unterstützte Typen in XPK.PW_CPU_MACHINE_TYPE: der CPU-Knotentyp für den Pathways-ControllerNETWORK: [Optional] Legen Sie einen Virtual Private Cloud-Namen fest, wenn Sie XPK verwenden. Dieser muss vor dem Erstellen des Clusters erstellt werden.SUBNETWORK: [Optional] Legen Sie einen Subnetzwerknamen fest, wenn Sie XPK verwenden. Dieser muss vor dem Erstellen des Clusters erstellt werden.
Erstellen Sie mit XPK einen GKE-Pathways-Cluster. Die Bereitstellung der Kapazität mit diesem Befehl kann einige Minuten dauern. Nach Abschluss wird Ihre Kapazität zugewiesen und es fallen Kosten an.
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"
Nachdem der Cluster erstellt wurde, können Sie nach Bedarf Arbeitslasten erstellen und löschen. Sie müssen die TPU-Kapazität nicht neu bereitstellen.
gcloud
Legen Sie einige Umgebungsvariablen fest.
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
Ersetzen Sie Folgendes:
CLUSTER: der Name des GKE-ClusterPROJECT_ID: Ihr Google Cloud ProjektnameZONE: die Zone, in der Sie Ressourcen erstellenREGION: die Region, in der Sie Ressourcen erstellenCLUSTER_VERSION: [Optional] die GKE-Clusterversion. Verwenden Sie 1.32.2-gke.1475000 oder höher.PW_CPU_MACHINE_TYPE: der CPU-Knotentyp für den Pathways-ControllerNETWORK: [Optional] Legen Sie einen Virtual Private Cloud-Namen fest, wenn Sie XPK verwenden. Dieser muss vor dem Erstellen des Clusters erstellt werden.SUBNETWORK: [Optional] Legen Sie einen Subnetzwerknamen fest, wenn Sie XPK verwenden. Dieser muss vor dem Erstellen des Clusters erstellt werden.CLUSTER_NODEPOOL_COUNT: die maximale Anzahl von Knotenpools, die eine Arbeitslast verwenden kannTPU_MACHINE_TYPE: der TPU-Maschinentyp, den Sie verwenden möchtenWORKERS_PER_SLICE: die Anzahl der Knoten pro KnotenpoolGKE_ACCELERATOR_TYPE: der Google Kubernetes Engine-Beschleunigertyp. Weitere Informationen finden Sie unter TPU-Version auswählen.TOPOLOGY: die TPU-TopologieNUM_CPU_NODES: die Größe des CPU-Knotenpools für Pathways
In den folgenden Schritten wird erläutert, wie Sie einen GKE-Cluster erstellen und für die Ausführung von Pathways-Arbeitslasten einrichten.
GKE-Cluster erstellen:
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-Knotenpools erstellen:
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-Knotenpool erstellen:
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_METADATAInstallieren Sie die APIs
JobSetundPathwaysJob.Rufen Sie die Anmeldedaten für den Cluster ab und fügen Sie sie Ihrem lokalen kubectl-Kontext hinzu.
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultWenn Sie die Pathways-Architektur in Ihrem GKE-Cluster verwenden möchten, müssen Sie die API
JobSetund die APIPathwaysJobinstallieren.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
Nächste Schritte
- Batcharbeitslast mit Pathways ausführen
- Interaktiver Modus von Pathways
- Inferenz auf mehreren Hosts mit Pathways
- Ausfallsicheres Training mit Pathways
- JAX-Arbeitslasten zu Pathways portieren
- Fehlerbehebung bei Pathways