Vertex AI מספק מדדים להערכת מודלים שיעזרו לכם לקבוע את הביצועים של המודלים, כמו מדדי דיוק וזיכרון. Vertex AI מחשב מדדי הערכה באמצעות מערך הבדיקה.
איך משתמשים במדדי הערכת מודלים
מדדי הערכת המודל מספקים מדידות כמותיות של הביצועים של המודל בקבוצת נתונים לבדיקה. הפרשנות והשימוש במדדים האלה תלויים בצורך העסקי ובבעיה שהמודל אומן לפתור. לדוגמה, יכול להיות שסף הסיבולת שלכם לתוצאות חיוביות מוטעות יהיה נמוך יותר מאשר לתוצאות שליליות מוטעות, או להיפך. השאלות האלה משפיעות על המדדים שבהם כדאי להתמקד.
מידע נוסף על איטרציה של המודל כדי לשפר את הביצועים שלו זמין במאמר איטרציה של המודל.
מדדי הערכה שמוחזרים על ידי Vertex AI
Vertex AI מחזיר כמה מדדי הערכה שונים, כמו דיוק, היזכרות וסף מהימנות. המדדים שמוחזרים מ-Vertex AI תלויים ביעד של המודל. לדוגמה, ב-Vertex AI יש מדדי הערכה שונים למודל סיווג תמונות בהשוואה למודל זיהוי אובייקטים בתמונות.
קובץ סכימה, שאפשר להוריד ממיקום ב-Cloud Storage, קובע אילו מדדי הערכה מספקת Vertex AI לכל יעד. בכרטיסים הבאים מופיעים קישורים לקובצי הסכימה ותיאור של מדדי ההערכה לכל יעד של מודל.
אפשר להציג ולהוריד קובצי סכימה ממיקום Cloud Storage הבא:
gs://google-cloud-aiplatform/schema/modelevaluation/
- AuPRC: השטח מתחת לעקומת הדיוק וההחזרה (PR), שנקרא גם דיוק ממוצע. הערך הזה נע בין אפס לאחד, וככל שהערך גבוה יותר כך המודל איכותי יותר.
- הפסד לוגיסטי: האנטרופיה הצולבת בין ההסקות של המודל לבין ערכי היעד. הערך נע בין אפס לאינסוף, כאשר ערך נמוך יותר מציין מודל באיכות גבוהה יותר.
- סף ביטחון: ציון מהימנות שקובע אילו מסקנות יוחזרו. המודל מחזיר מסקנות שהערך שלהן הוא לפחות הערך הזה. סף סבירות גבוה יותר מגדיל את הדיוק אבל מקטין את ההיזכרות. Vertex AI מחזיר מדדי מהימנות בערכי סף שונים כדי להראות איך ערך הסף משפיע על הדיוק ועל ההחזרה.
- החזרה: השבר של ההסקות עם הסיווג הזה שהמודל חזה בצורה נכונה. נקרא גם שיעור החיוביים האמיתיים.
- דיוק: השבר של מסקנות הסיווג שהופקו על ידי המודל שהיו נכונות.
- מטריצת בלבול: מטריצת בלבול מראה את התדירות שבה מודל חזה תוצאה בצורה נכונה. בתוצאות שחזיתן לא הייתה נכונה, המטריצה מציגה את מה שהמודל חזה במקום זאת. מטריצת הבלבול עוזרת להבין איפה המודל "מבלבל" בין שתי תוצאות.
קבלת מדדי הערכה
אתם יכולים לקבל קבוצה מצטברת של מדדי הערכה עבור המודל, ובחלק מהיעדים, מדדי הערכה עבור סיווג או תווית מסוימים. מדדי הערכה של סיווג או תווית מסוימים נקראים גם פלח הערכה. בקטע הבא מוסבר איך לקבל מדדים מצטברים של הערכה ופרוסות של הערכה באמצעות המסוף Google Cloud או API.
מסוף Google Cloud
במסוף Google Cloud , בקטע Vertex AI, עוברים לדף Models.
בתפריט הנפתח אזור, בוחרים את האזור שבו נמצא המודל.
ברשימת המודלים, לוחצים על המודל הרצוי כדי לפתוח את הכרטיסייה Evaluate (הערכה) של המודל.
בכרטיסייה הערכה אפשר לראות את מדדי ההערכה המצטברים של המודל, כמו דיוק ממוצע והחזרה.
אם ליעד של המודל יש פלחים להערכה, במסוף תוצג רשימה של תוויות. אפשר ללחוץ על תווית כדי לראות את מדדי ההערכה של התווית הזו, כמו שמוצג בדוגמה הבאה:

(תצוגה מקדימה) לכל תווית אפשר לראות תמונות שסווגו כחיוביות אמיתיות, חיוביות שגויות ושליליות שגויות. לכל תמונה יש מדד מרחק L2 בריבוע שמודד את מידת הדמיון בין התמונה לבין תמונות האימון. תמונה עם תווית חריג חשוד טעות שונה יחסית מכל התמונות ששימשו לאימון. כדי לשפר את הביצועים של המודל, כדאי להוסיף עוד תמונות לאימון שדומות לערכים החריגים.
API
בקשות API לקבלת מדדי הערכה זהות לכל סוג נתונים ולכל יעד, אבל הפלט שונה. בדוגמאות הבאות מוצגת אותה בקשה אבל תשובות שונות.
קבלת מדדים מצטברים של הערכת מודל
מדדי ההערכה המצטברים של המודל מספקים מידע על המודל כמכלול. כדי לראות מידע על פלח מסוים, אפשר להציג את הפלחים של הערכת המודל.
כדי לראות מדדים משוקללים של הערכת מודל, משתמשים בשיטה projects.locations.models.evaluations.get.
Vertex AI מחזיר מערך של מדדי מהימנות. בכל רכיב מוצגים מדדי הערכה עם ערך confidenceThreshold שונה (החל מ-0 ועד 1). כשמציגים ערכי סף שונים, אפשר לראות איך ערך הסף משפיע על מדדים אחרים כמו דיוק וזיכרון.
בוחרים כרטיסייה שמתאימה לשפה או לסביבה שלכם:
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: האזור שבו המודל מאוחסן.
- PROJECT: מזהה הפרויקט.
- MODEL_ID: המזהה של משאב המודל.
- PROJECT_NUMBER: מספר הפרויקט שנוצר באופן אוטומטי.
- EVALUATION_ID: המזהה של הערכת המודל (מופיע בתגובה).
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Java API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Node.js API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
הצגת כל פלחי ההערכה
השיטה projects.locations.models.evaluations.slices.list מציגה את כל פרוסות ההערכה של המודל. צריך לדעת את מזהה ההערכה של המודל. אפשר לקבל אותו כשמציגים את מדדי ההערכה המצטברים.
אפשר להשתמש בפרוסות של הערכת המודל כדי לקבוע את הביצועים של המודל לגבי תווית ספציפית. בשדה value מצוינת התווית שאליה מתייחסים המדדים.
Vertex AI מחזיר מערך של מדדי מהימנות. בכל רכיב מוצגים מדדי הערכה עם ערך confidenceThreshold שונה (החל מ-0 ועד 1). כשמציגים ערכי סף שונים, אפשר לראות איך ערך הסף משפיע על מדדים אחרים כמו דיוק וזיכרון.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: האזור שבו נמצא המודל. לדוגמה:
us-central1. - PROJECT: .
- MODEL_ID: מזהה המודל.
- EVALUATION_ID: המזהה של הערכת המודל שמכילה את פרוסות ההערכה שרוצים להציג.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Java API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Node.js API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
קבלת מדדים עבור פלח יחיד
כדי לראות את מדדי ההערכה של פרוסה אחת, משתמשים בשיטה projects.locations.models.evaluations.slices.get. צריך להזין את מזהה הפלח, שמופיע כשמציגים את כל הפלחים. הדוגמה הבאה רלוונטית לכל סוגי הנתונים ולכל היעדים.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: האזור שבו נמצא המודל. לדוגמה, us-central1.
- PROJECT: .
- MODEL_ID: מזהה המודל.
- EVALUATION_ID: המזהה של הערכת המודל שמכילה את פרוסת ההערכה שרוצים לאחזר.
- SLICE_ID: המזהה של פרוסת הערכה שרוצים לקבל.
- PROJECT_NUMBER: מספר הפרויקט שנוצר באופן אוטומטי.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: השם של קובץ סכימה שמגדיר את מדדי ההערכה שיוחזרו, כמו
classification_metrics_1.0.0.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Java API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Node.js API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
ביצוע איטרציות על המודל
מדדי הערכת המודל מספקים נקודת התחלה לניפוי באגים במודל אם הוא לא עומד בציפיות שלכם. לדוגמה, ציוני דיוק וזיכרון נמוכים יכולים להצביע על כך שהמודל צריך נתוני אימון נוספים או שיש לו תוויות לא עקביות. דיוק ורגישות מושלמים יכולים להצביע על כך שקל מדי לחזות את נתוני הבדיקה, ושהמודל לא יוכל להכליל את התוצאות בצורה טובה.
אפשר לחזור על תהליך אימון הנתונים וליצור מודל חדש. אחרי שיוצרים מודל חדש, אפשר להשוות בין מדדי ההערכה של המודל הקיים לבין המודל החדש.
ההצעות הבאות יכולות לעזור לכם לשפר מודלים שמסווגים פריטים, כמו מודלים של סיווג או זיהוי:
- כדאי להוסיף עוד דוגמאות או מגוון רחב יותר של דוגמאות לנתוני האימון. לדוגמה, במודל לסיווג תמונות, אפשר לכלול תמונות עם זווית רחבה יותר, תמונות ברזולוציה גבוהה או נמוכה יותר או תמונות מנקודות מבט שונות. הנחיות נוספות זמינות במאמר בנושא הכנת נתונים.
- כדאי להסיר מחלקות או תוויות שאין להן הרבה דוגמאות. דוגמאות לא מספיקות מונעות מהמודל לבצע חיזויים לגבי הסיווגים או התוויות האלה באופן עקבי ובביטחון.
- מכונות לא יכולות לפרש את השם של הכיתות או התוויות, והן לא מבינות את ההבדלים הדקים ביניהן, כמו 'דלת' ו'דלת_עם_ידית'. כדי לעזור למכונות לזהות ניואנסים כאלה, צריך לספק להן נתונים.
- כדי לצמצם את הבלבול במודל, כדאי להוסיף לנתונים עוד דוגמאות של חיוביים אמיתיים ושליליים אמיתיים, במיוחד דוגמאות שקרובות לגבול ההחלטה.
- מציינים את חלוקת הנתונים (אימון, אימות ובדיקה). Vertex AI מקצה פריטים באופן אקראי לכל קבוצה. לכן, יכול להיות שפריטים כמעט זהים יוקצו לקבוצות האימון ולקבוצת נתונים לתיקוף, מה שעלול להוביל להתאמת יתר (overfitting) ואז לביצועים נמוכים בקבוצת נתונים לבדיקה. מידע נוסף על הגדרת פיצול נתונים זמין במאמר מידע על פיצולי נתונים למודלים של AutoML.
- אם מדדי ההערכה של המודל כוללים מטריצת בלבול, תוכלו לראות אם המודל מבלבל בין שתי תוויות, כלומר אם המודל חוזה תוויות מסוימות באופן משמעותי יותר מהתווית האמיתית. בודקים את הנתונים ומוודאים שהדוגמאות מסומנות בצורה נכונה.
- אם תקופת האימון הייתה קצרה (מספר שעות הצומת המקסימלי היה נמוך), יכול להיות שתקבלו מודל באיכות גבוהה יותר אם תאפשרו לו להתאמן במשך תקופה ארוכה יותר (מספר שעות הצומת המקסימלי יהיה גבוה יותר).