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 בפלח:

איור של טופולוגיית טורוס לא מסובבת בגודל 4x2 עם מעבדי TPU שמסומנים בקואורדינטות X ו-Y

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

אם משנים את הטופולוגיה הזו, מקבלים טופולוגיית טורוס מעוות סימטרית של 4‎×2:

איור של טופולוגיית טורוס מעוותת בגודל 4x2 עם מעבדי TPU שמסומנים באמצעות קואורדינטות X ו-Y

ההבדל בין הדיאגרמה המעוותת הזו לבין הדיאגרמה הלא מעוותת הוא בקצוות המעוגלים של ציר 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