במסגרות עבודה מודרניות של למידת מכונה נעשה לעיתים קרובות שימוש בספריית התקשורת הקולקטיבית של NVIDIA (NCCL) לפרימיטיבים של תקשורת בין GPU ל-GPU.
הגרסה המשופרת של NCCL מבית Google נקראת NCCL/gIB והיא זמינה במכונות וירטואליות (VM) מסוג A3 Ultra, A4 ו-A4X של Google Cloud. NCCL/gIB הוא לרוב יעיל יותר מ-NCCL במעלה הזרם בתשתית של Google. הביצועים של NCCL יכולים להשפיע על הביצועים הכוללים של עומס העבודה, ולכן מומלץ להשתמש ב-NCCL/gIB.
NCCL/gIB כולל תכונות ואופטימיזציות ספציפיות ל-Google, כמו:
- תוסף הרשת gIB מציע איזון עומסים משופר ברשתות של Google, וכתוצאה מכך, תפוקה גבוהה וזמן אחזור נמוך באופן עקבי יותר במהלך פעולות משותפות.
- תוסף מותאם אישית לכוונון, שבוחר את אפשרויות הכוונון הטובות ביותר במכונות וירטואליות. Google Cloud
- תוסף פרופיל CoMMA מספק מדדי ביצועים מפורטים ונתוני אבחון עבור עומס העבודה.
- הפלאגין env מספק הגדרות משתנים ספציפיות לפלטפורמה במכונות וירטואליות של Google Cloud .
ארכיטקטורה של NCCL/gIB
NCCL/gIB פועל באינטראקציה עם מסגרת למידת המכונה והמעבדים הגרפיים (GPU) של NVIDIA באשכולות כדי לשפר את הביצועים ולאסוף נתוני טלמטריה, כמו שמוצג בתרשים הזה:

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

ביצועים של NCCL AllReduce עם 32 צמתים באמצעות A3 Ultra (H200) ללא תנועת רקע.
באופן דומה, בהשוואה בין NCCL/gIB לבין NCCL במעלה הזרם בביצועים של AllGather עם תנועת נתונים ברקע, הביצועים של NCCL/gIB טובים בכ-50% מאלה של NCCL במעלה הזרם בגדלים גדולים יותר של הודעות, כפי שמוצג בתרשים הזה.

ביצועים של 32 צמתים ב-NCCL AllGather באמצעות A3 Ultra (H200) ברשת משותפת עם רעשי רקע.
בנוסף, הפלאגין CoMMA profiler מספק ל-Google טלמטריה מותאמת אישית משופרת, וכך מאפשר לנו לעזור לכם טוב יותר אם תתעורר בעיה ברמת עומס העבודה.
שימוש ב-NCCL/gIB
כדי להריץ בדיקות NCCL/gIB באשכול, בוחרים את הדף מהרשימה הבאה שהכי מתאים לדרישות שלכם:
- הרצת בדיקות NCCL במכונות וירטואליות של Compute Engine
- הפעלת NCCL באשכולות GKE שמשתמשים בהגדרות ברירת מחדל
- הרצת NCCL באשכולות GKE בהתאמה אישית שמשתמשים ב-A4X
- הפעלת NCCL באשכולות GKE בהתאמה אישית שמשתמשים ב-A4 או ב-A3 Ultra
- הרצת בדיקות NCCL באשכולות Slurm
- הרצת בדיקות NCCL ב-Cluster Director
כאן מוסבר איך לטפל בבעיות באשכול אחרי שמריצים את הבדיקות.