TPU7x (Ironwood)

בדף הזה מתוארת הארכיטקטורה של TPU7x, ה-TPU הכי חדש שזמין ב- Google Cloud, ומוסברות ההגדרות הזמינות שלו. ‫TPU7x היא הגרסה הראשונה בסדרת Ironwood, Google Cloud's TPU מהדור השביעי. דור Ironwood מיועד לאימון ולהסקת מסקנות של AI בקנה מידה גדול.

עם 9,216 שבבים בכל Pod, ‏ TPU7x דומה מאוד ל-TPU v5p. ‫TPU7x מספק ביצועים גבוהים למודלים צפופים ולמודלים של MoE בקנה מידה גדול, לאימון מקדים, לדגימה ולהסקת מסקנות עם פענוח כבד.

כדי להשתמש ב-TPU7x, אפשר להשתמש ב-Google Kubernetes Engine‏ (GKE) או ב-Compute Engine. מידע נוסף על שימוש ב-TPU עם GKE זמין במאמר מידע על TPU ב-GKE.

אפשר להשתמש ב-TPU7x וב-GKE גם במצב All Capacity. מצב 'כל הקיבולת' זמין באמצעות הזמנה של מצב 'כל הקיבולת', שמעניקה לכם גישה מלאה לכל הקיבולת שהזמנתם (ללא הגבלות) ושקיפות מלאה לגבי טופולוגיית חומרת ה-TPU, סטטוס השימוש וסטטוס התקינות. מידע נוסף זמין במאמר סקירה כללית של מצב 'כל הקיבולת'.

ארכיטקטורת המערכת

כל שבב TPU7x מכיל שני TensorCore וארבעה SparseCore. בטבלה הבאה מוצגים המפרטים העיקריים והערכים שלהם עבור TPU7x בהשוואה לדורות קודמים.

מפרט v5p v6e (Trillium) TPU7x (Ironwood)
מספר הצ'יפים בכל תרמיל 8960 256 9216
שיא העיבוד לכל שבב (BF16) (TFLOPs) 459 918 2307
שיא העיבוד לכל שבב (FP8) (TFLOPs) 459 918 4614
קיבולת HBM לכל שבב (GiB) 95 32 192
רוחב הפס של HBM לכל שבב (GBps) 2765 1638 7380
מספר המעבדים הווירטואליים (מכונה וירטואלית עם 4 שבבים) 208 180 224
‫RAM ‏ (GB) (מכונה וירטואלית עם 4 שבבים) 448 720 960
מספר ליבות Tensor בכל שבב 2 1 2
מספר ליבות SparseCore בכל שבב 4 2 4
רוחב פס דו-כיווני של חיבור בין שבבים (ICI) לכל שבב (GBps) 1200 800 1200
רוחב הפס של רשת מרכז הנתונים (DCN) לכל שבב (Gbps) 50 100 100

התרשים הבא מדגים את הארכיטקטורה של Ironwood:

תרשים הארכיטקטורה של Ironwood

היררכיית זיכרון

ל-TPU7x יש מערכת זיכרון רב-שכבתית, וניהול העברת הנתונים בין השכבות האלה חיוני לביצועים:

  • זיכרון עם רוחב פס גבוה (HBM): כל שבב מצויד ב-192GB של HBM, עם רוחב פס של כ-7.37TB/s. קיבולת ה-HBM הגדולה מאפשרת גדלים גדולים של מנות (batch), מה שיכול לשפר את קצב העברת הנתונים. עם זאת, למרות הגודל שלו, HBM עדיין יכול להיות צוואר בקבוק, במיוחד עבור פעולות וקטוריות שמוגבלות על ידי הזיכרון או דפוסי גישה לא יעילים לנתונים.
  • זיכרון וקטורי (VMEM): זיכרון VMEM הוא זיכרון SRAM קטן יותר על השבב (זיכרון גישה אקראית סטטי) עם רוחב פס גבוה משמעותית ליחידת הכפל של המטריצה (MXU) בהשוואה ל-HBM. הזיכרון הזה משמש כלוח טיוטה מהיר לליבות מותאמות אישית. גודל המאגר הזה הוא פרמטר שניתן לשינוי. אופטימיזציה של גודל המאגר חיונית להתאמה של ליבות Pallas בהתאמה אישית, כי גודלי הבלוקים שלהן מוגבלים לעיתים קרובות על ידי ה-VMEM הזמין.
  • זיכרון מארח ו-PCIe: כל קבוצה של ארבעה שבבי TPU מחוברת למארח CPU באמצעות רשת PCIe. לחיבור הזה יש רוחב פס נמוך בהרבה מ-HBM, אבל אפשר להשתמש בזיכרון הראשי של המארח כדי להעביר הפעלות או מצבים של אופטימיזציה כדי לפנות מקום ב-HBM. זו טכניקה שימושית במיוחד לניהול עומס על הזיכרון במודלים גדולים.

מידע נוסף על ניהול יעיל של העברת נתונים בין הרמות של היררכיית הזיכרון של TPU7x זמין במאמר אופטימיזציות של ביצועים ב-Ironwood.

ארכיטקטורה של שני צ'יפלטים

מודל התכנות של Ironwood מאפשר גישה לשני שבבי TPU במקום לליבה לוגית אחת (שנקראת גם ארכיטקטורת MegaCore) ששימשה בדורות הקודמים (TPU v4 ו-v5p). השינוי הזה משפר את היעילות של ייצור השבב ואת העלות-תועלת שלו. העיצוב החדש מייצג שינוי ארכיטקטוני, אבל הוא מאפשר לכם לעשות שימוש חוזר במודלים קיימים של תוכנה עם שינויים מינימליים.

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

  • הרכב של Chiplet: כל Chiplet היא יחידה עצמאית עם TensorCore אחד, שני SparseCore ו-96GB של זיכרון HBM (זיכרון עם רוחב פס גבוה).

  • חיבור מהיר בין רכיבים: שני הצ'יפלטים מחוברים באמצעות ממשק בין ליבות (D2D) שמהיר פי שישה מקישור ICI (חיבור בין רכיבים) חד-ממדי. התקשורת בין הצ'יפלטים מנוהלת באמצעות פעולות קולקטיביות.

חשיפה של מודל תכנות ומסגרת

מודל התכנות של Ironwood דומה לזה של דורות TPU שקדמו ל-v4, כמו TPU v3. הארכיטקטורה החדשה מוצגת בדרכים הבאות:

  • שני מכשירים לכל שבב: פלטפורמות כמו JAX חושפות כל שבב Ironwood כשני 'מכשירים' נפרדים, אחד לכל שבב קטן.

  • מפרט של שבב: אתם יכולים לציין באיזה שבב להשתמש לחישוב. ‫JAX מוסיף מימד רביעי למפרט הטופולוגיה כדי להבחין בין שבבים קטנים. העיצוב הזה מאפשר לכם לעשות שימוש חוזר במודלים קיימים של תוכנה עם שינויים מינימליים.

מידע נוסף על השגת ביצועים אופטימליים באמצעות ארכיטקטורת dual-chiplet זמין במאמר המלצות לשיפור הביצועים של ארכיטקטורת dual-chiplet ב-Ironwood.

הגדרות נתמכות

לשבבי TPU7x יש חיבור ישיר לשבבים השכנים הקרובים ביותר ב-3 מימדים, וכתוצאה מכך נוצר אריג תלת-ממדי של חיבורי רשת. פרוסות גדולות מ-64 שבבים מורכבות מקובייה אחת או יותר של 4x4x4 שבבים.

לשבבי TPU7x יש טופולוגיית חיבורים של טורוס תלת-ממדי. הטופולוגיה הזו מאפשרת להגדיל את מספר השבבים בפרוסות עד 9,216. יש לו רוחב פס דו-כיווני של 200GBps לכל ציר לתקשורת בין שבבים בתוך תרמיל.

בטבלה הבאה מוצגים צורות נפוצות של פרוסות תלת-ממד שנתמכות ב-TPU7x:

טופולוגיה צ'יפים של TPU מארחים VMs (מכונות וירטואליות) Cubes היקף
2x2x1 4 1 1 ‫1/16 מארח יחיד
2x2x2 8 2 2 1/8 כמה מארחים
‫2x2x4 16 4 4 1/4 כמה מארחים
2x4x4 32 8 8 1/2 כמה מארחים
4x4x4 64 16 16 1 כמה מארחים
4x4x8 128 32 32 2 כמה מארחים
4x8x8 256 64 64 4 כמה מארחים
8x8x8 512 128 128 8 כמה מארחים
8x8x16 1024 256 256 16 כמה מארחים
‫8x16x16 2048 512 512 32 כמה מארחים

TPU7x VM

כל מכונה וירטואלית (VM) מסוג TPU7x מכילה 4 שבבים. לכל מכונה וירטואלית יש גישה לשני צמתי NUMA. מידע נוסף על צמתי NUMA זמין במאמר Non-uniform memory access (גישה לזיכרון לא אחיד) ב-Wikipedia.

כל חלקי ה-TPU7x משתמשים במכונות וירטואליות של מארח מלא עם 4 שבבים. המפרט הטכני של מכונת TPU7x וירטואלית הוא:

  • מספר המעבדים הווירטואליים לכל מכונה וירטואלית: 224
  • RAM לכל מכונה וירטואלית: 960GB
  • מספר צמתי NUMA לכל מכונה וירטואלית: 2

Hyperdisk

כברירת מחדל, דיסק האתחול של מכונת ה-VM עבור TPU7x הוא Hyperdisk Balanced. אתם יכולים לצרף עוד דיסקים למכונת ה-TPU הווירטואלית כדי לקבל נפח אחסון נוסף. סוגי הדיסקים הבאים נתמכים ב-TPU7x:

  • Hyperdisk Balanced
  • Hyperdisk ML

מידע נוסף על Hyperdisk זמין במאמר סקירה כללית על Hyperdisk. מידע נוסף על אפשרויות אחסון ל-Cloud TPU זמין במאמר אפשרויות אחסון לנתוני Cloud TPU.

המאמרים הבאים