פלטפורמת אבחון של למידת מכונה
Google Cloud ML Diagnostics היא פלטפורמה מנוהלת מקצה לקצה לאופטימיזציה, למעקב ולדיאגנוסטיקה של עומסי עבודה של AI ו-ML ב- Google Cloud. אפשר להשתמש ב-ML Diagnostics כדי לעקוב אחרי עומסי עבודה, וגם כדי לאסוף את כל המדדים, ההגדרות והפרופילים של עומסי העבודה ולהציג אותם בפלטפורמה אחת. הכלי ML Diagnostics מתאים לעומסי עבודה של אימון והסקת מסקנות, והוא תואם לכל כלי התזמור ב-Cloud TPU, כולל Google Kubernetes Engine (GKE) וכלי תזמור בהתאמה אישית. הכלי 'אבחון ML' כולל את התכונות הבאות:
- מעקב אחרי עומסי עבודה: מעקב אוטומטי אחרי עומסי עבודה של AI/ML שפועלים ב-TPU ב-GKE וביצוע אבחון שלהם. לכל משימת GKE, הכלי ML Diagnostics Workload Monitoring יוצר באופן אוטומטי הרצה של למידת מכונה, עוקב אחרי מחזור הפעילות של TPU בעומס העבודה, מזהה אירועים שמשפיעים על עומס העבודה ומנתח שכבות שונות של עומס העבודה – כמו תשתית, כלי תזמור ומסגרת – כדי לעזור לקבוע את הסיבות האפשריות לאירוע.
- הרצות של למידת מכונה: אפשר להשתמש ב-ML Diagnostics כדי ליצור ולרשום הרצות של למידת מכונה באמצעות Google Cloud CLI, או לשלב את ML Diagnostics SDK עם עומס העבודה. אתם יכולים ליצור ולרשום ריצות באופן אוטומטי באמצעות ניטור עומסי עבודה, לפרוס מופעים מנוהלים של XProf עם ריצות של למידת מכונה, ולאסוף ולנהל מדדים של עומסי עבודה, הגדרות וסשנים של פרופילים.
- חוויית השימוש ב-CLI של gcloud: אפשר להשתמש ב-ML Diagnostics APIs דרך gcloud CLI כדי לרשום ולנהל ריצות, לפרוס משאבי XProf מנוהלים, להציג סשנים של פרופילים בקטגוריות אחסון ולהפעיל לכידות של פרופילים מ-CLI. אפשר גם לראות רשימה של כל האירועים שזוהו על ידי ניטור עומסי עבודה, ולקבל פרטים על הניתוח של האירועים האלה דרך CLI או API.
- Python SDK: אפשר להשתמש ב-ML Diagnostics SDK בקוד פתוח שמשולב עם עומסי עבודה של ML כדי לקבל חוויית אבחון מלאה של עומסי עבודה של ML. מעקב אחרי עומסי עבודה ואיסוף וניהול של מדדי עומסי עבודה, הגדרות ופרופילים ב- Google Cloud.
- יצירת פרופילים מנוהלת: הכלי ML Diagnostics פורס מופע מנוהל של XProf עם קצה עורפי (backend) ניתן להרחבה בחשבונות משויכים, וכך מאפשר טעינה מהירה של פרופילים גדולים. הוא תומך בגישה של כמה משתמשים לפרופילים בו-זמנית, ויש בו תכונות מובנות כמו יצירת פרופילים של כמה מארחים ויצירת פרופילים לפי דרישה.
- מדדים של עומסי עבודה: מעקב אחרי מדדים של עומסי עבודה, כולל איכות המודל, ביצועי המודל ומדדי המערכת. באמצעות מעקב אחרי עומסי עבודה, אפשר לקבל מדדים של המערכת שמשויכים לעומס העבודה בלי לשלב את ה-SDK.
- ניהול הגדרות של עומסי עבודה: מעקב אחרי הגדרות של עומסי עבודה, כולל הגדרות תוכנה, הגדרות מערכת והגדרות שהוגדרו על ידי המשתמש.
- הדמיות ב-Cluster Director וב-GKE: אפשר להציג באופן חזותי מדדים, הגדרות ופרופילים ב-Cluster Director וב-Google Kubernetes Engine במסוף Google Cloud .
- שיתוף באמצעות קישור: שיתוף קישורים עם מידע על הרצות של למידת מכונה, מעקב אחר עומסי עבודה, מדדים ופרופילים.
נתיבי משתמש
אפשר להשתמש בפלטפורמת ML Diagnostics באופן אוטומטי עם ניטור עומסי עבודה לכל המשימות ב-GKE, או לשלב את ה-SDK עם עומס העבודה כדי לקבל חוויית אבחון מלאה של עומס העבודה של למידת המכונה. אפשר לקיים אינטראקציה עם מערכת האבחון של ML דרך Google Cloud המסוף או ה-CLI. מעקב אחרי עומסי עבודה זמין באופן אוטומטי לכל עומסי העבודה שנפרסו באמצעות GKE ב-TPU.
בעזרת ה-CLI, אפשר להשתמש ב-ML Diagnostics gcloud CLI כדי ליצור או לשנות הרצה של למידת מכונה, ולפרוס את משאבי XProf המנוהלים. כדי לאסוף ולנהל מדדים והגדרות של עומסי עבודה של ML ולפרוס משאבי XProf מנוהלים, צריך לשלב את ML Diagnostics SDK בעומס העבודה של ML.
כדי להתחיל, אפשר להיעזר באחד מהמדריכים הבאים:
פרופילים מנוהלים באמצעות XProf
כשמשתמשים ב-CLI או ב-SDK, אפשר לקבל חוויית פרופיל מנוהלת באמצעות XProf. XProf הוא כלי בקוד פתוח ליצירת פרופילים ולניתוח ביצועים של עומסי עבודה של למידת מכונה, והוא חלק מהמערכת האקולוגית של OpenXLA.
היתרונות של חוויית פרופיל מנוהלת בהשוואה לחוויית פרופיל באירוח עצמי כוללים:
- אין צורך בהגדרה של XProf או של תלויות אחרות.
- אבטחה טובה יותר והגנה מפני נקודות חולשה.
- קישורים שניתן לשתף לעבודה משותפת.
- טעינה מהירה יותר של פרופילים גדולים.
- תמיכה בכמה משתמשים שניגשים בו-זמנית לפרופילים עם שינוי גודל אוטומטי של משאבים על סמך עומס הגישה לקישור.
- תכונות מובנות כמו יצירת פרופילים של כמה מארחים ויצירת פרופילים על פי דרישה.
- טעינת כמה סשנים של פרופילים בכמה הפעלות עם אותו מופע מנוהל של XProf.
- אין חיוב על משאבי XProf מנוהלים שנפרסים על ידי פלטפורמת ML Diagnostics, ולכן השימוש ב-XProf מנוהל הוא חסכוני יותר מאשר אירוח עצמי של XProf.
דרישות מוקדמות
לפני שמשתמשים ב-ML Diagnostics, צריך להפעיל את Cluster Director API ולהוסיף את הרשאות ה-IAM הנדרשות. אם אתם משתמשים ב-GKE, מעקב אחרי עומסי עבודה כבר מופעל. עם זאת, כדי להשתמש ב-SDK של ML Diagnostics ובפרופילים לפי דרישה, צריך להוסיף ארטיפקטים של GKE ולהגדיר את אשכול GKE. מידע נוסף זמין במאמר בנושא הגדרת GKE.
הפעלת Cluster Director API
לא צריך להשתמש ב-Cluster Director כדי לפרוס ולנהל את האשכולות כדי להשתמש במוצר ML Diagnostics. הכלי ML Diagnostics פועל עם אשכולות שמנוהלים על ידי GKE, Cluster Director או כלי תזמור בהתאמה אישית. ML Diagnostics הוא חלק ממשפחת ממשקי ה-API של Cluster Director, אבל הוא לא תלוי בכך שהמשתמשים ישתמשו במוצר Cluster Director עצמו.
מידע נוסף על הפעלת Cluster Director API זמין במאמר הפעלת API בפרויקט. Google Cloud
הרשאות IAM
חשבון השירות Google Cloud שמשמש את עומס העבודה שלכם צריך את תפקידי ה-IAM הבאים שמוקצים בפרויקט:
-
roles/hypercomputecluster.editor: גישה מלאה ליצירה ולניהול של משאביMLRunולצפייה בממשק המשתמש. -
roles/logging.logWriter: כדי לכתוב יומנים ומדדים ב-Cloud Logging. -
roles/storage.objectUser: כדי לשמור פרופילים בקטגוריית Cloud Storage שצוינה ב-machinelearning_run.
אפשר גם ליצור תפקידים בהתאמה אישית שמקצים למשתמשים קבוצת משנה של ממשקי API שנדרשים ל-ML Diagnostics. המשתמשים לא צריכים להשתמש ב-Cluster Director כדי לנהל אשכולות, ולכן צריך להקצות רק את ההרשאות הבאות:
hypercomputecluster.locations.gethypercomputecluster.locations.listhypercomputecluster.machineLearningRuns.createhypercomputecluster.machineLearningRuns.deletehypercomputecluster.machineLearningRuns.gethypercomputecluster.machineLearningRuns.listhypercomputecluster.machineLearningRuns.updatehypercomputecluster.operations.cancelhypercomputecluster.operations.deletehypercomputecluster.operations.gethypercomputecluster.operations.listresourcemanager.projects.getResourcemanager.projects.list
לעומסי עבודה ב-Google Kubernetes Engine, משתמשים ב-Workload Identity Federation כדי לשייך חשבון שירות של Kubernetes לחשבון שירות Google Cloud שקיבל את התפקידים הנדרשים.
תמחור
החיוב על אחסון מדדים מתבצע דרך Cloud Logging, והחיוב על אחסון פרופילים מתבצע דרך Cloud Storage. אין צורך להפעיל חיוב נוסף עבור השירותים האלה כשמשתמשים בפלטפורמת ML Diagnostics. אין חיוב על משאבי XProf מנוהלים שנפרסו על ידי פלטפורמת ML Diagnostics.