Managed Training Clusters ב-Gemini Enterprise Agent Platform הוא שירות של Google Cloud שנועד לפשט ולהאיץ את עומסי העבודה הגדולים והמורכבים ביותר של AI/ML. הוא נועד במיוחד להתמודד עם אתגרים באימון בקנה מידה גדול, כמו הגדרת אשכולות מורכבים, אופטימיזציה של מסגרות, טיפול בכשלים בחומרה ושילוב של ערכות כלים שונות.
הצעת הערך העיקרית והתכונות
לאשכולות אימון מנוהלים יש כמה יתרונות עיקריים:
חוויית משתמש ב-Slurm בקוד פתוח ושקיפות של האשכולות: ב-Managed Training Clusters יש כלים מוכרים וגמישים להפעלה ולניהול של משימות באמצעות חוויית משתמש ב-Slurm בקוד פתוח. Slurm הוא תקן מקובל בתחום, שידוע בתזמון GPU אופטימלי, עמידות אוטומטית בפני תקלות והפעלה פשוטה של משימות מקבילות.
הגדרה אוטומטית של אשכולות: אשכולות מנוהלים לאימון מודלים מגדירים באופן אוטומטי את האשכולות, כדי לעבור מהזמנה לאימון בסביבת הייצור תוך כמה שעות. המשתמשים יכולים ליצור אשכולות באמצעות מסוף Google Cloud (באמצעות ארכיטקטורות לדוגמה או הגדרה מפורטת) או באמצעות קריאות ל-API עם קובצי JSON.
תהליכי עבודה ומתכונים מוגדרים מראש למדעי הנתונים: אשכולות אימון מנוהלים כוללים כלים ייעודיים ומתכוני אימון שעברו אופטימיזציה כדי להתחיל אימון לתרחישים נפוצים לדוגמה, כמו מודלים של Llama ו-Gemma, כולל אימון מוקדם, SFT (כוונון מפוקח) ולמידת חיזוק (RL). המתכונים האלה מוגדרים מראש לביצועים גבוהים בתשתית של Google Cloud, ומדגימים שיפור משמעותי בביצועים.
עמידות החומרה וזמן פעולה תקינה ארוך: Managed Training Clusters תוכנן עם עמידות חומרה כדי להאריך את זמן הפעולה התקינה של האשכול. הוא פותר באופן אוטומטי בעיות חומרה, מזהה וממיין מצבי כשל שונים (לדוגמה, בדיקות תקינות, בדיקות מהירות, שגיאות של קוד תיקון שגיאות (ECC), בדיקות של NVIDIA Data Center GPU Manager (DCGM), קיבולת של מקום בכונן) ומפעיל פעולות תיקון כמו הפעלה מחדש, יצירת קובץ אימג' מחדש או החלפה של צמתים פגומים, והמשך מנקודות ביקורת. כך אפשר לצמצם את העיכובים והעלייה המשמעותית בעלויות שנגרמים כתוצאה מהפרעות במשימות ומכשלים בחומרה באימון בקנה מידה גדול.
ארכיטקטורה ורכיבים: אשכולות מנוהלים לאימון פועלים על תשתית Compute Engine שתומכת במעבדי GPU ובמעבדי CPU. הוא משתמש בתזמור מנוהל של Slurm כדי לפרוס ולנהל צומתי מחשוב, כולל צומתי התחברות וצומתי עובדים. השירות משתלב עם שירותים אחרים של Google Cloud , כמו רשתות ואחסון.
MLOps וניראות (observability): שילוב עם כלי MLOps של Agent Platform, כמו Gemini Enterprise Agent Platform מרשם המודלים לרישום, מעקב וניהול גרסאות אוטומטיים של תהליכי עבודה מאומנים, ו-Gemini Enterprise Agent Platform Inference לפריסה עם התאמה אוטומטית לעומס (autoscaling) ומדדים אוטומטיים. בנוסף, באשכולות מנוהלים לאימון מודלים יש שילוב אוטומטי של יכולת תצפית עם Vertex AI TensorBoard, כדי להציג באופן חזותי את תהליכי האימון, לעקוב אחרי מדדים ולזהות בעיות בשלב מוקדם.
אפשר ליצור, לאחזר, להציג, לעדכן ולמחוק אשכולות אימון באמצעות Gemini Enterprise Agent Platform training clusters API. אפשר גם לצפות באשכולות במסוף Google Cloud , שמוסיף לאשכול לוחות בקרה של Cloud Monitoring. אחרי שיוצרים את האשכול, המשתמשים יכולים לאמת את הפונקציונליות שלו על ידי התחברות לצמתים, הרצת פקודות Slurm בסיסיות (לדוגמה, sinfo, sbatch) והרצת עומסי עבודה שקשורים ל-GPU (לדוגמה, nvidia-smi). Slurm Job API מאפשר לנהל משימות Slurm ישירות דרך Agent Platform API.
ב-Managed Training Clusters יש API להפעלת משימות LLM מובנות מראש באמצעות מתכונים שעברו אופטימיזציה למודלים כמו Llama ו-Gemma, שתומכים באימון מראש ובאימון מראש רציף מנקודות ביקורת. כדי לעקוב אחרי המשימות, מתחברים לצומת ההתחברות ובודקים את קובצי הפלט ואת פקודות Slurm כמו squeue.
הסברים על המונחים
בקטע הזה מוגדרים מונחים ומושגים מרכזיים שחשוב להכיר כדי להבין איך להשתמש ביעילות באשכולות מנוהלים לאימון. המונחים האלה כוללים רכיבי שירות מרכזיים, שיקולים שקשורים לארכיטקטורה, טכנולוגיות אחסון משולבות ומושגים בסיסיים של למידת מכונה (ML) ו-MLOps שעליהם מבוססת סביבת האימון.
מושגי ליבה של השירות
node
- מכונה וירטואלית אחת (מכונה של Compute Engine) בתוך אשכול. בהקשר של אימון מנוהל באשכולות שמורים, צומת מתייחס למכונה וירטואלית (VM) ספציפית שמשמשת כיחידת חישוב אחת בתוך האשכול. אפשר לחשוב על זה כמכונה ייעודית שמריצה חלק ממשימת האימון הכוללת. כל צומת מצויד במשאבים ספציפיים כמו מעבד (CPU), זיכרון ומאיצים (לדוגמה, מעבדי GPU מסוג A3 או A4), וכולם פועלים יחד בצורה מתואמת כדי לטפל במשימות אימון מבוזרות בקנה מידה גדול.
צומת התחברות
- צומת התחברות הוא נקודת הכניסה הראשית שדרכה המשתמשים יכולים לגשת לאשכול, לשלוח משימות ולנהל קבצים. מידע נוסף זמין במאמר מהו מחשוב עתיר ביצועים?.
partition
- ב-Slurm, קיבוץ לוגי של צמתים, שמשמש לעיתים קרובות להפרדת צמתים עם הגדרות חומרה שונות.
מתכון
- בהקשר של Managed Training, מתכון הוא חבילה מקיפה וניתנת לשימוש חוזר שמכילה את כל מה שצריך כדי להריץ עומס עבודה ספציפי של אימון בקנה מידה גדול.
אשכול Slurm
- אוסף של מכונות Compute Engine שמנוהלות על ידי Slurm, שכולל צומת התחברות וכמה צומתי עובדים שמוגדרים להרצת משימות אימון. מידע נוסף זמין במאמר מנהל עומסי העבודה של Slurm.
צומת עובד
- צומת עובד הוא מכונה או מופע חישובי באשכול שאחראי על ביצוע משימות או עבודה. במערכות כמו אשכולות Kubernetes או Ray, צמתים הם יחידות המחשוב הבסיסיות. מידע נוסף זמין במאמר מהו מחשוב עתיר ביצועים (HPC)?.
ארכיטקטורה ורשתות
רשת VPC של הצרכן
- רשת VPC של צרכן היא ענן וירטואלי פרטי (VPC) ב-Google Cloud, שניגש באופן פרטי לשירות שמתארח ב-VPC אחר (שנקרא VPC של יצרן). מידע נוסף זמין במאמר Private Service Connect.
יחידת שידור מקסימלית (MTU)
- הגודל המקסימלי של חבילת נתונים שמכשיר שמחובר לרשת יכול לשדר. גודלי MTU גדולים יותר (מסגרות ג'מבו) יכולים לשפר את ביצועי הרשת בעומסי עבודה מסוימים. מידע נוסף זמין במאמר יחידת שידור מקסימלית.
גישה לשירותים פרטיים
- גישה לשירותים פרטיים היא חיבור פרטי בין הרשת של הענן הווירטואלי הפרטי (VPC) שלכם לבין רשתות של Google או של ספקי שירות מצד שלישי. היא מאפשרת למכונות וירטואליות (VM) ברשת ה-VPC לתקשר עם השירותים האלה באמצעות כתובות IP פנימיות, בלי להיחשף לאינטרנט הציבורי. מידע נוסף זמין במאמר גישה לשירותים פרטיים.
קישור בין רשתות VPC שכנות (peering)
- חיבור לרשת שמאפשר לשתי רשתות VPC לתקשר באופן פרטי. בהקשר של אימון מנוהל באשכולות שמורים, קישור בין רשתות VPC שכנות הוא רכיב קריטי לשילוב שירותים חיוניים. לדוגמה, זו השיטה הנדרשת לחיבור ה-VPC של האשכול למכונה של Filestore, שמספקת את הספרייה המשותפת הנדרשת /home לכל הצמתים באשכול.
zone
- אזור פריסה ספציפי בתוך אזור ב-Google Cloud. בהקשר של Managed Training באשכולות שמורים, כדי להשיג את הביצועים הכי טובים, צריך ליצור את כל רכיבי השירות (האשכול, Filestore ומכונות Managed Lustre) באותו אזור.
טכנולוגיות אחסון משולבות
Cloud Storage Fuse
- מתאם FUSE בקוד פתוח שמאפשר לטעון קטגוריות של Cloud Storage כמערכת קבצים במערכות Linux או macOS. מידע נוסף מופיע במאמר Cloud Storage Fuse.
Filestore
- שירות אחסון קבצים מנוהל לחלוטין עם ביצועים גבוהים מ-Google Cloud, שמשמש לעיתים קרובות לאפליקציות שדורשות מערכת קבצים משותפת. מידע נוסף זמין במאמר סקירה כללית על Filestore.
Managed Lustre
- מערכת קבצים מקבילה ומבוזרת שמיועדת למחשוב עתיר ביצועים (HPC). Managed Lustre של Google Cloud מספק מערכת קבצים עם תפוקה גבוהה לעומסי עבודה תובעניים. מידע נוסף זמין במאמר סקירה כללית על Managed Lustre.
רמת ביצועים
- הגדרת תצורה של Managed Lustre שקובעת את מהירות התפוקה שלה (ב-MBps ל-TiB) ומשפיעה על הקיבולת המינימלית והמקסימלית שלה.
מושגי מפתח ב-ML וב-MLOps
checkpoint
- נתונים שמתעדים את מצב הפרמטרים של המודל במהלך האימון או אחרי שהאימון מסתיים. לדוגמה, במהלך האימון, אתם יכולים: 1. הפסקת האימון, אולי בכוונה או כתוצאה משגיאות מסוימות. 2. מצלמים את נקודת הביקורת. 3. בשלב מאוחר יותר, טוענים מחדש את נקודת הבדיקה, אולי בחומרה אחרת. 4. הפעלה מחדש של האימון. ב-Gemini, נקודת בקרה מתייחסת לגרסה ספציפית של מודל Gemini שאומן על מערך נתונים ספציפי.
כוונון מפוקח (SFT)
- טכניקה של למידת מכונה שבה מודל שעבר אימון מראש מאומן עוד יותר על קבוצת נתונים קטנה יותר עם תוויות, כדי להתאים אותו למשימה ספציפית.
Vertex AI Inference
- שירות של Vertex AI שמאפשר להשתמש במודל למידת מכונה (ML) מאומן כדי להסיק מסקנות מנתונים חדשים שלא נראו קודם. ב-Vertex AI יש שירותים לפריסת מודלים להסקת מסקנות. מידע נוסף זמין במאמר קבלת הסקות ממודל באימון מותאם אישית.
מרשם המודלים של Vertex AI
- מרשם המודלים של Vertex AI הוא מאגר מרכזי שבו אפשר לנהל את מחזור החיים של מודלים של למידת מכונה. במרשם המודלים של Vertex AI יש סקירה כללית של המודלים, שמאפשרת לארגן, לעקוב ולאמן גרסאות חדשות בצורה טובה יותר. כשיש לכם גרסת מודל שאתם רוצים לפרוס, אתם יכולים להקצות אותה לנקודת קצה ישירות מהמרשם, או לפרוס מודלים לנקודת קצה באמצעות כינויים. מידע נוסף זמין במאמר מבוא למרשם המודלים של Vertex AI.
Vertex AI TensorBoard
- Vertex AI TensorBoard הוא שירות מנוהל וניתן להתאמה ב-Google Cloud, שמאפשר למדעני נתונים ולמהנדסי למידת מכונה להמחיש את הניסויים שלהם בלמידת מכונה, לנפות באגים באימון מודלים ולעקוב אחרי מדדי ביצועים באמצעות הממשק המוכר של TensorBoard בקוד פתוח. הוא משתלב בצורה חלקה עם Vertex AI Training ושירותים אחרים, מספק אחסון מתמיד לנתוני ניסויים ומאפשר ניתוח משותף של פיתוח מודלים. מידע נוסף זמין במאמר מבוא ל-Vertex AI TensorBoard.