תכנון מעבדי TPU ב-GKE

בדף הזה מוסבר איך לתכנן את השימוש ביחידות לעיבוד טנסורים (TPU) ב-Google Kubernetes Engine‏ (GKE) כדי להקטין את הסיכון לבעיות בהגדרת ה-TPU, לשגיאות שקשורות לזמינות או להפרעות שנובעות מחריגה מהמכסה.

לפני שמשתמשים ב-TPU ב-GKE, חשוב להכיר את ההגדרות והטרמינולוגיה של TPU ב-GKE.

תכנון ההגדרה של TPU

כדי לעבוד עם TPU באשכולות GKE, צריך לתכנן את ההגדרה שלהם. מומלץ לפעול לפי השלבים הבאים:

  1. בחירת מצב פעולה של GKE: הפעלת עומסי העבודה ב-TPU באשכול GKE Autopilot או Standard.

    שיטה מומלצת:

    מומלץ להשתמש באשכול Autopilot כדי ליהנות מחוויית Kubernetes מנוהלת לחלוטין.

  2. בחירת גרסת ה-TPU: לסוגים שונים של TPU יש יכולות שונות, כמו יחסי עלות-תועלת, תפוקת אימון וחביון של שרתים. סוגי ה-TPU משפיעים על קיבולות הזיכרון והמעבד הזמינות.

  3. אימות הזמינות של TPU: מכשירי TPU זמינים באזורים ספציפיים Google Cloud כדי להשתמש בסוג TPU בעומס העבודה של GKE, האשכול צריך להיות באזור נתמך עבור הסוג הזה.

  4. Choose the TPU Topology: The physical arrangement of the TPUs within a TPU slice. בוחרים טופולוגיה שמתאימה לדרישות המקביליות של המודל.

אפשר להשתמש בטבלאות ההפניה שבדף הזה כדי לזהות אם מאגרי הצמתים שלכם הם צמתים של חלקי TPU עם מארח יחיד או עם כמה מארחים.

בחירת מצב פעולה של GKE

אפשר להשתמש ב-TPU במצבי הפעולה הזמינים של GKE לאשכולות:

  • מצב רגיל: אתם מנהלים את התשתית הבסיסית, כולל הגדרת הצמתים האישיים.
  • מצב Autopilot (מומלץ): GKE מנהל את התשתית הבסיסית, כמו הגדרת הצמתים, התאמה אוטומטית לעומס, השדרוגים האוטומטיים, הגדרות האבטחה הבסיסיות והגדרת הרשת הבסיסית. ב-Autopilot, בוחרים סוג וטופולוגיה של TPU, ואז מציינים אותם במניפסט של Kubernetes. ‫GKE מנהל את הקצאת הצמתים עם TPU ואת התזמון של עומסי העבודה.

כדי לבחור את מצב הפעולה של GKE שהכי מתאים לעומסי העבודה שלכם, אפשר לעיין במאמר בחירת מצב פעולה של GKE.

בחירת אפשרות שימוש ב-TPU

כשמתכננים את הגדרות ה-TPU ב-GKE, צריך לבחור אפשרות צריכה שתתאים לצרכים של עומס העבודה. האפשרות שתבחרו לצריכת משאבים תשפיע על גרסאות ה-TPU שיהיו זמינות לכם ועל המכסה שתצטרכו להגדיר. ‫GKE מציע את האפשרויות הבאות לשימוש ב-TPU, כדי לעזור לכם לשפר את הקצאת המשאבים והעלויות תוך שמירה על ביצועי עומסי העבודה:

  • Flex-start: כדי להקצות מכונות וירטואליות מסוג Flex-start למשך עד שבעה ימים, כאשר GKE מקצה את החומרה באופן אוטומטי על בסיס הזמינות. מידע נוסף זמין במאמר מידע על הקצאת GPU,‏ TPU ו-H4D במצב הקצאה עם הפעלה גמישה.
  • מכונות וירטואליות (VM) זמניות מסוג Spot: כדי להקצות מכונות וירטואליות זמניות מסוג Spot, אפשר לקבל הנחות משמעותיות, אבל המכונות האלה יכולות להיפסק בכל שלב, עם אזהרה של 30 שניות מראש. מידע נוסף זמין במאמר בנושא מכונות וירטואליות מסוג Spot.
  • מקום שמור לעתיד ל-90 יום (במצב יומן): כדי להקצות משאבי TPU לתקופה של עד 90 יום, לתקופה מוגדרת. מידע נוסף זמין במאמר בנושא שליחת בקשה ל-TPU עם מקום שמור לעתיד במצב יומן.
  • הזמנות של TPU: כדי לבקש מקום שמור לעתיד למשך שנה או יותר.
  • על פי דרישה: כדי לצרוך TPU בלי לתכנן מראש את הקיבולת. לפני שמבקשים משאבים, צריך לוודא שיש מספיק מכסת שימוש לפי דרישה לסוג ולכמות הספציפיים של מכונות וירטואליות של TPU. האפשרות 'על פי דרישה' היא האפשרות הכי גמישה לשימוש במשאבים, אבל אין ערובה לכך שיהיו מספיק משאבים על פי דרישה כדי לספק את הבקשה שלכם.

אם לא מציינים אפשרות אחרת, מודל הצריכה שמוגדר כברירת מחדל ל-TPU ב-GKE הוא לפי דרישה. כדי לבחור את אפשרות הצריכה שעונה על הדרישות של עומס העבודה, אפשר לעיין במאמר מידע על אפשרויות צריכת מאיצים לעומסי עבודה של AI/ML ב-GKE.

בחירת גרסת ה-TPU

למכונות הווירטואליות בפרוסת TPU יש את המאפיינים הטכניים הבאים.

רגילה

גרסת TPU סוג המכונה cloud.google.com/gke-tpu-accelerator מספר יחידות ה-vCPU מספר הצ'יפים לכל מכונה וירטואלית מספר הצמתים של NUMA הסבירות להקדמת שידור
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t tpu7x 224 4 2 לא רלוונטי
TPU Trillium‏ (v6e) ct6e-standard-1t tpu-v6e-slice 44 1 2 גבוה יותר
TPU Trillium‏ (v6e) ct6e-standard-4t tpu-v6e-slice 180 4 1 בינוני
TPU Trillium‏ (v6e) ct6e-standard-8t tpu-v6e-slice 180 8 2 נמוך יותר
TPU v5p
ct5p-hightpu-4t tpu-v5p-slice 208 4 2 לא רלוונטי
TPU v5e
ct5lp-hightpu-1t tpu-v5-lite-podslice 24 1 1 גבוה יותר
TPU v5e
ct5lp-hightpu-4t tpu-v5-lite-podslice 112 4 1 בינוני
TPU v5e
ct5lp-hightpu-8t tpu-v5-lite-podslice 224 8 1 נמוכה
TPU v4
ct4p-hightpu-4t tpu-v4-podslice 240 4 2 לא רלוונטי
TPU v3 (מארח יחיד בלבד)
ct3-hightpu-4t tpu-v3-device 96 4 2 לא רלוונטי
TPU v3
ct3p-hightpu-4t tpu-v3-slice 48 4 1 לא רלוונטי

סוגי מכונות ct5lp- עם כמה מארחים מתאימים יותר להפעלת מודלים גדולים או לאימון. מכונות ct5lp- מרובות מארחים מחוברות זו לזו באמצעות קישורים מהירים.

טייס אוטומטי

גרסת TPU cloud.google.com/gke-tpu-accelerator מספר יחידות ה-vCPU מספר הצמתים של NUMA מספר מקסימלי של שבבי TPU בצומת של פלח TPU
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x 224 2 2048
TPU Trillium‏ (v6e) tpu-v6e-slice ‫44 עד 180 ‫1 עד 2 256
TPU v5p
tpu-v5p-slice 208 2 6,144
TPU v5e
tpu-v5-lite-podslice ‫24 עד 224 1 256
TPU v4
tpu-v4-podslice 240 2 4,096
TPU v3 (מארח יחיד בלבד)
tpu-v3-device 96 2 8
TPU v3
tpu-v3-slice 48 1 256

כדי להחליט באיזו הגדרת TPU להשתמש, כדאי לעיין במפרטים ובמחירים של TPU במסמכי התמחור של Cloud TPU.

מגבלות

כשבוחרים את ה-TPU לשימוש, חשוב לקחת בחשבון את המגבלות האלה:

  • ‫Ironwood (TPU7x) (תצוגה מקדימה) זמין בתצוגה מקדימה ויש לו את המגבלות הבאות:

    • אשכולות רגילים בגרסה 1.34.0-gke.2201000.
    • אשכולות במצב Autopilot בגרסה 1.34.1-gke.3084001.
    • יש תמיכה רק ב-Google Cloud Hyperdisk Balanced.
    • אין תמיכה בשימוש בריבוי-פרוסות (Multislice) בשיטת ההתחלה הגמישה (Flex-start).
    • אין תמיכה ברישות מרובה ב-Managed Lustre.
    • אין תמיכה בדיסק אתחול משני.
  • ‫TPU Trillium זמין בגרסאות הבאות:

    • אשכולות Standard בגרסה 1.31.1-gke.1846000 ואילך.
    • אשכולות במצב Autopilot בגרסה 1.31.2-gke.1115000 ואילך.
  • ‫TPU Trillium לא תומך בהגדרת SMT לערך 2 ב-ct6e-standard-8t.

  • אפשר להשתמש בשינוי גודל אוטומטי של TPU v5p באשכולות GKE עם מישורי בקרה שפועלים בגרסה 1.29.2-gke.1035000 או 1.28.7-gke.1020000 לפחות.

  • כדי להשתמש בהזמנת קיבולת, צריך להשתמש בהזמנה ספציפית.

  • אפשר להריץ עד 256 פודים במכונת TPU וירטואלית אחת.

  • הקצאת עלויות ב-GKE ומדידת השימוש לא כוללות נתונים על השימוש ב-TPU או על העלויות שלהם.

  • המידרוג האוטומטי של האשכול מבטל פעולות של הגדלת מספר הצמתים במאגר צמתים של TPU שנשארות במצב המתנה יותר מ-10 שעות. המידרוג האוטומטי של האשכול מנסה שוב לבצע פעולות כאלה של הגדלת הקיבולת כשהמשאבים זמינים. ההתנהגות הזו עלולה להקטין את הסיכוי לקבל TPU אם לא משתמשים בהזמנות.

  • אין תמיכה בצמתי Ubuntu.

  • ארכיטקטורת TPU Node הוצאה משימוש. ‫TPU v3 היא הגרסה היחידה של TPU שעדיין תומכת בארכיטקטורת TPU Node ב-GKE.

אימות הזמינות של TPU ב-GKE

מכשירי TPU זמינים באזורים ספציפיים. Google Cloud כדי להשתמש בסוג TPU באשכול GKE, האשכול צריך להיות באזור נתמך עבור הסוג הזה.

רגילה

גרסת TPU סוג המכונה מתחיל ב- גרסת GKE מינימלית זמינות תחום (zone)
‫TPU Ironwood‏ (TPU7x) tpu7x-standard-4t 1.34.0-gke.2201000 גרסת טרום-השקה ציבורית
  • us-central1-ai1a
  • us-central1-c
TPU Trillium (v6e)‎ ct6e- 1.31.2-gke.1115000 GA
  • asia-northeast1-b
  • europe-west4-a
  • southamerica-west1-a
  • us-central1-b
  • us-east1-d
  • us-east5-a
  • us-east5-b
  • us-south1-ai1b
TPU v5e ct5lp- 1.27.2-gke.2100 GA
  • europe-west4-b
  • us-central1-a
  • us-south1-a
  • us-west1-c
  • us-west4-a
TPU v5p ct5p- 1.28.3-gke.1024000 GA
  • europe-west4-b
  • us-central1-a
  • us-east5-a
TPU גרסה 4 ct4p- 1.26.1-gke.1500 GA
  • us-central2-b
TPU v3 ct3p- 1.31.1-gke.1146000 GA
  • europe-west4-a
  • us-central1-a
  • us-central1-b
TPU v3 ct3- 1.31.0-gke.1500 GA
  • europe-west4-a
  • us-central1-a
  • us-central1-b

טייס אוטומטי

גרסת TPU cloud.google.com/gke-tpu-accelerator גרסת GKE מינימלית זמינות תחום (zone)
‫TPU Ironwood‏ (TPU7x) tpu7x 1.34.1-gke.3084001 גרסת טרום-השקה ציבורית
  • us-central1-ai1a
  • us-central1-c
TPU Trillium (v6e)‎ tpu-v6e-slice 1.31.2-gke.1384000 GA
  • asia-northeast1-b
  • europe-west4-a
  • southamerica-west1-a
  • us-central1-b
  • us-east1-d
  • us-east5-a
  • us-east5-b
  • us-south1-ai1b
TPU v5e tpu-v5-lite-podslice 1.27.2-gke.2100 GA
  • europe-west4-b
  • us-central1-a
  • us-south1-a
  • us-west1-c
  • us-west4-a
TPU v5p tpu-v5p-slice 1.28.3-gke.1024000 GA
  • europe-west4-b
  • us-central1-a
  • us-east5-a
TPU גרסה 4 tpu-v4-podslice 1.26.1-gke.1500 GA
  • us-central2-b
TPU v3 tpu-v3-slice 1.31.1-gke.1146000 GA
  • europe-west4-a
  • us-central1-a
  • us-central1-b
TPU v3 tpu-v3-device 1.31.0-gke.1500 GA
  • europe-west4-a
  • us-central1-a
  • us-central1-b

בחירת טופולוגיה

אחרי שבוחרים גרסת TPU, בוחרים טופולוגיה נתמכת. טופולוגיה מגדירה את הסידור הפיזי של שבבי TPU בתוך פרוסת TPU. טופולוגיות גדולות יותר מספקות יותר שבבי TPU, מה שמאפשר עיבוד מקבילי רב יותר כדי לאמן מודלים גדולים מהר יותר או עם מערכי נתונים גדולים יותר.

‫GKE מנהל באופן אוטומטי את הקצאת המכונות הווירטואליות, אבל כדי להבין איך מספר השבבים בטופולוגיה קשור למכונות הווירטואליות הבסיסיות, חשוב להבין את ההבדל בין מאגרי צמתים עם מארח יחיד לבין מאגרי צמתים עם כמה מארחים:

  • Single-host: פרוסת TPU שבה כל הצ'יפים נמצאים במכונה וירטואלית אחת. הפעולה הזו כוללת מספר קטן יותר של צ'יפים, בדרך כלל ארבעה צ'יפים או פחות.
  • Multi-host: פרוסת TPU שבה הצ'יפים מפוזרים על פני כמה מכונות וירטואליות. זה נפוץ ברוב עומסי העבודה של TPU בקנה מידה גדול.

אם תבקשו טופולוגיה שבה המספר הכולל של שבבים חורג ממספר השבבים שזמינים במכונה וירטואלית אחת לגרסת ה-TPU הזו, GKE יקצה אותה באופן אוטומטי כסביבה מרובת מארחים. בתרחיש הזה, GKE מפעיל כמה צמתים כדי לחלק את השבבים.

לדוגמה, סוג המכונה ct6e-standard-4t והטופולוגיה 4x4:

  • לסוג המכונה ct6e-standard-4t יש 4 שבבים לכל מכונה וירטואלית.
  • הטופולוגיה 4x4 דורשת 16 שבבים בסך הכול (4 * 4).
  • מכיוון ש-16 (מספר השבבים בטופולוגיה) גדול מ-4 (מספר השבבים בכל מכונת VM), ההגדרה הזו יוצרת מאגר צמתים של פרוסת TPU מרובת מארחים. מערכת GKE תחלק את 16 השבבים בין 4 מכונות וירטואליות.

כדי לבחור את סוג מכונת ה-TPU והטופולוגיה לתרחיש השימוש שלכם, תוכלו להיעזר בטבלה הבאה:

רגילה

אחרי שבוחרים את סוג ה-TPU והטופולוגיה, מציינים אותם במניפסט של עומס העבודה. הוראות מפורטות מופיעות במאמר פריסת עומסי עבודה של TPU ב-GKE Standard.

גרסת TPU סוג המכונה סוג מאגר הצמתים מפרטים טכניים
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארח יחיד
  • טופולוגיה: 2x2x1
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המארחים: 1
  • מספר המכונות הווירטואליות: 1
  • מספר התאים בכוורת: 1/16
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארחים מרובים
  • טופולוגיה: 2x2x2
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המארחים: 2
  • מספר המכונות הווירטואליות: 2
  • מספר התאים בכוורת: 1/8
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארחים מרובים
  • טופולוגיה: 2x2x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המארחים: 4
  • מספר המכונות הווירטואליות: 4
  • מספר התאים בכוורת: 1 מתוך 4
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארחים מרובים
  • טופולוגיה: 2x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר המארחים: 8
  • מספר מכונות ה-VM: ‏ 8
  • מספר התאים בכוורת: 1/2
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארחים מרובים
  • טופולוגיה: 4x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר המארחים: 16
  • מספר המכונות הווירטואליות: 16
  • מספר התאים בכוורת: 1
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארחים מרובים
  • טופולוגיה: 4x4x8
  • מספר שבבי ה-TPU בטופולוגיה: 128
  • מספר המארחים: 32
  • מספר המכונות הווירטואליות: 32
  • מספר התאים בכוורת: 2
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארחים מרובים
  • טופולוגיה: 4x8x8
  • מספר שבבי ה-TPU בטופולוגיה: 256
  • מספר המארחים: 64
  • מספר המכונות הווירטואליות: 64
  • מספר התאים בכוורת: 4
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארחים מרובים
  • טופולוגיה: 8x8x8
  • מספר שבבי ה-TPU בטופולוגיה: 512
  • מספר המארחים: 128
  • מספר המכונות הווירטואליות: 128
  • מספר התאים בכוורת: 8
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארחים מרובים
  • טופולוגיה: 8x8x16
  • מספר שבבי ה-TPU בטופולוגיה: 1024
  • מספר המארחים: 256
  • מספר המכונות הווירטואליות: 256
  • מספר התאים בכוורת: 16
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x-standard-4t מארחים מרובים
  • טופולוגיה: {A}x{B}x{C} (כאשר A,‏ B ו-C הם כפולות של שתיים)
  • מספר שבבי ה-TPU בטופולוגיה: A*B*C
  • מספר המארחים: (A*B*C)/4
  • מספר המכונות הווירטואליות: (A*B*C/4)
  • מספר התאים בכוורת: (A*B*C/64)
TPU Trillium (v6e)‎ ct6e-standard-1t מארח יחיד
  • טופולוגיה: 1x1
  • מספר שבבי ה-TPU בטופולוגיה: 1
  • מספר המכונות הווירטואליות: 1
TPU Trillium (v6e)‎ ct6e-standard-8t מארח יחיד
  • טופולוגיה: 2x4
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 1
TPU Trillium (v6e)‎ ct6e-standard-4t מארח יחיד
  • טופולוגיה: 2x2
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 1
TPU Trillium (v6e)‎ ct6e-standard-4t מארחים מרובים
  • טופולוגיה: 2x4
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 2
TPU Trillium (v6e)‎ ct6e-standard-4t מארחים מרובים
  • טופולוגיה: 4x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 4
TPU Trillium (v6e)‎ ct6e-standard-4t מארחים מרובים
  • טופולוגיה: 4x8
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU Trillium (v6e)‎ ct6e-standard-4t מארחים מרובים
  • טופולוגיה: 8x8
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר המכונות הווירטואליות: 16
TPU Trillium (v6e)‎ ct6e-standard-4t מארחים מרובים
  • טופולוגיה: 8x16
  • מספר שבבי ה-TPU בטופולוגיה: 128
  • מספר המכונות הווירטואליות: 32
TPU Trillium (v6e)‎ ct6e-standard-4t מארחים מרובים
  • טופולוגיה: 16x16
  • מספר שבבי ה-TPU בטופולוגיה: 256
  • מספר המכונות הווירטואליות: 64
TPU v5p ct5p-hightpu-4t מארח יחיד
  • טופולוגיה: 2x2x1
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 1
TPU v5p ct5p-hightpu-4t מארחים מרובים
  • טופולוגיה: 2x2x2
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 2
TPU v5p ct5p-hightpu-4t מארחים מרובים
  • טופולוגיה: 2x2x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 4
TPU v5p ct5p-hightpu-4t מארחים מרובים
  • טופולוגיה: 2x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU v5p ct5p-hightpu-4t מארחים מרובים
  • טופולוגיה: {A}x{B}x{C} (כאשר A,‏ B ו-C הם כפולות של שתיים)
  • מספר שבבי ה-TPU בטופולוגיה: A*B*C
  • מספר המכונות הווירטואליות: (A*B*C/4)1
TPU v5e ct5lp-hightpu-1t מארח יחיד
  • טופולוגיה: 1x1
  • מספר שבבי ה-TPU בטופולוגיה: 1
  • מספר המכונות הווירטואליות: 1
TPU v5e ct5lp-hightpu-4t מארח יחיד
  • טופולוגיה: 2x2
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 1
TPU v5e ct5lp-hightpu-8t מארח יחיד
  • טופולוגיה: 2x4
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 1
TPU v5e ct5lp-hightpu-4t מארחים מרובים
  • טופולוגיה: 2x4
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 2
TPU v5e ct5lp-hightpu-4t מארחים מרובים
  • טופולוגיה: 4x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 4
TPU v5e ct5lp-hightpu-4t מארחים מרובים
  • טופולוגיה: 4x8
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU v5e ct5lp-hightpu-4t מארחים מרובים
  • טופולוגיה: 8x8
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר המכונות הווירטואליות: 16
TPU v5e ct5lp-hightpu-4t מארחים מרובים
  • טופולוגיה: 8x16
  • מספר שבבי ה-TPU בטופולוגיה: 128
  • מספר המכונות הווירטואליות: 32
TPU v5e ct5p-hightpu-4t מארחים מרובים
  • טופולוגיה: 2x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU v5e ct5p-hightpu-4t מארח יחיד
  • טופולוגיה: 2x2x1
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 1
TPU גרסה 4 ct4p-hightpu-4t מארחים מרובים
  • טופולוגיה: 2x2x2
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 2
TPU גרסה 4 ct4p-hightpu-4t מארחים מרובים
  • טופולוגיה: 2x2x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 4
TPU גרסה 4 ct4p-hightpu-4t מארחים מרובים
  • טופולוגיה: 2x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU גרסה 4 ct4p-hightpu-4t מארחים מרובים
  • טופולוגיה: {A}x{B}x{C} (כאשר A,‏ B ו-C הם כפולות של שתיים)
  • מספר שבבי ה-TPU לטופולוגיה: A*B*C
  • מספר המכונות הווירטואליות: (A*B*C/4)1
TPU v3 ct3-hightpu-4t מארח יחיד
  • טופולוגיה: 2x2
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 1
TPU v3 ct3p-hightpu-4t מארחים מרובים
  • טופולוגיה: 4x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 4
TPU v3 ct3p-hightpu-4t מארחים מרובים
  • טופולוגיה: 4x8
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU v3 ct3p-hightpu-4t מארחים מרובים
  • טופולוגיה: 8x8
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר המכונות הווירטואליות: 16
TPU v3 ct3p-hightpu-4t מארחים מרובים
  • טופולוגיה: 8x16
  • מספר שבבי ה-TPU בטופולוגיה: 128
  • מספר מכונות ה-VM: ‏ 32
TPU v3 ct3p-hightpu-4t מארחים מרובים
  • טופולוגיה: 16x16
  • מספר שבבי ה-TPU בטופולוגיה: 256
  • מספר המכונות הווירטואליות: 64
TPU v3 ct3p-hightpu-4t מארחים מרובים
  • טופולוגיה: 16x32
  • מספר שבבי ה-TPU בטופולוגיה: 512
  • מספר מכונות וירטואליות: 128
TPU v3 ct3p-hightpu-4t מארחים מרובים
  • טופולוגיה: 32x32
  • מספר שבבי ה-TPU בטופולוגיה: 1024
  • מספר המכונות הווירטואליות: 256
  1. החישוב מתבצע כך: מכפלת המוצר של הטופולוגיה חלקי ארבע.

טייס אוטומטי

אחרי שבוחרים את סוג ה-TPU והטופולוגיה, מציינים אותם במניפסט של עומס העבודה. הוראות מפורטות מופיעות במאמר בנושא פריסת עומסי עבודה של TPU ב-GKE Autopilot.

גרסת TPU סוג המכונה סוג מאגר הצמתים מפרטים טכניים
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x מארח יחיד
  • טופולוגיה: 2x2x1
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המארחים: 1
  • מספר המכונות הווירטואליות: 1
  • מספר התאים בכוורת: 1/16
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x מארחים מרובים
  • טופולוגיה: 2x2x2
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המארחים: 2
  • מספר המכונות הווירטואליות: 2
  • מספר הקוביות: 1/8
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x מארחים מרובים
  • טופולוגיה: 2x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר המארחים: 8
  • מספר מכונות ה-VM: ‏ 8
  • מספר התאים בכוורת: 1/2
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x מארחים מרובים
  • טופולוגיה: 4x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר המארחים: 16
  • מספר המכונות הווירטואליות: 16
  • מספר התאים בכוורת: 1
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x מארחים מרובים
  • טופולוגיה: 8x8x8
  • מספר שבבי ה-TPU בטופולוגיה: 512
  • מספר המארחים: 128
  • מספר המכונות הווירטואליות: 128
  • מספר התאים בכוורת: 8
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x מארחים מרובים
  • טופולוגיה: 8x8x16
  • מספר שבבי ה-TPU בטופולוגיה: 1024
  • מספר המארחים: 256
  • מספר המכונות הווירטואליות: 256
  • מספר התאים בכוורת: 16
‫Ironwood‏ (TPU7x) (תצוגה מקדימה) tpu7x מארחים מרובים
  • טופולוגיה: 8x16x16
  • מספר שבבי ה-TPU בטופולוגיה: 2,048
  • מספר המארחים: 512
  • מספר המכונות הווירטואליות: 512
  • מספר התאים בכוורת: 32
TPU Trillium (v6e)‎ tpu-v6e-slice מארח יחיד
  • טופולוגיה: 1x1
  • מספר שבבי ה-TPU בטופולוגיה: 1
  • מספר המכונות הווירטואליות: 1
TPU Trillium (v6e)‎ tpu-v6e-slice מארח יחיד
  • טופולוגיה: 2x2
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 4
TPU Trillium (v6e)‎ tpu-v6e-slice מארח יחיד
  • טופולוגיה: 2x4
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר מכונות ה-VM: ‏ 8
TPU Trillium (v6e)‎ tpu-v6e-slice מארחים מרובים
  • טופולוגיה: 4x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 4
TPU Trillium (v6e)‎ tpu-v6e-slice מארחים מרובים
  • טופולוגיה: 4x8
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU Trillium (v6e)‎ tpu-v6e-slice מארחים מרובים
  • טופולוגיה: 8x8
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר המכונות הווירטואליות: 16
TPU Trillium (v6e)‎ tpu-v6e-slice מארחים מרובים
  • טופולוגיה: 8x16
  • מספר שבבי ה-TPU בטופולוגיה: 128
  • מספר המכונות הווירטואליות: 32
TPU Trillium (v6e)‎ tpu-v6e-slice מארחים מרובים
  • טופולוגיה: 16x16
  • מספר שבבי ה-TPU בטופולוגיה: 256
  • מספר המכונות הווירטואליות: 64
TPU v5p tpu-v5p-slice מארח יחיד
  • טופולוגיה: 2x2x1
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 1
TPU v5p tpu-v5p-slice מארחים מרובים
  • טופולוגיה: 2x2x2
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 2
TPU v5p tpu-v5p-slice מארחים מרובים
  • טופולוגיה: 2x2x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 4
TPU v5p tpu-v5p-slice מארחים מרובים
  • טופולוגיה: 2x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU v5p tpu-v5p-slice מארחים מרובים
  • טופולוגיה: 4x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר המכונות הווירטואליות: 16
TPU v5p tpu-v5p-slice מארחים מרובים
  • טופולוגיה: {A}x{B}x{C}
  • מספר שבבי ה-TPU בטופולוגיה: {A}*{B}*{C}
  • מספר המכונות הווירטואליות: (A*B*C/4)1
TPU v5e tpu-v5-lite-podslice מארח יחיד
  • טופולוגיה: 1x1
  • מספר שבבי ה-TPU בטופולוגיה: 1
  • מספר המכונות הווירטואליות: 1
TPU v5e tpu-v5-lite-podslice מארח יחיד
  • טופולוגיה: 2x2
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 1
TPU v5e tpu-v5-lite-podslice מארח יחיד
  • טופולוגיה: 2x4
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 1
TPU v5e tpu-v5-lite-podslice מארחים מרובים
  • טופולוגיה: 2x4
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 2
TPU v5e tpu-v5-lite-podslice מארחים מרובים
  • טופולוגיה: 4x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 4
TPU v5e tpu-v5-lite-podslice מארחים מרובים
  • טופולוגיה: 4x8
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU v5e tpu-v5-lite-podslice מארחים מרובים
  • טופולוגיה: 8x8
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר המכונות הווירטואליות: 16
TPU v5e tpu-v5-lite-podslice מארחים מרובים
  • טופולוגיה: 8x16
  • מספר שבבי ה-TPU בטופולוגיה: 128
  • מספר המכונות הווירטואליות: 32
TPU v5e tpu-v5-lite-podslice מארחים מרובים
  • טופולוגיה: 16x16
  • מספר שבבי ה-TPU בטופולוגיה: 256
  • מספר המכונות הווירטואליות: 64
TPU גרסה 4 tpu-v4-podslice מארח יחיד
  • טופולוגיה: 2x2x1
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 1
TPU גרסה 4 tpu-v4-podslice מארחים מרובים
  • טופולוגיה: 2x2x2
  • מספר שבבי ה-TPU בטופולוגיה: 8
  • מספר המכונות הווירטואליות: 2
TPU גרסה 4 tpu-v4-podslice מארחים מרובים
  • טופולוגיה: 2x2x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 4
TPU גרסה 4 tpu-v4-podslice מארחים מרובים
  • טופולוגיה: 2x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר מכונות ה-VM: ‏ 8
TPU גרסה 4 tpu-v4-podslice מארחים מרובים
  • טופולוגיה: 4x4x4
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר המכונות הווירטואליות: 16
TPU גרסה 4 tpu-v4-podslice מארחים מרובים
  • טופולוגיה: {A}x{B}x{C}
  • מספר שבבי ה-TPU בטופולוגיה: {A}*{B}*{C}
  • מספר המכונות הווירטואליות: (A*B*C/4)1
TPU v3 tpu-v3-slice מארחים מרובים
  • טופולוגיה: 4x4
  • מספר שבבי ה-TPU בטופולוגיה: 16
  • מספר המכונות הווירטואליות: 2
TPU v3 tpu-v3-slice מארחים מרובים
  • טופולוגיה: 4x8
  • מספר שבבי ה-TPU בטופולוגיה: 32
  • מספר המכונות הווירטואליות: 4
TPU v3 tpu-v3-slice מארחים מרובים
  • טופולוגיה: 8x8
  • מספר שבבי ה-TPU בטופולוגיה: 64
  • מספר מכונות ה-VM: ‏ 8
TPU v3 tpu-v3-slice מארחים מרובים
  • טופולוגיה: 8x16
  • מספר שבבי ה-TPU בטופולוגיה: 128
  • מספר המכונות הווירטואליות: 16
TPU v3 tpu-v3-slice מארחים מרובים
  • טופולוגיה: 16x16
  • מספר שבבי ה-TPU בטופולוגיה: 256
  • מספר המכונות הווירטואליות: 32
TPU v3 tpu-v3-device מארח יחיד
  • טופולוגיה: 2x2
  • מספר שבבי ה-TPU בטופולוגיה: 4
  • מספר המכונות הווירטואליות: 1
  1. החישוב מתבצע כך: מכפלת המוצר של הטופולוגיה חלקי ארבע.

    יש תמיכה בטופולוגיות מותאמות אישית ליותר מ-64 שבבים. התנאים הבאים חלים:

    • אם יש יותר מ-64 צ'יפים, הערכים {A}, {B} ו-{C} צריכים להיות כפולות של 4
    • הטופולוגיה הגדולה ביותר היא 16x16x24
    • הערכים צריכים להיות {A}{B}{C}, למשל 8x12x16.
  2. אין תמיכה בטופולוגיות בהתאמה אישית.

הגדרות מתקדמות

בקטעים הבאים מתוארות שיטות מומלצות לתזמון של הגדרות מתקדמות של TPU.

אזורי AI

אזורי AI הם אזורים מיוחדים שמשמשים לאימון AI/ML ולעומסי עבודה של הסקת מסקנות. האזורים האלה מספקים קיבולת משמעותית של מאיצי ML. מידע נוסף זמין במאמר בנושא אזורי AI.

לפני שמשתמשים באזור AI ב-GKE, כדאי להביא בחשבון את המאפיינים הבאים:

  • אזורי ה-AI נפרדים פיזית מאזורים רגילים כדי לספק נפח אחסון נוסף וחשמל. ההפרדה הזו עשויה להוביל לזמן אחזור ארוך יותר, שבדרך כלל נסבל בעומסי עבודה של AI/ML.
  • לאזורי AI יש סיומת עם הסימון ai. לדוגמה, אזור AI באזור us-central1 נקרא us-central1-ai1a.
  • בשלב הזה יש תמיכה רק במכונות וירטואליות של TPU.
  • מישור הבקרה של האשכול פועל באזור רגיל אחד או יותר באותו אזור כמו אזור ה-AI.
  • אפשר להריץ מכונות וירטואליות בלי יחידות TPU מצורפות באזור AI רק אם מתקיימות הדרישות הבאות:

    • כבר מריצים עומסי עבודה אחרים שמשתמשים במכונות וירטואליות של TPU באותו אזור.
    • המכונות הווירטואליות שאינן TPU הן מכונות וירטואליות מסוג Spot, מכונות וירטואליות שמשוריינות או מכונות וירטואליות שמשויכות למאגר צמתים עם יחס ספציפי בין מאיץ לבין מכונה וירטואלית לשימוש כללי.
  • אזורי AI חולקים רכיבים, כמו חיבורי רשת ופריסות תוכנה, עם אזורים רגילים שיש להם את אותו סיומת באותו אזור. לסביבות עבודה עם זמינות גבוהה, מומלץ להשתמש באזורים שונים. לדוגמה, לא מומלץ להשתמש גם ב-us-central1-ai1a וגם ב-us-central1-a כדי להשיג זמינות גבוהה.

כברירת מחדל, GKE לא פורס את עומסי העבודה שלכם באזורי AI. כדי להשתמש באזור AI, צריך להגדיר אחת מהאפשרויות הבאות:

  • (מומלץ) ComputeClasses: מגדירים את העדיפות הכי גבוהה לבקשה של TPU לפי דרישה באזור AI. בעזרת ComputeClasses אפשר להגדיר רשימה מתועדפת של תצורות חומרה לעומסי העבודה. דוגמה מופיעה במאמר מידע על ComputeClasses.
  • Node auto-provisioning: use a nodeSelector or nodeAffinity in your Pod specification to instruct node auto-provisioning to create a node pool in the AI zone. אם עומס העבודה שלכם לא מכוון באופן מפורש לאזור AI, הקצאת משאבים אוטומטית של צמתים תתייחס רק לאזורים רגילים או לאזורים מ---autoprovisioning-locations כשיוצרים מאגרי צמתים חדשים. ההגדרה הזו מבטיחה שעומסי עבודה שלא מריצים מודלים של AI/ML יישארו באזורים רגילים, אלא אם תגדירו אחרת באופן מפורש. דוגמה למניפסט שמשתמש ב-nodeSelector מופיעה במאמר הגדרת אזורי ברירת המחדל לצמתים שנוצרו באופן אוטומטי.
  • GKE Standard: אם אתם מנהלים ישירות את מאגרי הצמתים, השתמשו באזור AI בדגל --node-locations כשאתם יוצרים מאגר צמתים. לדוגמה, אפשר לעיין במאמר פריסת עומסי עבודה של TPU ב-GKE Standard.

התאמה אוטומטית לעומס (autoscaling) של מעבדי TPU ב-GKE

‫GKE תומך ביחידות לעיבוד טנסורים (TPU) כדי להאיץ עומסי עבודה של למידת מכונה. גם מאגר צמתים של פרוסת TPU במארח יחיד וגם מאגר צמתים של פרוסת TPU במארחים מרובים תומכים בהתאמה אוטומטית לעומס (autoscaling) ובהקצאת משאבים אוטומטית.

אם מגדירים את הדגל --enable-autoprovisioning באשכול GKE,‏ GKE יוצר או מוחק מאגרי צמתים של חלקי TPU עם מארח יחיד או עם כמה מארחים, עם גרסת TPU וטופולוגיה שעומדות בדרישות של עומסי עבודה בהמתנה.

כשמשתמשים ב---enable-autoscaling, מערכת GKE משנה את גודל מאגר הצמתים על סמך הסוג שלו, באופן הבא:

  • מאגר צמתים של פרוסת TPU עם מארח יחיד: GKE מוסיף או מסיר צמתי TPU במאגר הצמתים הקיים. מאגר הצמתים יכול להכיל כל מספר של צמתי TPU בין אפס לבין הגודל המקסימלי של מאגר הצמתים, כפי שנקבע על ידי הדגלים --max-nodes ו---total-max-nodes. כשמאפשרים שינוי גודל של מאגר הצמתים, לכל צומתי ה-TPU במאגר הצמתים יש את אותו סוג מכונה ואותה טופולוגיה. במאמר יצירת מאגר צמתים מוסבר איך ליצור מאגר צמתים של פרוסות TPU במארח יחיד.

  • מאגר צמתים של פרוסת TPU עם מארחים מרובים: מערכת GKE מבצעת הגדלה אטומית של מאגר הצמתים מאפס למספר הצמתים שנדרש כדי לעמוד בדרישות הטופולוגיה של ה-TPU. לדוגמה, במאגר צמתי TPU עם סוג מכונה ct5lp-hightpu-4t וטופולוגיה 16x16, מאגר הצמתים מכיל 64 צמתים. המידרוג האוטומטי של GKE מוודא שבמאגר הצמתים הזה יש בדיוק 0 או 64 צמתים. כשמצמצמים את מספר הצמתים, GKE מוציא את כל הפודים המתוזמנים ומרוקן את כל מאגר הצמתים לאפס. כדי ללמוד עוד איך ליצור מאגר צמתים עם פרוסת TPU בכמה מארחים, ראו יצירת מאגר צמתים.

הקצאת נפח אחסון נוסף לפרוסת TPU

מכונה וירטואלית (VM) בפרוסת TPU כוללת דיסק אתחול של 100 GiB. אם נדרש נפח אחסון נוסף לפלח ה-TPU לצורך אימון או עיבוד מקדים, או אם צריך לשמור נקודות ביקורת, אפשר להשתמש באחסון Google Cloud Hyperdisk או דיסק אחסון מתמיד מאוזן אם הוא זמין ל-TPU. מידע נוסף על סוגי הדיסקים הנתמכים בכל גרסת TPU זמין במאמר תמיכת TPU ב-Hyperdisk וב-Persistent Disk.

מעבד (CPU) באשכולות רגילים

הקטע הזה לא רלוונטי לאשכולות Autopilot כי GKE ממקם כל פרוסת TPU בצומת משלה. איך יחידות TPU פועלות במצב אוטומטי

במקרים של אשכולות רגילים, כדאי להשתמש בשיטות המומלצות הבאות לתזמון.

כדי לתזמן עומס עבודה שאינו TPU במכונה וירטואלית בצומת של פרוסת TPU, צריך לוודא ש-Pod של GKE יכול לסבול את ה-taint‏ google.com/tpu. אם רוצים לפרוס את עומס העבודה לצמתים ספציפיים, משתמשים בבוררי צמתים.

בניהול משאבי Kubernetes ובקביעת העדיפות, המכונות הווירטואליות ב-TPU מטופלות כמו סוגים אחרים של מכונות וירטואליות. כדי לתת עדיפות בתזמון ל-Pods שדורשים TPU על פני Pods אחרים באותם צמתים, צריך לבקש את המקסימום של CPU או זיכרון עבור חלקי ה-TPU האלה. לפרוסות TPU עם עדיפות נמוכה צריך להיות:

  1. מגדירים בקשות נמוכות של מעבד וזיכרון כדי לוודא שלצומת יש מספיק משאבים להקצאה לעומסי העבודה של ה-TPU. מידע נוסף זמין במאמר איך Kubernetes מיישם בקשות ומגבלות של משאבים.
  2. כדי לוודא ש-Pods יכולים להשתמש בכל המחזורים הלא מנוצלים, צריך להגדיר את המגבלה של יחידת העיבוד המרכזית (CPU) ללא הגבלה.
  3. כדאי להגדיר מגבלות זיכרון מתאימות כדי לוודא שרכיבי ה-Pod יוכלו לפעול בצורה תקינה בלי להסתכן בפינוי בגלל עומס על הצומת.

אם פוד של Kubernetes לא מבקש מעבד וזיכרון (גם אם הוא מבקש TPU),‏ Kubernetes מחשיב אותו כפוד שפועל כמיטב היכולת, ואין ערובה לכך שהוא צריך מעבד וזיכרון. התחייבויות כאלה תקפות רק לגבי Pods שמבקשים באופן מפורש משאבי CPU וזיכרון. כדי לתזמן Kubernetes באופן ספציפי, צריך להגדיר את צורכי ה-Pod עם בקשת מעבד (CPU) וזיכרון מפורשת. מידע נוסף זמין במאמר בנושא ניהול משאבים עבור פודים וקונטיינרים.

מידע נוסף על שיטות מומלצות זמין במאמר שיטות מומלצות ל-Kubernetes: בקשות ומגבלות של משאבים.

הפחתת ההפרעות בעומס העבודה

אם אתם משתמשים ב-TPU כדי לאמן מודל של למידת מכונה ועומס העבודה שלכם מופסק, כל העבודה שבוצעה מאז נקודת הבדיקה האחרונה אובדת. כדי להקטין את הסיכוי להפרעה בעומס העבודה, כדאי:

  • הגדרת עדיפות גבוהה יותר למשימה הזו מאשר לכל שאר המשימות: אם המשאבים מוגבלים, מתזמן GKE מבצע קדימה למשימות בעדיפות נמוכה יותר כדי לתזמן משימה בעדיפות גבוהה יותר. כך גם מוודאים שעומס העבודה עם העדיפות הגבוהה יותר מקבל את כל המשאבים שהוא צריך (עד למספר המשאבים הכולל שזמינים באשכול). מידע נוסף זמין במאמר בנושא עדיפות של Pod ודחיקה.
  • הגדרת החרגה מתחזוקה: החרגה מתחזוקה היא חלון זמן חד-פעמי שבו אסור לבצע תחזוקה אוטומטית. מידע נוסף מופיע במאמר בנושא החרגות מתחזוקה.
  • שימוש ב-Pods עם זמן ריצה מורחב ב-Autopilot: אפשר להשתמש בPods עם זמן ריצה מורחב כדי לקבל תקופת חסד של עד שבעה ימים לפני ש-GKE יסיים את ה-Pods שלכם לצורך הקטנת הקיבולת או שדרוגי צמתים.
  • שימוש בתזמון של אוספים ב-TPU Trillium: שימוש באוספים כדי לציין שמאגר הצמתים של פרוסת TPU הוא חלק מעומס עבודה של שרתים. Google Cloud מגביל ומייעל את ההפרעות לפעולות של עומסי עבודה של הסקה. מידע נוסף זמין במאמר בנושא איך פועל תזמון הגבייה.

ההמלצות האלה עוזרות לצמצם את השיבושים, אבל לא למנוע אותם. לדוגמה, עדיין יכולה להתרחש הפסקה זמנית בגלל כשל בחומרה או הפסקה זמנית לצורך דפרגמנטציה. באופן דומה, הגדרת החרגה של תחזוקה ב-GKE לא מונעת אירועי תחזוקה ב-Compute Engine.

שיטה מומלצת:

מומלץ לשמור נקודות ביקורת לעיתים קרובות ולהוסיף קוד לסקריפט האימון כדי להתחיל מנקודת הביקורת האחרונה כשממשיכים את האימון.

התמודדות עם שיבושים עקב תחזוקת צמתים

הצמתים של GKE שמארחים את ה-TPU כפופים לאירועי תחזוקה או לשיבושים אחרים שעלולים לגרום לסגירת הצומת. באשכולות GKE עם מישור הבקרה בגרסה 1.29.1-gke.1425000 ואילך, אפשר לצמצם את השיבושים בעומסי העבודה על ידי הגדרת GKE להפסקת עומסי העבודה בצורה מסודרת.

כדי להבין, להגדיר ולעקוב אחרי אירועי שיבוש שעשויים להתרחש בצמתי GKE שמריצים עומסי עבודה של AI/ML, אפשר לעיין במאמר ניהול שיבושים בצמתי GKE עבור מעבדי GPU ו-TPU.

מקסום השימוש ב-TPU

כדי למקסם את ההשקעה שלכם ב-TPU, כדאי לתזמן שילוב של עדיפויות של משימות ולהוסיף אותן לתור כדי למקסם את משך הזמן שבו ה-TPU פועלים. כדי לתזמן משימות ברמת המשימה ולבצע הפסקה זמנית, צריך להשתמש בתוסף ל-Kubernetes שמארגן משימות בתורים.

שיטה מומלצת:

אפשר להשתמש ב-Kueue כדי לתזמן את העבודות בתורים.

המאמרים הבאים