אופטימיזציה של הרשת באשכול באמצעות NCCL/gIB

במסגרות מודרניות של למידת מכונה, לעיתים קרובות משתמשים ב-NVIDIA Collective Communications Library (NCCL)‎ לפעולות בסיסיות של תקשורת בין יחידות GPU.

הגרסה המשופרת של Google ל-NCCL נקראת NCCL/gIB, והיא זמינה במכונות A5X, ‏ A4X Max, ‏ A4X, ‏ A4 ו-A3 Ultra שלGoogle Cloud. לרוב, NCCL/gIB מניב ביצועים טובים יותר מאשר NCCL במעלה הזרם בתשתית של Google. הביצועים של NCCL יכולים להשפיע על הביצועים הכוללים של עומס העבודה, ולכן מומלץ להשתמש ב-NCCL/gIB.

‫NCCL/gIB כולל תכונות ואופטימיזציות ספציפיות ל-Google, כמו:

  • פלאגין הרשת gIB משפר את איזון העומסים ברשתות של Google, וכך מאפשר קצב העברת נתונים גבוה וזמן אחזור קצר באופן עקבי יותר במהלך פעולות קולקטיביות.
  • פלאגין כוונון בהתאמה אישית, שבוחר את אפשרויות הכוונון הטובות ביותר במכונות וירטואליות של Google Cloud .
  • הפלאגין CoMMA profiler מספק מדדי ביצועים מפורטים ונתוני אבחון של עומס העבודה.
  • הפלאגין env מספק הגדרות משתנים ספציפיות לפלטפורמה במכונות הווירטואליות של Google Cloud .

ארכיטקטורת NCCL/gIB

‫NCCL/gIB יוצר אינטראקציה עם מסגרת למידת המכונה ועם המעבדים הגרפיים של NVIDIA באשכולות כדי לשפר את הביצועים ולאסוף נתוני טלמטריה, כמו שמוצג בתרשים הבא:

עומס העבודה של ה-ML מנוהל על ידי מסגרת ML שמחוברת גם ל-NVIDIA GPU וגם ל-NCCL, ו-NCCL מחובר לכלים ולפלאגינים שונים של Google.

יתרונות השימוש ב-NCCL/gIB

אפשר להשתמש ב-NVIDIA Collective Communications Library במכונות וירטואליות של Google Cloud בלי בעיות יציבות, אבל NCCL/gIB מותאם יותר ל- Google Cloud וההבדל בביצועים יכול להיות משמעותי מאוד בדפוסי תקשורת מסוימים, גם עם אותם פרמטרים של NCCL.

לדוגמה, בתרשים הבא מוצגת השוואה בין NCCL/gIB לבין NCCL במעלה הזרם בביצועי AllReduce. ‫NCCL/gIB עולה בביצועים על NCCL במעלה הזרם עד פי 12 בגדלים מסוימים של הודעות.

תרשים שמראה ש-NCCL/gIB מניב ביצועים טובים יותר מ-upstream NCCL במשימות AllReduce.

‫ביצועי NCCL AllReduce עם 32 צמתים באמצעות A3 Ultra‏ (H200) ללא תנועה ברקע.

באופן דומה, בהשוואה של NCCL/gIB עם NCCL במעלה הזרם בביצועי AllGather עם תנועה ברקע, NCCL/gIB עולה על NCCL במעלה הזרם בכ-50% בגודלי הודעות גדולים יותר, כפי שמוצג בתרשים הזה.

תרשים שמראה ש-NCCL/gIB מניב ביצועים טובים יותר מ-upstream NCCL במשימות AllGather.

‫ביצועי AllGather של NCCL עם 32 צמתים באמצעות A3 Ultra‏ (H200) במארג משותף עם רקע רועש.

בנוסף, הפלאגין של CoMMA profiler מספק ל-Google טלמטריה משופרת בהתאמה אישית, שמאפשרת לנו לעזור לכם בצורה טובה יותר אם תתעורר בעיה ברמת עומס העבודה.

התקנת NCCL/gIB

לפני שמריצים בדיקות NCCL, צריך להתקין את NCCL/gIB בסביבת זמן הריצה.

שימוש ב-NCCL/gIB

כדי להריץ בדיקות NCCL/gIB באשכול, בחרו את הדף מהרשימה הבאה שהכי מתאים לדרישות שלכם:

כדי לקבל הוראות להפעלת NCCL/gIB באשכולות GKE שמשתמשים ב-A5X, פנו לנציג שלכם ב- Google Cloud .

במאמר איסוף והבנה של יומני NCCL/gIB לצורך פתרון בעיות מוסבר איך לטפל בבעיות באשכול אחרי הרצת הבדיקות.