אימון על פרוסות TPU

מעבדי TPU מיועדים להרחבה לאשכול TPU Pod. ‫TPU Pod הוא אוסף של מכשירי TPU שמחוברים באמצעות ממשקי רשת ייעודיים במהירות גבוהה. בעזרת TPU Pod אפשר לחלק את עומס העיבוד בין כמה מעבדי TPU. כל לוח TPU מחובר למכונת מארח מבוססת-CPU עם ביצועים גבוהים, למטרות כמו טעינה ועיבוד מקדים של נתונים. כדי לנצל את היתרונות של מספרים גדולים יותר של TPU, צריך לכוונן כמה פרמטרים של משימות אימון.

ההגדרה של אימון באמצעות TPU Pods שונה בכל מסגרת. בקישורים הבאים אפשר לקבל מידע מפורט על אימון ב-Pods עם כל מסגרת:

בקטעים הבאים מוסבר על כמה בעיות נפוצות, על שינויים שצריך לבצע במודלים ועל שיטות מומלצות לצמצום הסיכון לכשלים ב-Pod או למניעתם.

שינוי גודל האצווה ומספר שלבי האימון

כדי להשיג קנה מידה לינארי בסוגים גדולים יותר של TPU, צריך לשמור על גודל אצווה לכל ליבה.

לדוגמה, אם משתמשים בגודל אצווה של 1,024 ב-v6e-8, צריך להשתמש בגודל אצווה של 4,096 ‏(4 * 1,024) ב-v6e-32. כך מנצלים את חומרת ה-TPU באופן מלא. אפשר להשתמש בגדלים קטנים יותר של אצווה, אבל אם תעשו את זה, האימון לא יתרחב באופן ליניארי.

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

לדוגמה, אם גודל האצווה הוא 1,000 ל-100 שלבים, 100,000 דוגמאות מעובדות במהלך האימון. אם יש לכם עכשיו 4 תהליכי worker וגודל אצווה אפקטיבי של 4,000, תצטרכו לשנות את מספר השלבים ל-25 כדי לעבד את אותן 100,000 דוגמאות. אם המודל שלכם משתמש בדגל epochs, אתם לא צריכים לשנות את מספר השלבים.

גדלים גדולים יותר של אצווה יכולים לשנות את התנהגות ההתכנסות של המודל, ולכן יכול להיות שכדאי גם לכוונן כמה היפרפרמטרים, כמו קצב הלמידה.

שימוש בקטגוריות אזוריות של Cloud Storage באותו אזור כמו ה-TPU Pod

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

מוודאים שאתם משתמשים בקטגוריה אזורית של Cloud Storage באותו אזור כמו TPU עבור מערכי נתונים של אימון ונקודות ביקורת.

שיטות מומלצות לתהליך העבודה בפיתוח ב-TPU Pods

כשמפתחים עומס עבודה חדש ב-TPU, לרוב כדאי להתחיל את הפיתוח ב-TPU הקטן ביותר ולעבור בהדרגה ל-TPU בגדלים גדולים יותר. מומלץ להתחיל עם גרסה קטנה של TPU (למשל, v6e-8).

  • בדיקה של עומס העבודה כדי לוודא שהוא מתנהג כמו שצריך
  • בדיקה ואימות של הביצועים באמצעות כלי הביצועים

אחרי שהעומס יפעל ויגיע ליעדי הביצועים שהגדרתם, תוכלו להגדיל את קנה המידה לסוג TPU גדול יותר, כמו v6e-32. מגדילים בהדרגה את גודל ה-TPU תוך אימות יכולת ההתאמה (פונקציונליות וביצועים) עד שמגיעים לגודל ה-TPU הרצוי.