אתם יכולים להשתמש ב-Cluster Toolkit כדי ליצור אשכולות Google Kubernetes Engine (GKE) שהוגדרו מראש לעומסי עבודה מבוססי-Pathways. אפשר גם להשתמש ב-gcloud כדי ליצור ידנית אשכולות GKE לעומסי עבודה שמבוססים על Pathways.
לפני שמתחילים
ודאו שיש לכם:
הגדרת הסביבה המקומית
נכנסים באמצעות Google Cloud פרטי הכניסה.
gcloud auth application-default login
מגדירים את משתני הסביבה הבאים עם ערכים שמתאימים לעומס העבודה.
יצירת אשכול GKE
בדוגמה הבאה, יוצרים אשכול עם מאגרי צמתים של TPU v6e 2x4.
אפשר ליצור אשכול באמצעות Cluster Toolkit או ה-CLI של gcloud.
Cluster Toolkit
- הגדרת Cluster Toolkit
כדי לפרוס אשכול GKE TPU, פועלים לפי ההוראות במאמר פריסת אשכול GKE TPU v6e (סקירה כללית של כל אפשרויות הפריסה של TPU זמינה במאמר סקירה כללית של פריסות Cloud TPU).
כשמגדירים את תוכנית הפריסה, מבצעים את הפעולות הבאות:
- מוודאים שההגדרה
enable_pathways_for_tpusמוגדרת ל-true(מופעלת כברירת מחדל בתוכניות של Cluster Toolkit TPU). התהליך הזה מקצה באופן אוטומטי את מאגר צמתי ה-CPU הנדרש שלcpu-np(n4-standard-64) ואת ההגדרות של Kueue בשביל בקר Pathways. - מגדירים את
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: [אופציונלי] הגדרת שם של ענן וירטואלי פרטי (VPC). צריך ליצור אותו לפני שיוצרים את האשכול. -
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 doneיוצרים מאגר צמתים של CPU:
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_METADATAהתקנת ה-API של
JobSetמקבלים את פרטי הכניסה לאשכול ומוסיפים אותם להקשר המקומי של kubectl.
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultכדי להשתמש בארכיטקטורת Pathways באשכול GKE, צריך להתקין את
JobSetAPI.kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml
המאמרים הבאים
- הפעלת עומס עבודה באצווה באמצעות Pathways
- מצב אינטראקטיבי של תוכניות לימודים
- הסקת מסקנות מרובת מארחים באמצעות Pathways
- אימון חסין עם תוכניות לימודים
- העברת עומסי עבודה של JAX אל Pathways
- פתרון בעיות בתוכניות הלימודים ב-Cloud