במאמר הזה מתוארות מכונות Compute Engine במשפחת המכונות שעברו אופטימיזציה להאצה, שכוללות יחידות לעיבוד טנסורים (TPU). יחידות TPU הן מעגלים משולבים לאפליקציות ספציפיות (ASIC) שפותחו על ידי Google ועברו אופטימיזציה במיוחד לעומסי עבודה של בינה מלאכותית (AI) ולמידת מכונה (ML).
Compute Engine תומך בגרסאות הבאות של TPU:
- TPU7x
- TPU v6e
- TPU v5p
לכל סוג מכונה בגרסה יש טופולוגיה ספציפית ומספר שבבי TPU שמחוברים אליה.
יסודות של ארכיטקטורת TPU
הבנה של יסודות הארכיטקטורה של TPU עוזרת לכם לבחור את גרסת ה-TPU ואת סוג המכונה לעומס העבודה שלכם.
שבב TPU: שבב TPU הוא מאיץ ייעודי ש-Google עיצבה ללמידת מכונה. כל שבב TPU מכיל ליבת Tensor אחת או יותר לטיפול בפעולות מטריצה מסיביות. כל TensorCore מורכב מיחידה אחת או יותר של כפל מטריצות (MXU), שמשתמשת בארכיטקטורת מערך סיסטולי כדי לבצע אלפי פעולות של כפל וצבירה בכל מחזור בלי גישה קבועה לזיכרון. השימוש העיקרי בשבב TPU הוא לעיבוד מטריצות במהירות גבוהה, אבל הוא כולל גם יחידות וקטוריות וסקלריות לחישובים כלליים ולפעולות של זרימת בקרה.
TPU Pod: TPU Pod הוא קבוצה רציפה של יחידות TPU שמקובצות יחד ברשת ייעודית. מספר שבבי ה-TPU באשכול TPU Pod תלוי בגרסת ה-TPU.
מכונת TPU: מכונת חישוב של Linux שפועלת במארח TPU ויש לה גישה ישירה לחומרת ה-TPU הבסיסית. היא מאפשרת גישה לספריות עם ביצועים גבוהים, לקישוריות SSH וליומני ניפוי באגים בזמן ריצה.
TPU slice: קבוצה לוגית של שבבי TPU שמחוברים זה לזה, שאפשר לגשת אליהם דרך מופע TPU אחד או יותר. לפרוסות יש אחת מהרמות הבאות:
- פרוסת נתונים של מארח יחיד: פרוסת נתונים שמורכבת ממכונת מארח אחת. באופן כללי, זה ממופה למופע אחד של TPU.
- פרוסת TPU עם כמה מארחים: פרוסה שמורכבת מכמה מכונות TPU שמחוברות ביניהן באמצעות חיבור מהיר בין שבבים (ICI).
TPU cube: טופולוגיה של 4x4x4 של שבבי TPU מחוברים. ההגדרה הזו רלוונטית רק לטופולוגיות תלת-ממדיות.
SparseCore: ליבות SparseCore הן מעבדי Dataflow שמאיצים מודלים באמצעות פעולות דלילות. תרחיש שימוש עיקרי הוא האצת מודלים של המלצות, שמסתמכים במידה רבה על הטמעות.
גרסאות TPU: הארכיטקטורה המדויקת של שבב TPU תלויה בגרסת ה-TPU שבה משתמשים. כל גרסת TPU תומכת גם בגדלים ובתצורות שונים של פרוסות.
מידע על אופן הפעולה של TPU זמין במאמר ארכיטקטורת TPU במאמרי העזרה של Cloud TPU.
גרסאות TPU מומלצות לפי סוגי עומסי עבודה
בחירת מודל ה-TPU הנכון תלויה במאפיינים החישוביים, בדרישות הזיכרון ובצרכי ההתאמה של עומס העבודה. בוחרים באחת מהכרטיסיות הבאות כדי לראות את ההמלצות.
אימון AI/ML
אימון מראש של מודלים גדולים: אימון של מודלים עצומים מההתחלה. עומסי העבודה האלה מוגבלים על ידי חישוב ותקשורת.
כוונון וזיקוק מודלים: התאמה של מודלים קיימים באמצעות שיטות יעילות לפרמטרים או אימון של וריאציות קטנות יותר של מודלים.
היקש של AI/ML
הצגת מודלים אונליין: פריסת מודלים לאינטראקציה בזמן אמת, שבה זמן האחזור הנמוך הוא קריטי. עומסי העבודה האלה מוגבלים על ידי רוחב הפס של הזיכרון במהלך יצירה רציפה של טוקנים.
הרצת מסקנות באצווה: עיבוד של מערכי נתונים גדולים אופליין, כאשר המטרה העיקרית היא תפוקה גבוהה. עומסי העבודה האלה מוגבלים על ידי המחשוב בשלב המילוי המקדים של ההנחיה.
מערכות המלצה
- עיבוד הטמעות גדולות: אימון והצגה של מודלים להמלצות שמשתמשים בטבלאות הטמעה גדולות. עומסי העבודה האלה מוגבלים על ידי הקיבולת והתקשורת.
- יכולת TPU נדרשת: חומרה ייעודית של SparseCore לעיבוד פעולות דלילות במקביל, קיבולת HBM גדולה ותמיכה בהעברה לזיכרון המארח.
- גרסאות TPU מומלצות:
למידת חיזוק
הפעלת לולאות של למידה חיזוקית: ניהול עומסי עבודה היברידיים שדורשים לולאות הדוקות של יצירת דוגמאות ועדכון משקלי המדיניות.
אפשרויות צריכה
כדי לבצע אופטימיזציה של השימוש במשאבים ובעלויות, תוך שמירה על איזון בין ביצועי עומס העבודה, Compute Engine תומך באפשרויות הבאות לשימוש ב-TPU:
On-demand: כדי לצרוך TPU בלי לתכנן מראש את הקיבולת. לפני שמבקשים משאבים, צריך לוודא שיש לכם מספיק מכסת משאבים על פי דרישה לסוג ולכמות הספציפיים של מופעי TPU. האפשרות 'על פי דרישה' היא האפשרות הכי גמישה לשימוש במשאבים, אבל אין ערובה לכך שיהיו מספיק משאבים על פי דרישה כדי למלא את הבקשה שלכם.
Spot: כדי להקצות VM במודל Spot, אפשר לקבל הנחות משמעותיות, אבל VM במודל Spot יכולות להיפסק בכל שלב, עם אזהרה של 30 שניות. מידע נוסף זמין במאמר מידע על מכונות וירטואליות מסוג Spot.
Flex-start: כדי להקצות את {flex_start_vms_name} למשך עד שבעה ימים, עם הקצאת החומרה באופן אוטומטי על ידי Compute Engine על בסיס הזמינות. מידע נוסף זמין במאמר מידע על {flex_start_vms_name}.
מקום שמור לעתיד: כדי לבקש מקום שמור לעתיד למשך שנה או יותר. מידע נוסף זמין במאמר בקשת מקום שמור לעתיד לשנה או יותר במסמכי התיעוד של Cloud TPU.
מקום שמור לעתיד במצב יומן: הקצאת משאבי TPU לתקופה של עד 90 יום, לפרק זמן ספציפי. מידע נוסף זמין במאמר בנושא בקשות למקום שמור לעתיד במצב יומן.
המודל 'על פי דרישה' הוא מודל הצריכה שמוגדר כברירת מחדל ל-TPU, אם לא מציינים אפשרות אחרת.
מידע על מודל ההקצאה הבסיסי שמאפשר את אפשרות הצריכה זמין במאמר מידע על מודלים להקצאת מכונות וירטואליות.
זמינות אפשרויות הצריכה לפי גרסאות TPU
בטבלה הבאה מפורטת הזמינות של כל אפשרות צריכה לפי גרסאות TPU.
| גרסת ה-TPU | על פי דרישה | Spot | Flex-start | מקומות שמורים על פי דרישה | הזמנות עתידיות | הזמנות לעתיד במצב יומן1 |
|---|---|---|---|---|---|---|
| 2 | 2 | 2 | ||||
1 אי אפשר ליצור בקשות למקום שמור לעתיד במצב יומן כשמשתמשים במצב 'כל הקיבולת'.
2 שימוש ב-Spot, Flex-start ובמקום שמור לעתיד במצב לוח שנה עבור TPU7x מוגבל לרשימת היתרים. כדי לבקש גישה, צריך לפנות לצוות ניהול החשבון או לצוות המכירות.
מצב 'כל הקיבולת'
כברירת מחדל, הזמנות של TPU כוללות שחזור אוטומטי של כשלים.Google Cloud מנהל את התהליך הזה על ידי החלפה אוטומטית של מכונות TPU פגומות במכונות תקינות מתוך הקיבולת השמורה, כדי להבטיח שהמשאבים יהיו זמינים להפעלה מחדש של חלקי ה-TPU.
לחלופין, ב-TPU v6e וב-TPU7x, אפשר לבקש קיבולת TPU במצב 'כל הקיבולת'. במצב הזה יש לכם גישה לקיבולת המלאה שהזמנתם ולטופולוגיה המלאה. במצב הזה, אפשר גם לטרגט בלוקים ספציפיים או בלוקים משנה כדי למקם את עומסי העבודה בצורה מדויקת, תוך התחשבות בטופולוגיה. עם זאת, האחריות על ניהול תקלות בחומרה ותחזוקה היא שלכם.
מידע נוסף על המצבים האלה זמין במאמר מצבי קיבולת של TPU במאמרי העזרה של Cloud TPU.
השוואה בין גרסאות TPU
השוואה בין המאפיינים של גרסאות שונות של TPU. אתם יכולים לבחור מאפיינים ספציפיים בשדה Choose properties to compare (בחירת מאפיינים להשוואה) כדי להשוות בין המאפיינים האלה בכל הגרסאות של TPU בטבלה הבאה.
| אופטימיזציה למאיץ | אופטימיזציה למאיץ | אופטימיזציה למאיץ |
| VM | VM | VM |
| Intel Emerald Rapids | AMD EPYC Genoa | Intel Sapphire Rapids |
| x86 | x86 | x86 |
| 224 | 44 עד 180 | 208 |
| שרשור | שרשור | שרשור |
| 960 GB | 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 שמצורפים למכונה וירטואלית אחת במשימת עבודה אחת של הגשת נתונים.
| סוג המכונה | מספר המעבדים הווירטואליים | זיכרון המופע (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 Pod מורכב מ-8,960 שבבי TPU שמחוברים ביניהם באמצעות קישורים מהירים שניתנים להגדרה מחדש. הגמישות ברשת של TPU v5p מאפשרת לכם לחבר את שבבי ה-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 בפרוסת 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 VM יחיד