TPU v3
במאמר הזה מתוארת הארכיטקטורה של Cloud TPU v3 וההגדרות הנתמכות שלו.
ארכיטקטורת המערכת
כל שבב TPU מדור 3 מכיל שני TensorCore. לכל TensorCore יש שתי יחידות כפל מטריצות (MXU), יחידת וקטור ויחידה סקלרית. בטבלה הבאה מוצגות המפרטים העיקריים והערכים שלהם עבור TPU Pod מדור 3.
| מפרטים עיקריים | ערכי Pod בגרסה 3 |
|---|---|
| שיא החישוב לכל שבב | 123 טרה-פלופס (bf16) |
| הקיבולת ורוחב הפס של HBM2 | 32 GiB, 900 GBps |
| הספק מינימלי/ממוצע/מקסימלי שנמדד | 123/220/262 W |
| גודל ה-TPU Pod | 1,024 צ'יפים |
| טופולוגיית Interconnect | טורוס דו-ממדי |
| שיא עוצמת החישוב לכל Pod | 126 פטה-פלופס (bf16) |
| רוחב הפס של כל הפחתה לכל Pod | 340TB/s |
| רוחב פס של חצייה לכל Pod | 6.4TB/s |
התרשים הבא מדגים שבב TPU v3.

פרטים על הארכיטקטורה ומאפייני הביצועים של TPU v3 זמינים במאמר A Domain Specific Supercomputer for Training Deep Neural Networks.
היתרונות בביצועים של TPU v3 לעומת v2
הגידול ב-FLOPS לכל TensorCore ובקיבולת הזיכרון בתצורות של TPU v3 יכול לשפר את הביצועים של המודלים שלכם בדרכים הבאות:
הגדרות של TPU v3 מספקות יתרונות משמעותיים בביצועים לכל TensorCore עבור מודלים שמוגבלים על ידי מחשוב. יכול להיות שמודלים שמוגבלים על ידי הזיכרון בהגדרות TPU v2 לא ישיגו את אותו שיפור בביצועים אם הם מוגבלים על ידי הזיכרון גם בהגדרות TPU v3.
במקרים שבהם הנתונים לא נכנסים לזיכרון בתצורות TPU v2, TPU v3 יכול לספק ביצועים משופרים וחישוב מחדש מופחת של ערכי ביניים (rematerialization).
הגדרות TPU v3 יכולות להריץ מודלים חדשים עם גדלי אצווה שלא התאימו להגדרות TPU v2. לדוגמה, יכול להיות ש-TPU v3 יאפשר מודלים עמוקים יותר של ResNet ותמונות גדולות יותר עם RetinaNet.
מודלים שכמעט מוגבלים על ידי קלט (infeed) ב-TPU v2 כי שלבי האימון ממתינים לקלט, עשויים להיות מוגבלים על ידי קלט גם ב-Cloud TPU v3. המדריך לשיפור הביצועים של צינורות העיבוד יכול לעזור לכם לפתור בעיות שקשורות לפידים.
הגדרות אישיות
TPU v3 Pod מורכב מ-1,024 שבבים שמחוברים ביניהם באמצעות קישורים מהירים. כדי ליצור מכשיר או פלח TPU v3, משתמשים בדגל --accelerator-type בפקודת היצירה של TPU (gcloud compute tpus tpu-vm). מציינים את סוג המאיץ על ידי ציון גרסת ה-TPU ומספר ליבות ה-TPU. לדוגמה, כדי להשתמש ב-TPU יחיד מדור 3, משתמשים בפקודה --accelerator-type=v3-8. כדי ליצור פרוסת v3 עם 128 TensorCores, משתמשים בפקודה
--accelerator-type=v3-128.
בטבלה הבאה מפורטים סוגי ה-TPU v3 הנתמכים:
| גרסת TPU | סיום התמיכה |
|---|---|
| v3-8 | (תאריך הסיום עדיין לא הוגדר) |
| v3-32 | (תאריך הסיום עדיין לא הוגדר) |
| v3-128 | (תאריך הסיום עדיין לא הוגדר) |
| v3-256 | (תאריך הסיום עדיין לא הוגדר) |
| v3-512 | (תאריך הסיום עדיין לא הוגדר) |
| v3-1024 | (תאריך הסיום עדיין לא הוגדר) |
| v3-2048 | (תאריך הסיום עדיין לא הוגדר) |
הפקודה הבאה מראה איך ליצור TPU slice מדור 3 עם 128 TensorCores:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=europe-west4-a \ --accelerator-type=v3-128 \ --version=tpu-ubuntu2204-base
מידע נוסף על ניהול של TPU זמין במאמר ניהול של TPU. מידע נוסף על ארכיטקטורת המערכת של Cloud TPU זמין במאמר ארכיטקטורת המערכת.