TPU v5p
במאמר הזה מתוארת הארכיטקטורה של Cloud TPU v5p וההגדרות הנתמכות שלו.
ארכיטקטורת המערכת
בקטע הזה מתוארת ארכיטקטורת המערכת שספציפית לגרסה v5p. לכל TensorCore יש ארבע יחידות כפל מטריצות (MXU), יחידת וקטור ויחידה סקלרית.
יש 8,960 צ'יפים ב-v5p Pod. העבודה הגדולה ביותר שאפשר לתזמן היא עבודה של 96 קוביות (6,144 שבבים).
בטבלה הבאה מפורטים המפרטים העיקריים של TPU v5p.
| מפרט | ערכים |
|---|---|
| מספר הצ'יפים בכל יחידת עיבוד | 8960 |
| שיא העיבוד לכל שבב (BF16) (TFLOPs) | 459 |
| שיא העיבוד לכל שבב (FP8) (TFLOPs) | 459 |
| קיבולת HBM לכל שבב (GiB) | 95 |
| רוחב הפס של HBM לכל שבב (GBps) | 2765 |
| מספר המעבדים הווירטואליים (מכונה וירטואלית עם 4 שבבים) | 208 |
| RAM (GB) (מכונה וירטואלית עם 4 שבבים) | 448 |
| מספר ליבות Tensor בכל שבב | 2 |
| מספר ליבות SparseCore בכל שבב | 4 |
| רוחב פס דו-כיווני של חיבור בין שבבים (ICI) לכל שבב (GBps) | 1200 |
| רוחב הפס של רשת מרכז הנתונים (DCN) לכל שבב (Gbps) | 50 |
| טופולוגיית Interconnect | טורוס תלת-ממדי * |
הגדרות אישיות
TPU v5p Pod מורכב מ-8,960 שבבים שמחוברים ביניהם באמצעות קישורים מהירים שניתנים להגדרה מחדש. הגמישות ברשת של TPU v5p מאפשרת לחבר את הצ'יפים בפרוסת TPU באותו גודל בכמה דרכים.
בטבלה הבאה מפורטים הצורות הנפוצות ביותר של פרוסות בודדות שנתמכות בגרסה v5p, וגם רוב הצורות של קוביות מלאות שגדולות מקובייה אחת (אבל לא כולן). הצורה המקסימלית של v5p היא 16x16x24 (6,144 שבבים, 96 קוביות).
| טופולוגיה | ליבות | צ'יפס | מארחים | Cubes | סוג המכונה | האם יש תמיכה ב-twisted? |
|---|---|---|---|---|---|---|
| 2x2x1 | 8 | 4 | 1 | לא רלוונטי | ct5p-hightpu-4t |
לא רלוונטי |
| 2x2x2 | 16 | 8 | 2 | לא רלוונטי | ct5p-hightpu-4t |
לא רלוונטי |
| 2x4x4 | 64 | 32 | 8 | לא רלוונטי | ct5p-hightpu-4t |
לא רלוונטי |
| 4x4x4 | 128 | 64 | 16 | 1 | ct5p-hightpu-4t |
לא רלוונטי |
| 4x4x8 | 256 | 128 | 32 | 2 | ct5p-hightpu-4t |
כן |
| 4x8x8 | 512 | 256 | 64 | 4 | ct5p-hightpu-4t |
כן |
| 8x8x8 | 1024 | 512 | 128 | 8 | ct5p-hightpu-4t |
לא רלוונטי |
| 8x8x16 | 2048 | 1024 | 256 | 16 | ct5p-hightpu-4t |
כן |
| 8x16x16 | 4096 | 2048 | 512 | 32 | ct5p-hightpu-4t |
כן |
| 16x16x16 | 8192 | 4096 | 1024 | 64 | ct5p-hightpu-4t |
לא רלוונטי |
| 16x16x24 | 12288 | 6144 | 1536 | 96 | ct5p-hightpu-4t |
לא רלוונטי |
יש תמיכה באימון של פרוסה אחת של עד 6,144 שבבים. אפשר להגדיל את מספר השבבים עד 18,432 באמצעות Multislice. מידע נוסף על Multislice זמין במאמר סקירה כללית על Multislice ב-Cloud TPU.
טופולוגיות של טורוס מעוות
בצורות מסוימות של פרוסות תלת-ממדיות, אפשר להשתמש בטופולוגיה של טורוס מעוות. הטופולוגיות האלה מציעות רוחב פס גבוה משמעותית של חציית הגרף. לדוגמה, טופולוגיה מעוותת של 4x4x8 מספקת עלייה תיאורטית של 70% ברוחב הפס של החיתוך בהשוואה לחיתוך לא מעוות של 4x4x8. רוחב הפס המוגדל הזה עוזר לעומסי עבודה שמשתמשים בדפוסי תקשורת גלובליים. טופולוגיות מסוג Twisted יכולות לשפר את הביצועים של רוב המודלים, והן מועילות במיוחד לעומסי עבודה גדולים של הטמעת TPU. תוכנת ה-TPU תומכת בטופולוגיות מעוותות בפרוסות שבהן כל מימד שווה למימד הקטן ביותר או גדול ממנו פי שניים. לדוגמה, 4x4x8, 4×8×8 או 12x12x24. טופולוגיות מסוג Twisted נתמכות ב-TPU v4 וב-TPU v5p דרך Cloud TPU API.
עבור עומסי עבודה שמשתמשים במקביליות נתונים כאסטרטגיית המקביליות היחידה, יכול להיות שטופולוגיות מעוותות יניבו ביצועים טובים יותר. במודלים גדולים של שפה (LLM), הביצועים של טופולוגיה מעוותת משתנים בהתאם לסוג ההקבלה שנעשה בה שימוש (לדוגמה, הקבלה של נתונים או הקבלה של מודלים). כדי להשיג את הביצועים הכי טובים של המודל, כדאי לאמן את מודל ה-LLM עם טופולוגיה מעוותת וגם בלי. חלק מהניסויים במודל FSDP MaxText הראו שיפורים של נקודת אחוז אחת עד שתיים בניצול FLOPs של המודל (MFU) כשמשתמשים בטופולוגיה מעוותת.
היתרון העיקרי של טופולוגיות מעוותות הוא שהן משנות טופולוגיה אסימטרית של טורוס (לדוגמה, 4×4×8) לטופולוגיה סימטרית. טופולוגיה סימטרית מציעה:
- איזון עומסים משופר
- רוחב פס גבוה יותר של חצייה
- מסלולים קצרים יותר של חבילות
היתרונות האלה מובילים לשיפור הביצועים בהרבה תרחישי תקשורת גלובליים.
לדוגמה, נניח שיש טופולוגיית טורוס בגודל 4x2 עם מעבדי TPU שמסומנים עם קואורדינטות X ו-Y בפלח:

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

ההבדל בין הדיאגרמה המעוותת הזו לבין הדיאגרמה הלא מעוותת הוא בקצוות המעוגלים של ציר Y. במקום להתחבר ל-TPU אחר עם אותו קואורדינטה X, הקצוות האלה מתחברים ל-TPU בקואורדינטה X+2 mod 4.
העיקרון הזה חל על גדלים שונים של מאפיינים ועל מספרים שונים של מאפיינים. הרשת שמתקבלת היא סימטרית אם כל מימד שווה למימד הקטן ביותר או גדול ממנו פי שניים.
בטבלה הבאה מוצגות כמה טופולוגיות מעוותות נתמכות והגידול התיאורטי ברוחב הפס של החלוקה לשני חלקים שהן מספקות לעומת טופולוגיות לא מעוותות.
| טופולוגיה | עלייה תיאורטית ברוחב הפס של החיתוך בהשוואה לטורוס לא מסובב |
|---|---|
| 4×4×8 | ~70% |
| 8x8x16 | |
| 12×12×24 | |
| 4×8×8 | ~40% |
| 8×16×16 |
עמידות של Cloud TPU ICI
הגמישות של ICI עוזרת לשפר את עמידות התקלות של קישורים אופטיים ושל מתגי מעגלים אופטיים (OCS) שמחברים יחידות TPU בין קוביות. (חיבורי ICI בתוך קובייה משתמשים בקישורי נחושת שלא מושפעים). הגמישות של ICI מאפשרת לנתב חיבורי ICI במקרים של תקלות ב-OCS וב-ICI אופטי. כתוצאה מכך, יש שיפור בזמינות של פלחים של TPU לתזמון, אבל יש פגיעה זמנית בביצועים של ICI.
בדומה ל-Cloud TPU v4, חוסן ה-ICI מופעל כברירת מחדל עבור פרוסות v5p שהן בגודל קובייה אחת או יותר (טופולוגיה של 4x4x4).
מאפייני מכונה וירטואלית, מארח ופרוסה
| מאפיין (property) | הערך ב-TPU |
|---|---|
| מספר הצ'יפים v5p | 4 |
| מספר מעבדי vCPU | 208 (רק חצי מהם ניתנים לשימוש אם משתמשים ב-NUMA binding כדי להימנע מפגיעה בביצועים ב-NUMA) |
| RAM (GB) | 448 (רק חצי מהם ניתנים לשימוש אם משתמשים ב-NUMA binding כדי להימנע מפגיעה בביצועים ב-NUMA) |
| מספר צמתי NUMA | 2 |
| קצב העברת הנתונים של כרטיס הרשת (Gbps) | 200 |
הקשר בין מספר ליבות Tensor, שבבים, מארחים/מכונות וירטואליות וקוביות ב-Pod:
| ליבות | צ'יפס | מארחים/מכונות וירטואליות | Cubes | |
|---|---|---|---|---|
| מארח | 8 | 4 | 1 | |
| Cube (rack) | 128 | 64 | 16 | 1 |
| הפרוסה הגדולה ביותר הנתמכת | 12288 | 6144 | 1536 | 96 |
| v5p full Pod | 17920 | 8960 | 2240 | 140 |