כדי להתחיל עבודת מעקב, התכונה 'מעקב אחר מודלים' צריכה לדעת את הסכימה של מערך הנתונים הטבלאי כדי לנתח נכון את מטען הייעודי (payload) של הקלט.
במודלים של AutoML, התכונה 'מעקב אחרי מודלים' מנתחת באופן אוטומטי את הסכימה כי ל-Gemini Enterprise Agent Platform כבר יש גישה לנתוני ההדרכה שלכם.
למודלים עם אימון בהתאמה אישית:
התכונה 'מעקב אחר מודלים' יכולה לנתח סכימות באופן אוטומטי עבור מודלים שמשתמשים בפורמט קלט רגיל של צמדי מפתח/ערך.
במודלים שעברו אימון בהתאמה אישית ולא משתמשים בפורמט קלט של צמד מפתח/ערך, יכול להיות שתצטרכו לספק סכימה כשיוצרים את משימת המעקב.
יצירת הסכימה משתנה בהתאם להפעלה של מעקב אחרי מודלים עבור נקודת קצה של הסקה אונליין או עבור הסקות באצ'ים.
ניתוח סכמה לנקודות קצה של הסקה אונליין
עבור נקודות קצה של הסקה אונליין, אתם יכולים לאפשר ל'מעקב אחרי מודלים' לנתח את הסכימה באופן אוטומטי או להעלות סכימה כשאתם יוצרים משימת מעקב.
ניתוח סכימה אוטומטי
אחרי שמפעילים זיהוי של הטיה או סחף בנקודת קצה אונליין, בדרך כלל אפשר לנתח באופן אוטומטי את סכימת הקלט באמצעות 'מעקב אחרי מודלים'. כדי לנתח את הסכימה באופן אוטומטי, 'מעקב אחרי מודלים' מנתח את 1,000 בקשות הקלט הראשונות כדי לקבוע את הסכימה.
הניתוח האוטומטי של סכימות פועל בצורה הטובה ביותר כשבקשות הקלט מפורמטות כצמדי מפתח-ערך, כאשר "key" הוא שם התכונה ו-"value" הוא ערך התכונה. לדוגמה:
"key":"value"
{"TenYearCHD":"0", "glucose":"5.4", "heartRate":"1", "age":"30",
"prevalentStroke":"0", "gender":"f", "ethnicity":"latin american"}
אם הקלט לא בפורמט "key":"value", התכונה 'מעקב אחרי מודלים' מנסה לזהות את סוג הנתונים של כל מאפיין, ומקצה באופן אוטומטי שם מאפיין שמוגדר כברירת מחדל לכל קלט.
סכימות מותאמות אישית של מופעים
אתם יכולים לספק סכמת קלט משלכם כשאתם יוצרים משימת מעקב אחרי מודל כדי לוודא שהכלי 'מעקב אחרי מודל' מנתח את הקלט של המודל בצורה נכונה.
הסכימה הזו נקראת סכימת מופע הניתוח. קובץ הסכימה מציין את הפורמט של מטען הייעודי (payload) של הקלט, את השמות של כל תכונה ואת הסוג של כל תכונה.
הסכימה צריכה להיות כתובה כקובץ YAML בפורמט Open API. הדוגמה הבאה היא של בקשת הסקה בפורמט object:
type: object properties: age: type: string BMI: type: number TenYearCHD: type: string cigsPerDay: type: array items: type: string BPMeds: type: string required: - age - BMI - TenYearCHD - cigsPerDay - BPMeds
typeמציין אם בקשת ההסקה היא באחד מהפורמטים הבאים:-
object: צמדי מפתח/ערך -
array: דמוי מערך -
string: csv-string
-
propertiesמציין את הסוג של כל תכונה בנפרד.אם הבקשה היא במערך או בפורמט csv-string, מציינים את הסדר שבו התכונות מפורטות בכל בקשה בשדה
required.
אם בקשת ההסקה שלכם היא בפורמט של מערך או של מחרוזת CSV, צריך לייצג תכונות חסרות כערכי null. לדוגמה, נניח שיש בקשת הסקה עם חמש תכונות:
[feature_a, feature_b, feature_c, feature_d, feature_e]
אם feature_c מאפשר ערכים חסרים, דוגמה לבקשה שחסר בה feature_c
היא: {[1, 2, , 4, 6]}. אורך הרשימה הוא עדיין 5, עם ערך null אחד
באמצע.
ניתוח סכמה עבור מסקנות באצווה
לגבי מסקנות אצווה, אתם יכולים לאפשר ל'מעקב אחרי מודלים' לנתח את הסכימה באופן אוטומטי, או להעלות סכימה כשאתם יוצרים משימת מעקב.
ניתוח סכימה אוטומטי
אם לא מספקים סכימה במהלך יצירת משימת מעקב, התכונה 'מעקב אחר מודלים' מסיקה את סוגי הנתונים של התכונות ומפיקה את הסכימה על סמך נתוני האימון.
בנוסף, התכונה Model Monitoring צריכה לדעת איזו עמודה היא עמודת היעד, כלומר התכונה שמנסים לחזות. עמודת היעד מוחרגת מהסכימה וממדד הטיית התכונות. אפשר לציין את עמודת היעד כשיוצרים משימת מעקב.
מפרט עמודת היעד
אם לא מציינים את עמודת היעד כשיוצרים משימת מעקב, התכונה האחרונה בשם בנתוני האימון מסומנת על ידי Model Monitoring כעמודת היעד.
לדוגמה, התווית column_c בנתוני ההדרכה בפורמט CSV האלה מסומנת כעמודת היעד כי column_c נמצאת בסוף השורה הראשונה:
column_a, column_b, column_d, column_c 1,"a", 2, "c" 2,"b", 342, "d"
באופן דומה, Model Monitoring מתייג את column_c בקובץ ה-JSONL הזה כעמודת היעד כי column_c נמצא בסוף השורה הראשונה:
{"column_a": 1, "column_b": "a", "column_d": 2, "column_c": "c" } {"column_a": 2, "column_b": "b", "column_c": "d", "column_d": 342}
בשתי הדוגמאות, הסכימה הסופית מכילה רק את column_a, column_b ו-column_d.
סכימות מותאמות אישית
הסכימה המותאמת אישית שלכם מציינת את הפורמט של מטען הייעודי (payload) של הקלט, את השמות של כל תכונה ואת הסוג של כל תכונה.
הסכימה צריכה להיכתב כקובץ YAML עם תחביר של Open API. הדוגמה הבאה היא של בקשת הסקה בפורמט object:
type: object properties: age: type: string BMI: type: number TenYearCHD: type: string cigsPerDay: type: array items: type: string BPMeds: type: string required: - age - BMI - TenYearCHD - cigsPerDay - BPMeds
התכונה 'מעקב אחרי מודלים' מחשבת את הטיית התכונות על סמך פלט של הסקת מסקנות באצווה בפורמט JSON Lines. אם סוג הנתונים מכיל מערך, אורך המערך בנתוני הקלט צריך להיות שווה למספר התכונות שצוינו בקובץ ה-YAML. אחרת, המערכת של Model Monitoring לא תכלול את מופע ההסקה עם אורך המערך השגוי בחישוב של הטיית התכונה.
לדוגמה, המערכים בסוגי הנתונים הבאים מכילים שתי תכונות:
מערך:
{[[1, 2]]}"Key"/"Value":
{"key": 0, "values": [[1, 2]]}
בסכימה המתאימה צריך לציין גם שני מאפיינים:
type: object properties: name: type: string age: type: number required: - name - age
המאמרים הבאים
- הפעלת זיהוי של הטיה וסחף במודלים.
- אפשר לנסות את ה-notebook לדוגמה ב-Colab או לצפות בו ב-GitHub.