במאמר הזה מתוארות מכונות של 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 שמקובצות יחד ברשת ייעודית. מספר שבבי ה-TPU ב-TPU Pod תלוי בגרסת ה-TPU.
מכונת TPU: מכונה של Linux שפועלת במארח TPU ויש לה גישה ישירה לחומרת ה-TPU הבסיסית. היא מאפשרת גישה לספריות עם ביצועים גבוהים, קישוריות SSH ויומני ניפוי באגים של זמן הריצה.
פרוסת TPU: קבוצה לוגית של שבבי TPU מקושרים, שאפשר לגשת אליהם דרך מכונה אחת או יותר של TPU. לפרוסות יכול להיות אחד מההיקפים הבאים:
- פרוסה של מארח יחיד: פרוסה שמורכבת ממכונה מארחת אחת. באופן כללי, זה ממפה למכונה אחת של TPU.
- פרוסה עם כמה מארחים: פרוסה שמורכבת מכמה מכונות TPU שמחוברות ביניהן באמצעות חיבור מהיר בין שבבים (ICI).
TPU cube: טופולוגיה של 4x4x4 שבבי TPU שמחוברים ביניהם. האפשרות הזו רלוונטית רק לטופולוגיות תלת-ממדיות.
SparseCore: מעבדי Dataflow שמאיצים מודלים באמצעות פעולות דלילות. תרחיש לדוגמה עיקרי הוא האצת מודלים של המלצות, שמסתמכים במידה רבה על הטמעות.
גרסאות TPU: הארכיטקטורה המדויקת של שבב TPU תלויה בגרסת ה-TPU שבה אתם משתמשים. כל גרסת TPU תומכת גם בגדלים ובהגדרות אישיות שונות של פרוסות.
במסמך ארכיטקטורת TPU שבמאמרי העזרה של Cloud TPU מוסבר איך יחידות TPU פועלות.
גרסאות TPU מומלצות לפי סוגי עומסי עבודה
כדי לבחור את מודל ה-TPU המתאים, צריך להביא בחשבון את מאפייני החישוב, דרישות הזיכרון וצורכי הסקיילאביליות של עומס העבודה. כדי לראות את ההמלצות, בוחרים באחת מהכרטיסיות הבאות:
אימון AI/ML
אימון מראש של מודלים גדולים: אימון מודלים גדולים מההתחלה. עומסי העבודה האלה מוגבלים על ידי המחשוב והתקשורת.
כוונון וזיקוק מודלים: התאמת מודלים קיימים באמצעות שיטות יעילות לפרמטרים או אימון גרסאות קטנות יותר של מודלים.
הסקת מסקנות באמצעות AI/ML
הצגת מודלים אונליין: פריסת מודלים לאינטראקציה בזמן אמת, במקרים שבהם זמן אחזור קצר הוא קריטי. עומסי העבודה האלה מוגבלים לרוחב הפס של הזיכרון במהלך היצירה הרציפה של טוקנים.
הרצת הסקה באצווה: עיבוד מערכי נתונים גדולים אופליין, כשהמטרה העיקרית היא תפוקה גבוהה. עומסי העבודה האלה מוגבלים על ידי המחשוב בשלב המילוי מראש של ההנחיה.
מערכות המלצות
- עיבוד הטמעות גדולות: אימון והצגה של מודלים להמלצות שמשתמשים בטבלאות הטמעה גדולות. עומסי העבודה האלה מוגבלים מבחינת הקיבולת והתקשורת.
- יכולת TPU נדרשת: חומרת SparseCore ייעודית לעיבוד פעולות דלילות במקביל, קיבולת HBM גדולה ותמיכה בהעברה לזיכרון המארח.
- גרסאות TPU מומלצות:
למידה עם חיזוקים
הפעלת לולאות של למידת חיזוק: ניהול עומסי עבודה היברידיים שדורשים לולאות הדוקות של יצירת דוגמיות ועדכון משקלי המדיניות.
אפשרויות צריכה
כדי לבצע אופטימיזציה של ניצול המשאבים והעלות תוך איזון של ביצועי עומס העבודה, Compute Engine תומך באפשרויות הבאות לצריכת TPU:
על פי דרישה: כדי לצרוך יחידות TPU בלי להסדיר את הקיבולת מראש. לפני שאתם מבקשים משאבים, אתם צריכים לוודא שיש לכם מספיק מכסה על פי דרישה לסוג ולכמות הספציפיים של מכונות ה-TPU. האפשרות הזו היא הכי גמישה, אבל אין הבטחה שיהיו מספיק משאבים זמינים כדי למלא את הבקשה שלכם.
Spot: כדי להקצות מכונות וירטואליות במודל Spot, אתם יכולים לקבל הנחות משמעותיות, אבל אפשר להפסיק את הפעולה של מכונות וירטואליות במודל Spot בכל שלב, עם אזהרה של 30 שניות. מידע נוסף זמין במאמר מידע על VM במודל Spot.
Flex-start: כדי להקצות מכונות וירטואליות מסוג Flex-start למשך עד שבעה ימים, כש-Compute Engine מקצה את החומרה באופן אוטומטי על בסיס מאמץ מרבי בהתאם לזמינות. מידע נוסף זמין במאמר מידע על Flex-start VMs.
מקום שמור לעתיד של גושי קיבולת: כדי לבקש מקום שמור לעתיד למשך שנה או יותר. מידע נוסף זמין במאמר בקשה למקום שמור לעתיד לשנה או יותר במסמכי התיעוד של Cloud TPU.
מקום שמור לעתיד במצב תזמון: כדי להקצות משאבי TPU לתקופה של עד 90 יום, לפרק זמן מסוים. מידע נוסף זמין במאמר מידע על בקשות למקום שמור לעתיד במצב תזמון.
אם לא מציינים אפשרות אחרת, מודל הצריכה של יחידות TPU הוא על פי דרישה כברירת מחדל.
במאמר מידע על מודלים להקצאת VM מוסבר על המודל הבסיסי להקצאת משאבים שמאפשר את אפשרות הצריכה.
זמינות אפשרויות הצריכה לפי גרסאות TPU
בטבלה הבאה מפורטת הזמינות של כל אפשרות צריכה לפי גרסאות TPU.
| גרסת ה-TPU | על פי דרישה | Spot | התחלה גמישה (Flex-start) | מקומות שמורים לפי הצורך | מקומות שמורים לעתיד | מקומות שמורים לעתיד במצב תזמון1 | מקומות שמורים לעתיד בגושי קיבולת |
|---|---|---|---|---|---|---|---|
| 2 | 2 | 2 | 2 | ||||
1 אי אפשר ליצור בקשות למקומות שמורים לעתיד במצב תזמון כשמשתמשים במצב "כל הקיבולת".
2 מכונות Spot, התחלה גמישה, מקומות שמורים לעתיד במצב תזמון ומקומות שמורים לעתיד של בלוקים של קיבולת ל-TPU7x מוגבלים על ידי רשימת היתרים. כדי לבקש גישה, פנו לצוות ניהול החשבון או לצוות המכירות.
מצב "כל הקיבולת"
כברירת מחדל, המאגרים של יחידות ה-TPU כוללים שחזור אוטומטי במקרה של כשל.Google Cloud מנהל את התהליך הזה על ידי החלפה אוטומטית של מכונות TPU פגומות במכונות תקינות מהקיבולת השמורה, כדי לוודא שהמשאבים זמינים להפעלה מחדש של פרוסות ה-TPU.
לחלופין, ב-TPU v6e וב-TPU7x, אתם יכולים לבקש קיבולת TPU במצב All Capacity. במצב הזה יש לכם גישה לכל הקיבולת השמורה וגם הרשאות צפייה מלאות בטופולוגיה. במצב הזה, אפשר גם לטרגט בלוקים או תת-בלוקים ספציפיים כדי למקם את עומסי העבודה בצורה מדויקת לפי הטופולוגיה. עם זאת, אתם אחראים לניהול של תקלות בחומרה ושל תחזוקה.
למידע נוסף על המצבים האלה, קראו את המאמר מצבי קיבולת של 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 | 176GB עד 1,440GB | 448 GB |
| NUMA | NUMA | NUMA |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| NVMe | NVMe | NVMe |
| — | ||
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| — | — | — |
| — | — | — |
| gVNIC | gVNIC | gVNIC |
| 400 Gbps | 50 to 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 |
| מספר ליבות TensorCore בכל שבב | 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 מכיל שני ליבות Tensor וארבע ליבות Sparse.
מודל התכנות של Ironwood מאפשר לגשת לשני מכשירי TPU במקום לארכיטקטורת הליבה הלוגית היחידה ששימשה בדורות הקודמים. מידע נוסף זמין במאמר ארכיטקטורת צ'יפלט כפול במסמכי התיעוד של Cloud TPU.
בטבלה הבאה מפורטים המאפיינים של סוג המכונה TPU7x:
| סוג המכונה | מספר המעבדים הווירטואליים (vCPU) | זיכרון המכונה (GiB) | מספר כרטיסי הרשת הפיזיים | רוחב הפס המקסימלי של הרשת (Gbps) | מספר שבבי TPU לכל VM | מספר צומתי NUMA | סה"כ זיכרון TPU (ב-GiB HBM) |
|---|---|---|---|---|---|---|---|
tpu7x-standard-4t |
224 | 960 | 2 | 400 | 4 | 2 | 768 |
מידע נוסף על הארכיטקטורה של TPU7x זמין במאמר TPU7x (Ironwood) במסמכי התיעוד של Cloud TPU.
TPU v6e (Trillium)
כל מכונת TPU v6e וירטואלית יכולה להכיל שבב TPU אחד, 4 שבבים או 8 שבבים. לפרוסות של 4 שבבים או פחות יש אותו צומת של גישה לא אחידה לזיכרון (NUMA).
פרוסות TPU v6e משתמשות במכונות וירטואליות בחצי מקיבולת המארח, כל אחת עם 4 שבבי TPU, מלבד סוגי המכונות הבאים:
-
ct6e-standard-1tמכיל שבב TPU אחד לבדיקת עומסי עבודה. ct6e-standard-8tהוא מארח מלא של מכונות וירטואליות שמותאם לעומסי עבודה של הסקת מסקנות. סוג המכונה הזה מאפשר להשתמש בכל 8 שבבי ה-TPU שמחוברים למכונה וירטואלית אחת בעומס עבודה יחיד של הצגת מודעות.
בטבלה הבאה מפורטים המאפיינים של סוגי המכונות TPU v6e:
| סוג המכונה | מספר המעבדים הווירטואליים (vCPU) | זיכרון המכונה (GiB) | מספר כרטיסי הרשת הפיזיים | רוחב הפס המקסימלי של הרשת (Gbps) | מספר שבבי TPU לכל VM | מספר צומתי 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.
בטבלה הבאה מפורטים המאפיינים של סוג המכונה TPU v5p:
| סוג המכונה | מספר המעבדים הווירטואליים (vCPU) | זיכרון המכונה (GiB) | מספר כרטיסי הרשת הפיזיים | רוחב הפס המקסימלי של הרשת (Gbps) | מספר שבבי TPU לכל VM | מספר צומתי 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 |
מספר מארחים |
|
-
החישוב: מכפלת הטופולוגיה חלקי ארבע. ↩