Mit dem Accelerated Processing Kit (XPK) können Sie vorkonfigurierte Google Kubernetes Engine-Cluster (GKE) für auf Pathways basierende Arbeitslasten erstellen. Sie können auch gcloud verwenden, um GKE-Cluster für auf Pathways basierende Arbeitslasten manuell zu erstellen.
Hinweise
Sie benötigen Folgendes:
- Installierte Kubernetes-Tools
- Installierte XPKs
- TPU API aktiviert
- Google Kubernetes Engine API aktiviert
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 Ihren 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
Einige Umgebungsvariablen festlegen
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 ein 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-Controller.NETWORK: [Optional] Legen Sie einen VPC-Namen (Virtual Private Cloud) 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. Dieses muss vor dem Erstellen des Clusters erstellt werden.
Mit XPK einen GKE Pathways-Cluster erstellen Die Bereitstellung der Kapazität kann mehrere Minuten dauern. Sobald die Zuweisung abgeschlossen ist, 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 Arbeitslasten nach Bedarf erstellen und löschen. Sie müssen die TPU-Kapazität nicht noch einmal bereitstellen.
gcloud
Einige Umgebungsvariablen festlegen
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-Controller.NETWORK: [Optional] Legen Sie einen VPC-Namen (Virtual Private Cloud) 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. Dieses muss vor dem Erstellen des Clusters erstellt werden.CLUSTER_NODEPOOL_COUNT: die maximale Anzahl von Knotenpools, die ein Arbeitslast verwenden kannTPU_MACHINE_TYPE: Der TPU-Maschinentyp, den Sie verwenden möchten.WORKERS_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 beschrieben, wie Sie einen GKE-Cluster erstellen und für die Ausführung von Pathways-Arbeitslasten einrichten.
Erstellen Sie einen GKE-Cluster.
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_METADATAJobSet- undPathwaysJob-APIs installierenRufen 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
JobSetAPI und diePathwaysJobAPI installieren.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
- Batch-Arbeitslast mit Pathways ausführen
- Interaktiver Modus für Lernpfade
- Inferenz auf mehreren Hosts mit Pathways
- Belastbares Training mit Pathways
- JAX-Arbeitslasten zu Pathways migrieren
- Fehlerbehebung bei Pathways