Vertex AI Model Monitoring for batch inferences

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

כדי ליצור משימת הסקה באצווה עם ניתוח הטיה של Model Monitoring, צריך לכלול בבקשה גם את נתוני הקלט של ההסקה באצווה וגם את נתוני האימון המקוריים של המודל. אפשר להוסיף ניתוח של מעקב אחרי מודלים רק כשיוצרים משימות חדשות של הסקת מסקנות באצווה.

מידע נוסף על הטיה זמין במאמר מבוא ל-Model Monitoring.

הוראות להגדרת מעקב אחרי מודלים עבור הסקת מסקנות אונליין (בזמן אמת) מופיעות במאמר שימוש במעקב אחרי מודלים.

דרישות מוקדמות

כדי להשתמש ב'מעקב אחרי מודלים' עם מסקנות (inferences) באצווה, צריך לבצע את הפעולות הבאות:

  1. יש לכם מודל זמין ב-Vertex AI Model Registry שהוא מסוג tabular AutoML או מסוג custom training.

  2. מעלים את נתוני האימון ל-Cloud Storage או ל-BigQuery ומקבלים את קישור ה-URI לנתונים.

  3. התכונה 'מעקב אחר מודלים' משווה בין נתוני האימון לבין הפלט של הסקת המסקנות באצווה. חשוב לוודא שאתם משתמשים בפורמטים נתמכים של קבצים לנתוני האימון ולפלט של הסקת מסקנות באצווה:

    סוג המודל נתוני אימון פלט של הסקת מסקנות באצווה
    אומן בהתאמה אישית ‫CSV, ‏ JSONL, ‏ BigQuery, ‏ TfRecord‏(tf.train.Example) JSONL
    טבלאות AutoML ‫CSV, ‏ JSONL, ‏ BigQuery, ‏ TfRecord‏(tf.train.Example) ‫CSV, ‏ JSONL, ‏ BigQuery, ‏ TfRecord(Protobuf.Value)
  4. אופציונלי: במודלים שעברו אימון מותאם אישית, מעלים את הסכימה של המודל ל-Cloud Storage. כדי לחשב את התפלגות הבסיס לזיהוי הטיה, צריך סכימה לניטור המודל.

שליחת בקשה להסקת מסקנות באצווה

אפשר להשתמש בשיטות הבאות כדי להוסיף הגדרות של מעקב אחרי מודלים למשימות של הסקת מסקנות באצווה:

המסוף

כדי לשלוח בקשה להסקת מסקנות באצווה עם הפעלת מעקב אחרי מודלים, פועלים לפי ההוראות הבאות:

API ל-REST

כדי לשלוח בקשת היקש באצווה באמצעות API בארכיטקטורת REST:

כשיוצרים את בקשת ההסקה באצווה, מוסיפים את ההגדרה הבאה של מעקב אחרי מודלים לגוף בקשת ה-JSON:

"modelMonitoringConfig": {
 "alertConfig": {
   "emailAlertConfig": {
     "userEmails": "EMAIL_ADDRESS"
   },
  "notificationChannels": [NOTIFICATION_CHANNELS]
 },
 "objectiveConfigs": [
   {
     "trainingDataset": {
       "dataFormat": "csv",
       "gcsSource": {
         "uris": [
           "TRAINING_DATASET"
         ]
       }
     },
     "trainingPredictionSkewDetectionConfig": {
       "skewThresholds": {
         "FEATURE_1": {
           "value": VALUE_1
         },
         "FEATURE_2": {
           "value": VALUE_2
         }
       }
     }
   }
 ]
}

where:

  • EMAIL_ADDRESS היא כתובת האימייל שאליה רוצים לקבל התראות מ'מעקב אחר מודלים'. לדוגמה, example@example.com.

  • NOTIFICATION_CHANNELS: רשימה של ערוצי התראות ב-Cloud Monitoring שבהם רוצים לקבל התראות מ'מעקב אחר מודלים'. משתמשים בשמות המשאבים של ערוצי ההתראות. אפשר לאחזר אותם על ידי הצגת רשימת ערוצי ההתראות בפרויקט. לדוגמה, "projects/my-project/notificationChannels/1355376463305411567", "projects/my-project/notificationChannels/1355376463305411568".

  • TRAINING_DATASET הוא הקישור למערך הנתונים לאימון שמאוחסן ב-Cloud Storage.

    • כדי להשתמש בקישור למערך נתונים לאימון ב-BigQuery, מחליפים את השדה gcsSource בערך הבא:
    "bigquerySource": {
        {
          "inputUri": "TRAINING_DATASET"
        }
     }
    
    • כדי להשתמש בקישור למודל AutoML, מחליפים את השדה gcsSource בערך הבא:
    "dataset": "TRAINING_DATASET"
  • FEATURE_1:VALUE_1 ו-FEATURE_2:VALUE_2 הם ערכי הסף להתרעה עבור כל תכונה שרוצים לעקוב אחריה. לדוגמה, אם מציינים Age=0.4, Model Monitoring מתעד התראה כשהמרחק הסטטיסטי בין התפלגויות הקלט והבסיס עבור התכונה Age חורג מ-0.4. כברירת מחדל, כל מאפיין קטגוריאלי ומספרי מנוטר עם ערכי סף של 0.3.

מידע נוסף על הגדרות של מעקב אחרי מודלים זמין במאמר הפניה לעבודת מעקב.

Python

כדי להריץ משימת הסקת מסקנות (inference) באצווה באמצעות Model Monitoring עבור מודל טבלאי מותאם אישית, אפשר לעיין במחברת לדוגמה.

התכונה 'מעקב אחרי מודלים' שולחת לכם באופן אוטומטי התראות ועדכונים לגבי משימות באימייל.

גישה למדדי הטיה

אפשר להשתמש בשיטות הבאות כדי לגשת למדדי הטיה עבור משימות של הסקת מסקנות באצווה:

המסוף (היסטוגרמה)

אפשר להשתמש במסוף Google Cloud כדי לראות את ההיסטוגרמות של התפלגות התכונות לכל תכונה במעקב, ולגלות אילו שינויים הובילו להטיה לאורך זמן:

  1. נכנסים לדף Batch predictions:

    לדף Batch predictions

  2. בדף Batch predictions, לוחצים על משימת ההסקה של אצווה שרוצים לנתח.

  3. לוחצים על הכרטיסייה התראות על מעקב אחרי מודלים כדי לראות רשימה של תכונות הקלט של המודל, יחד עם מידע רלוונטי כמו סף ההתראה לכל תכונה.

  4. כדי לנתח תכונה, לוחצים על השם שלה. בדף מוצגות היסטוגרמות של התפלגות התכונות של התכונה הזו.

    הצגת התפלגות הנתונים כהיסטוגרמות מאפשרת לכם להתמקד במהירות בשינויים שחלו בנתונים. אחרי כן, יכול להיות שתחליטו לשנות את צינור יצירת התכונות או לאמן מחדש את המודל.

    היסטוגרמות שמציגות דוגמה להתפלגות של נתוני קלט והתפלגות של נתוני אימון לזיהוי צידוד.

מסוף (קובץ JSON)

כדי לגשת למדדים בפורמט JSON, משתמשים במסוף Google Cloud :

  1. נכנסים לדף Batch predictions:

    לדף Batch predictions

  2. לוחצים על השם של משימת המעקב אחר הסקת מסקנות באצווה.

  3. לוחצים על הכרטיסייה נכסים למעקב.

  4. לוחצים על הקישור ספריית פלט של מעקב כדי לעבור אל קטגוריה של Cloud Storage.

  5. לוחצים על התיקייה metrics/.

  6. לוחצים על התיקייה skew/.

  7. לוחצים על קובץ feature_skew.json כדי לעבור לדף פרטי האובייקט.

  8. פותחים את קובץ ה-JSON באחת מהדרכים הבאות:

  • לוחצים על הורדה ופותחים את הקובץ בכלי לעריכת טקסט במחשב.

  • משתמשים בנתיב gsutil URI כדי להריץ את הפקודה gcloud storage cat gsutil_URI ב-Cloud Shell או בטרמינל המקומי.

קובץ feature_skew.json כולל מילון שבו המפתח הוא שם התכונה והערך הוא הטיית התכונה. לדוגמה:

{
  "cnt_ad_reward": 0.670936,
  "cnt_challenge_a_friend": 0.737924,
  "cnt_completed_5_levels": 0.549467,
  "month": 0.293332,
  "operating_system": 0.05758,
  "user_pseudo_id": 0.1
}

Python

כדי לגשת למדדי הטיה של מודל טבלאי מותאם אישית אחרי שמריצים משימת הסקת מסקנות באצווה באמצעות Model Monitoring, אפשר לעיין במחברת לדוגמה.

ניפוי באגים בכשלים בניטור של הסקת מסקנות באצווה

אם משימת המעקב שלכם אחרי הסקת מסקנות באצווה נכשלת, תוכלו למצוא יומני ניפוי באגים ב Google Cloud מסוף:

  1. עוברים לדף Batch predictions.

    לדף Batch predictions

  2. לוחצים על השם של משימת המעקב אחר מסקנות אצווה שנכשלה.

  3. לוחצים על הכרטיסייה נכסים למעקב.

  4. לוחצים על הקישור ספריית פלט של מעקב כדי לעבור אל קטגוריה של Cloud Storage.

  5. לוחצים על התיקייה logs/.

  6. לוחצים על אחד מהקבצים .INFO כדי לעבור לדף פרטי האובייקט.

  7. פותחים את קובץ היומנים באחת מהאפשרויות הבאות:

    • לוחצים על הורדה ופותחים את הקובץ בכלי לעריכת טקסט במחשב.

    • משתמשים בנתיב gsutil URI כדי להריץ את הפקודה gcloud storage cat gsutil_URI ב-Cloud Shell או בטרמינל המקומי.

מדריכים ל-Notebook

במדריכים המקיפים האלה אפשר לקבל מידע נוסף על השימוש ב-Vertex AI Model Monitoring כדי לקבל נתונים סטטיסטיים והדמיות של מודלים.

AutoML

בהתאמה אישית

מודלים של XGBoost

שיוך תכונות ב-Vertex AI ניתן להסברה

הסקת מסקנות באצווה

הגדרה של מודלים טבלאיים

המאמרים הבאים