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

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

בקטעים הבאים מוסבר על כמה בעיות נפוצות, על שינויים שצריך לבצע במודלים ועל שיטות מומלצות לצמצום הסיכון לכשלים ב-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 הרצוי.