יחידות לעיבוד טנסורים (TPU) הן מעגלים משולבים לאפליקציות ספציפיות (ASIC) שפותחו על ידי Google כדי לעזור להאיץ עומסי עבודה של למידת מכונה (ML) ובינה מלאכותית (AI). בין אם אתם מאמנים מודלים מורכבים של בסיס במשך שבועות או מריצים מסקנות בקנה מידה גדול, יחידות TPU מציעות משאבי מחשוב מיוחדים וניתנים להרחבה שמיועדים לשימוש עם מסגרות מתקדמות של AI.
במסמך הזה מתוארים התפקידים של יחידות TPU ב- Google Cloud, המפרטים הטכניים של כל גרסת TPU זמינה, מאפייני הביצועים, שיקולי התמחור והמיפוי שלהם לסדרות מכונות של Compute Engine.
מה זה TPU?
TPU הוא ASIC שתוכנן בהתאמה אישית כדי לעמוד בדרישות של פעולות מטריצה מסיביות שחיוניות לאלגוריתמים של למידת מכונה.
הרכיבים העיקריים בארכיטקטורה של מערכת TPU הם:
TensorCore: יחידת העיבוד של צ'יפ TPU. כל TensorCore מורכב מיחידה אחת או יותר של כפל מטריצות (MXU) שמשתמשת בארכיטקטורת מערך סיסטולי כדי לבצע כפל מטריצות ביעילות גבוהה, יחד עם יחידות סקלריות ווקטוריות לזרימת בקרה וחישוב כללי.
SparseCore: מעבדי Dataflow ייעודיים שנועדו להאיץ פעולות דלילות. ליבות SparseCore פועלות לצד ליבות TensorCore כדי לעבד ביעילות טבלאות הטמעה גדולות, ולכן הן אידיאליות להאצת מודלים של המלצות והטמעות בקנה מידה גדול.
זיכרון עם רוחב פס גבוה (HBM): זיכרון פיזי גדול שמחובר לשבב TPU ומציע רוחב פס עצום של הזיכרון. זיכרון HBM מאפשר אימון והפעלה של מודלים גדולים יותר עם גדלים גדולים יותר של אצווה.
מכונת TPU: מכונת חישוב של Linux שפועלת במארח TPU ויש לה גישה ישירה לחומרת ה-TPU הבסיסית. היא מאפשרת גישה לספריות עם ביצועים גבוהים, לקישוריות SSH וליומני ניפוי באגים בזמן ריצה.
TPU slices ו-Pods: TPU Pod הוא אשכול גדול ורציף של שבבי TPU שמקושרים פיזית. פרוסת TPU היא חלוקה לוגית של Pod (שכולל מארח אחד או יותר שמחוברים באמצעות חיבורים מהירים) שהוקצתה להרצת עומס עבודה יחיד.
קומפיילר XLA: קומפיילר אלגברה לינארית מואצת (XLA) מבצע קומפילציה של גרפים של למידת מכונה להוראות מכונה שעברו אופטימיזציה ופועלות ב-TensorCores של TPU.
גרסאות TPU וסדרות מכונות
Compute Engine תומך בכמה דורות וגרסאות של TPU. בטבלה הבאה מפורטים המפרטים העיקריים של כל גרסת TPU נתמכת:
| גרסת ה-TPU | סדרת מכונות | שיא המחשוב לכל שבב (TFLOPs) | זיכרון ורוחב פס של TPU | ליבות לכל צ'יפ | רוחב פס של Interconnect (ICI) לכל שבב | רוחב הפס של הרשת (DCN) לכל שבב | צ'יפים בכל תרמיל |
|---|---|---|---|---|---|---|---|
| TPU7x (Ironwood) | tpu7x-standard |
BF16: 2,307 FP8: 4,614 |
192 GiB (7,380 GBps) |
2 TensorCores 4 SparseCores |
1,200 GBps | 100 Gbps | 9,216 |
| TPU v6e (Trillium) | ct6e-standard |
BF16: 918 FP8: 918 |
32 GiB (1,638 GBps) |
TensorCore אחד 2 SparseCores |
800 GBps | 100 Gbps | 256 |
| TPU v5p | ct5p-hightpu |
BF16: 459 FP8: 459 |
95 GiB (2,765 GBps) |
2 TensorCores 4 SparseCores |
1,200 GBps | 50 Gbps | 8,960 |
מאפייני הביצועים של TPU
יחידות ה-TPU מותאמות לביצוע פעולות אלגברה של מטריצות צפופות ביעילות מקסימלית. כדי להחליט מתי הכי כדאי להשתמש ב-TPU לעומסי עבודה של ML, כדאי להביא בחשבון את ההנחיות הבאות.
תרחישי שימוש אידיאליים ודרישות עומס עבודה
בחירת מודל ה-TPU הנכון תלויה במאפיינים החישוביים, בדרישות הזיכרון ובצרכי ההתאמה של עומס העבודה. בוחרים באחת מהכרטיסיות הבאות כדי לראות את ההמלצות.
אימון AI/ML
אימון מראש של מודלים גדולים: אימון של מודלים עצומים מההתחלה. עומסי העבודה האלה מוגבלים על ידי חישוב ותקשורת.
כוונון וזיקוק מודלים: התאמה של מודלים קיימים באמצעות שיטות יעילות לפרמטרים או אימון של וריאציות קטנות יותר של מודלים.
היקש של AI/ML
הצגת מודלים אונליין: פריסת מודלים לאינטראקציה בזמן אמת, שבה זמן האחזור הנמוך הוא קריטי. עומסי העבודה האלה מוגבלים על ידי רוחב הפס של הזיכרון במהלך יצירה רציפה של טוקנים.
הרצת מסקנות באצווה: עיבוד של מערכי נתונים גדולים אופליין, כאשר המטרה העיקרית היא תפוקה גבוהה. עומסי העבודה האלה מוגבלים על ידי המחשוב בשלב המילוי המקדים של ההנחיה.
מערכות המלצה
- עיבוד הטמעות גדולות: אימון והצגה של מודלים להמלצות שמשתמשים בטבלאות הטמעה גדולות. עומסי העבודה האלה מוגבלים על ידי הקיבולת והתקשורת.
- יכולת TPU נדרשת: חומרה ייעודית של SparseCore לעיבוד פעולות דלילות במקביל, קיבולת HBM גדולה ותמיכה בהעברה לזיכרון המארח.
- גרסאות TPU מומלצות:
למידת חיזוק
הפעלת לולאות של למידה חיזוקית: ניהול עומסי עבודה היברידיים שדורשים לולאות הדוקות של יצירת דוגמאות ועדכון משקלי המדיניות.
שיקולים לגבי עומסי עבודה
יכול להיות ש-TPU לא יהיה הבחירה האופטימלית לעומסי העבודה הבאים:
- תוכניות באלגברה לינארית שדורשות הסתעפות לוגית תכופה או שמכילות הרבה פעולות אלגבריות ברמת הרכיב.
- עומסי עבודה שתלויים באופרטורים מותאמים אישית ב-JAX או ב-PyTorch שפועלים במעבדי CPU.
- עומסי עבודה מדעיים שנדרשת בהם אריתמטיקה של נקודה צפה (FP64) בדיוק כפול.
שיקולי תמחור
הגורמים הבאים קובעים את התמחור של TPU ב- Google Cloud:
גרסת ה-TPU
מיקום
מודל צריכה
פרטים מלאים על התמחור זמינים בדף תמחור TPU.
מודלים של צריכה ורכישה
אתם יכולים להקצות מופעי TPU באמצעות כל אחת מאפשרויות הצריכה הבאות, בהתאם לדרישות הזמינות ולסובלנות שלכם לעלויות:
- עלות לפי דרישה: תמחור סטנדרטי של תשלום לפי שימוש (PAYG) לביצוע מיידי. המינוי הזה מציע גמישות מקסימלית לאורך מחזור החיים, אבל הזמינות שלו תלויה במגבלות של המשאבים הפיזיים.
- Spot: קיבולת עודפת Google Cloud בהנחה משמעותית (עד 70%). מכיוון ש- Google Cloud יכול להפסיק או למחוק VM במודל Spot כדי לפנות קיבולת בהודעה של 30 שניות מראש, מכונות המחשוב האלה מתאימות לעומסי עבודה עמידים בכשלים ולעומסי עבודה עם נקודות ביקורת.
- Flex-start: מאפשר לבקש מופעי מחשוב ממאגר ייעודי למשך עד שבעה ימים עם זמינות גבוהה יותר.
- מקום שמור לעתיד: הזמנות שמבטיחות קיבולת ומציעות מחיר מוזל בהשוואה לתמחור על פי דרישה. אפשר להזמין קיבולת TPU לתאריך ולשעה ספציפיים בעתיד, למשך עד 90 יום (מצב לוח שנה) או למשך שנה או יותר. אםGoogle Cloud תאשר את הבקשה, תוכלו להתחיל להשתמש בקיבולת למשך תקופת ההזמנה.
הנחות תמורת התחייבות לשימוש (CUD)
כשמבקשים מקום שמור לעתיד למשך שנה או יותר, אפשר לקבל CUD על קיבולת ה-TPU השמורה. החלת הנחה תמורת התחייבות לשימוש (CUD) על מופעי מחשוב מאפשרת לכם לקבל הנחה משמעותית על המחירים בהשוואה לתעריפים של שימוש לפי דרישה, בתמורה לתקופת שימוש מוגדרת.
מידע נוסף על הנחות CUD ב-Compute Engine