מכונות TPU במשפחת מכונות שעברה אופטימיזציה למאיץ

במאמר הזה מתוארות מכונות של Compute Engine ממשפחת המכונות שעברו אופטימיזציה לשימוש במאיצים, וכוללות יחידות לעיבוד טנסורים (TPU). יחידות TPU הן מעגלים משולבים לאפליקציות ספציפיות (ASIC) שפותחו על ידי Google ועברו אופטימיזציה במיוחד לעומסי עבודה של בינה מלאכותית (AI) ולמידת מכונה (ML).

‫Compute Engine תומך בגרסאות הבאות של TPU:

  • TPU7x
  • TPU v6e
  • TPU v5p

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

יסודות של ארכיטקטורת TPU

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

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

  • TPU Pod: TPU Pod הוא קבוצה רציפה של יחידות TPU שמקובצות יחד ברשת ייעודית. מספר שבבי ה-TPU באשכול TPU Pod תלוי בגירסת ה-TPU.

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

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

    • פרוסת נתונים של מארח יחיד: פרוסת נתונים שמורכבת ממכונת מארח אחת. באופן כללי, זה ממופה ל-TPU VM אחד.
    • פרוסת מולטי-הוסט: פרוסה שמורכבת מכמה מכונות וירטואליות של TPU שמחוברות ביניהן באמצעות חיבור מהיר בין שבבים (ICI).
  • TPU cube: טופולוגיה של 4x4x4 של שבבי TPU מחוברים. ההגדרה הזו רלוונטית רק לטופולוגיות תלת-ממדיות.

  • SparseCore: ליבות SparseCore הן מעבדי Dataflow שמאיצים מודלים באמצעות פעולות דלילות. תרחיש שימוש עיקרי הוא האצת מודלים של המלצות, שמסתמכים במידה רבה על הטמעות.

  • גרסאות TPU: הארכיטקטורה המדויקת של שבב TPU תלויה בגרסת ה-TPU שבה משתמשים. כל גרסת TPU תומכת גם בגדלים ובהגדרות שונים של חלוקת ה-TPU.

מידע על אופן הפעולה של TPUs זמין במאמר ארכיטקטורת TPU במסמכי התיעוד של Cloud TPU.

גרסאות TPU מומלצות לפי סוגי עומסי עבודה

גרסת TPU סוגים עיקריים של עומסי עבודה
TPU7x (Ironwood)
  • מודלים גדולים וצפופים ומודלים של Mixture-of-Experts ‏ (MoE)
  • אימון מקדים אינטנסיבי למודלים בסיסיים גדולים
  • דגימה והסקת מסקנות שדורשת פענוח רב
TPU v6e (Trillium)
  • אימון וכוונון עדין (Transformers, ‏ CNNs)
  • הסקת מסקנות בקנה מידה גדול (Gemma 2, ‏ Llama, ‏ מודלים של דיפוזיה)
  • מערכות המלצות והתאמה אישית (באמצעות SparseCore)
TPU v5p
  • הביצועים הכי גבוהים לאימון מודלים בסיסיים בקנה מידה גדול
  • אימון AI מולטי-מודאלי בקנה מידה עצום
  • עומסי עבודה עם הטמעה צפופה, כמו מערכות גדולות להמלצות

אפשרויות צריכה

כדי לבצע אופטימיזציה של השימוש במשאבים ובעלויות, תוך שמירה על איזון בין ביצועי עומס העבודה, Compute Engine תומך באפשרויות הבאות לשימוש ב-TPU:

  • On-demand: כדי לצרוך TPU בלי לתכנן מראש את הקיבולת. לפני שמבקשים משאבים, צריך לוודא שיש לכם מספיק מכסת משאבים לפי דרישה לסוג ולכמות הספציפיים של מכונות ה-TPU הווירטואליות. האפשרות 'על פי דרישה' היא האפשרות הכי גמישה לשימוש במשאבים, אבל אין ערובה לכך שיהיו מספיק משאבים על פי דרישה כדי למלא את הבקשה שלכם.

  • מכונות וירטואליות (VM) במודל Spot: כדי להקצות מכונות וירטואליות במודל Spot, אפשר לקבל הנחות משמעותיות, אבל המכונות הווירטואליות האלה יכולות להיפסק בכל שלב, עם אזהרה של 30 שניות. מידע נוסף זמין במאמר מידע על מכונות וירטואליות מסוג Spot.

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

  • מקום שמור לעתיד: כדי לבקש מקום שמור לעתיד למשך שנה או יותר. מידע נוסף זמין במאמר בקשת מקום שמור לעתיד לשנה או יותר במסמכי התיעוד של Cloud TPU.

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

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

מידע על מודל ההקצאה הבסיסי שמאפשר את אפשרות הצריכה

זמינות אפשרויות הצריכה לפי גרסאות TPU

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

גרסת TPU על פי דרישה Spot Flex-start הזמנות על פי דרישה הזמנות עתידיות הזמנות עתידיות במצב יומן
1 1 1

‫1 הזמנות של Spot,‏ Flex-start ו-Future במצב לוח שנה עבור TPU7x מוגבלות על ידי רשימת היתרים. כדי לבקש גישה, אפשר לפנות לצוות ניהול החשבון או לצוות המכירות.

השוואה בין גרסאות TPU

השוואה בין המאפיינים של גרסאות שונות של TPU. אתם יכולים לבחור מאפיינים ספציפיים בשדה בחירת מאפיינים להשוואה כדי להשוות בין המאפיינים האלה בכל הגרסאות של TPU בטבלה הבאה.

אופטימיזציה למאיץ אופטימיזציה למאיץ אופטימיזציה למאיץ
VM VM VM
Intel Emerald Rapids AMD EPYC Genoa Intel Sapphire Rapids
x86 x86 x86
224 ‫44 עד 180 208
שרשור שרשור שרשור
‫960GB ‫176 עד 1,440GB ‫448GB
NUMA NUMA NUMA
NVMe NVMe NVMe
gVNIC gVNIC gVNIC
400 Gbps ‫50 עד 400 Gbps 200 Gbps
4 8 4
הנחות הנחות הנחות
הנחות הנחות הנחות

מפרטים של ארכיטקטורת TPU

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

מפרט TPU7x TPU v6e TPU v5p
מספר הצ'יפים בכל יחידת עיבוד 9216 256 8960
שיא העיבוד לכל שבב (BF16) (TFLOPs) 2307 918 459
שיא העיבוד לכל שבב (FP8) (TFLOPs) 4614 918 459
קיבולת HBM לכל שבב (GiB) 192 32 95
רוחב הפס של HBM לכל שבב (GBps) 7380 1638 2765
מספר המעבדים הווירטואליים (מכונה וירטואלית עם 4 שבבים) 224 180 208
‫RAM ‏ (GiB) (מכונה וירטואלית עם 4 שבבים) 960 720 448
מספר ליבות Tensor בכל שבב 2 1 2
מספר ליבות SparseCore בכל שבב 4 2 4
רוחב פס דו-כיווני של חיבור בין-שבבי (ICI) לכל שבב (GBps) 1200 800 1200
רוחב הפס של רשת מרכז הנתונים (DCN) לכל שבב (Gbps) 100 100 50

סוגי מכונות TPU

בקטעים הבאים מתוארים סוגי המכונות שזמינים לכל גרסה של TPU.

TPU7x (Ironwood)

כל מכונה וירטואלית (VM) מסוג TPU7x מכילה 4 שבבי TPU. כל הפרוסות של TPU7x משתמשות במכונות וירטואליות של מארח מלא עם 4 שבבים.

כל שבב TPU7x מכיל שני TensorCore וארבעה SparseCore.

מודל התכנות של Ironwood מאפשר גישה לשני מכשירי TPU במקום לארכיטקטורת ליבה לוגית יחידה ששימשה בדורות הקודמים. מידע נוסף זמין במאמר ארכיטקטורת Dual-chiplet במאמרי העזרה של Cloud TPU.

סוג המכונה מספר המעבדים הווירטואליים זיכרון המופע (GiB) מספר כרטיסי ה-NIC הפיזיים רוחב פס מקסימלי של הרשת (ב-Gbps) מספר שבבי ה-TPU לכל מכונה וירטואלית מספר צמתי NUMA סך הזיכרון של ה-TPU ‏ (GiB HBM)
tpu7x-standard-4t 224 960 2 400 4 2 768

מידע נוסף על ארכיטקטורת TPU7x זמין במאמר TPU7x (Ironwood) במאמרי העזרה של Cloud TPU.

TPU v6e (Trillium)

כל מכונת TPU v6e וירטואלית יכולה להכיל 1, 4 או 8 שבבי TPU. לפרוסות עם 4 שבבים או פחות יש אותו צומת של גישה לזיכרון לא אחיד (NUMA).

פרוסות v6e נוצרות באמצעות מכונות וירטואליות של חצי מארח, כל אחת עם 4 שבבי TPU, למעט המקרים הבאים:

  • ct6e-standard-1t עם שבב TPU יחיד מיועד בעיקר לבדיקות.
  • ct6e-standard-8t היא מכונת VM של מארח מלא שעברה אופטימיזציה לתרחיש שימוש של הסקת מסקנות, ומאפשרת שימוש בכל 8 שבבי ה-TPU שמצורפים למכונת VM יחידה במטלת עבודה אחת של הגשת נתונים.
סוג המכונה מספר המעבדים הווירטואליים זיכרון המכונה (GB) מספר כרטיסי ה-NIC הפיזיים רוחב פס מקסימלי של הרשת (ב-Gbps) מספר שבבי ה-TPU לכל מכונה וירטואלית מספר צמתי NUMA סך הזיכרון של ה-TPU ‏ (GiB HBM)
ct6e-standard-1t 44 176 1/4 50 1 1 32
ct6e-standard-4t 180 720 2 400 4 1 128
ct6e-standard-8t 360 1440 1 200 8 2 256

מידע נוסף על ארכיטקטורת TPU v6e זמין במאמר TPU v6e במאמרי העזרה של Cloud TPU.

TPU v5p

פוד TPU v5p מורכב מ-8,960 שבבי TPU שמחוברים ביניהם באמצעות קישורים מהירים שניתנים להגדרה מחדש. הגמישות ברשת של TPUv5p מאפשרת לכם לחבר את שבבי ה-TPU בפרוסת TPU באותו גודל בכמה דרכים. יש תמיכה באימון של פרוסת TPU אחת עם עד 6,144 שבבי TPU.

סוג המכונה מספר המעבדים הווירטואליים זיכרון המכונה (GB) מספר כרטיסי ה-NIC הפיזיים רוחב פס מקסימלי של הרשת (ב-Gbps) מספר שבבי ה-TPU לכל מכונה וירטואלית מספר צמתי NUMA סך הזיכרון של ה-TPU ‏ (GiB HBM)
ct5p-hightpu-4t 208 448 1 200 4 2 380

מידע נוסף על ארכיטקטורת TPU v5p זמין במאמר TPU v5p במאמרי העזרה של Cloud TPU.

טופולוגיית TPU

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

  • סוג המכונה tpu7x-standard-4t עם טופולוגיה 2x2x2 הוא פלח TPU7x עם 8 שבבים ומספר מארחים.

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

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

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