במאמר הזה מתוארות מכונות של 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) |
|
| TPU v6e (Trillium) |
|
| TPU v5p |
|
אפשרויות צריכה
כדי לבצע אופטימיזציה של השימוש במשאבים ובעלויות, תוך שמירה על איזון בין ביצועי עומס העבודה, 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 |
מארח יחיד |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
כמה מארחים |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
כמה מארחים |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
כמה מארחים |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
כמה מארחים |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
כמה מארחים |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
כמה מארחים |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
כמה מארחים |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
כמה מארחים |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
כמה מארחים |
|
| TPU v6e (Trillium) | ct6e-standard-1t |
מארח יחיד |
|
| TPU v6e (Trillium) | ct6e-standard-8t |
מארח יחיד |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
מארח יחיד |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
כמה מארחים |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
כמה מארחים |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
כמה מארחים |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
כמה מארחים |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
כמה מארחים |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
כמה מארחים |
|
| TPU v5p | ct5p-hightpu-4t |
מארח יחיד |
|
| TPU v5p | ct5p-hightpu-4t |
כמה מארחים |
|
| TPU v5p | ct5p-hightpu-4t |
כמה מארחים |
|
| TPU v5p | ct5p-hightpu-4t |
כמה מארחים |
|
| TPU v5p | ct5p-hightpu-4t |
כמה מארחים |
|
-
הוא מחושב על ידי חלוקת מוצר הטופולוגיה בארבע. ↩
המאמרים הבאים
- מידע על משאבי TPU ב-Compute Engine
- כדאי לנסות את המדריך למתחילים: יצירת מכונת TPU וירטואלית אחת