הגדרת מדדי ההערכה

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

סקירה כללית

אפשר להשתמש במודלים של AI גנרטיבי כדי ליצור אפליקציות למגוון רחב של משימות, כמו סיכום של מאמרי חדשות, מענה לפניות של לקוחות או סיוע בכתיבת קוד. שירות ההערכה של AI גנרטיבי ב-Gemini Enterprise Agent Platform מאפשר לכם להעריך כל מודל באמצעות מדדים שניתן להסביר.

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

  • קריטריונים: מימד אחד או כמה מימדים שרוצים להעריך, כמו conciseness, relevance, correctness או appropriate choice of words.

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

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

  • מדדים מבוססי-מודל: המדדים מבוססי-המודל שלנו מעריכים את המודל המועמד בהשוואה למודל שופט. מודל השופט ברוב תרחישי השימוש הוא Gemini, אבל אפשר להשתמש גם במודלים כמו MetricX או COMET בתרחישי שימוש של תרגום.

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

    • מדדים נקודתיים: מאפשרים למודל השופט להעריך את הפלט של מודל המועמד על סמך קריטריוני ההערכה. לדוגמה, הציון יכול להיות 0 עד 5, כאשר 0 מציין שהתשובה לא עומדת בקריטריונים, ו-5 מציין שהתשובה עומדת בקריטריונים בצורה טובה.

    • מדדים להשוואה בין זוגות: מאפשרים למודל השופט להשוות בין התשובות של שני מודלים ולבחור את התשובה הטובה יותר. הפונקציה הזו משמשת לעיתים קרובות להשוואה בין מודל מועמד לבין מודל בסיסי. מדדים להשוואה בין זוגות נתמכים רק כשמשתמשים ב-Gemini כמודל שופט.

  • מדדים מבוססי-חישוב: המדדים האלה מחושבים באמצעות נוסחאות מתמטיות כדי להשוות את הפלט של המודל לנתוני אמת או להפניה. מדדים נפוצים שמבוססים על חישובים כוללים את ROUGE ו-BLEU.

אפשר להשתמש במדדים מבוססי-חישוב באופן עצמאי או יחד עם מדדים מבוססי-מודל. הטבלה הבאה תעזור לכם להחליט מתי להשתמש במדדים מבוססי-מודל ומתי במדדים מבוססי-חישוב:

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

כדי להתחיל, כדאי לעיין במאמרים הכנת מערך הנתונים והפעלת הערכה.

הגדרת מדדים שמבוססים על מודל

הערכה מבוססת-מודל כוללת שימוש במודל למידת מכונה כמודל שופט להערכת התפוקות של המודל המועמד.

מודלים קנייניים של Google, כמו Gemini, מכוילים על ידי בודקים אנושיים כדי להבטיח את האיכות שלהם. הם מנוהלים וזמינים מחוץ לקופסה. תהליך ההערכה מבוסס-המודל משתנה בהתאם למדדי ההערכה שאתם מספקים.

התהליך של הערכה מבוססת-מודל הוא כזה:

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

  2. הערכה: מדדי ההערכה והתשובות שנוצרו נשלחים למודל השופט. מודל השופט מעריך כל תגובה בנפרד ומספק הערכה מבוססת-שורה.

  3. צבירה והסבר: שירות ההערכה של AI גנרטיבי צובר את ההערכות האישיות האלה לציון כולל. הפלט כולל גם הסברים של שרשרת המחשבות לכל שיפוט, עם פירוט של ההיגיון מאחורי הבחירה.

שירות ההערכה של AI גנרטיבי מציע את האפשרויות הבאות להגדרת מדדים מבוססי-מודל באמצעות Vertex AI SDK:

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

לדוגמה, יכול להיות שתרצו לפתח אפליקציית AI גנרטיבי שמחזירה תשובות שוטפות ומשעשעות. באפליקציה הזו, אפשר להגדיר שני קריטריונים להערכה באמצעות ממשק התבנית:

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

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

כדי להפוך את שני הקריטריונים האלה למדד, צריך ציון כולל בטווח של ‎-1 ~ 1 שנקרא custom_text_quality. אפשר להגדיר מדד באופן הבא:

# Define a pointwise metric with two criteria: Fluency and Entertaining.
custom_text_quality = PointwiseMetric(
    metric="custom_text_quality",
    metric_prompt_template=PointwiseMetricPromptTemplate(
        criteria={
            "fluency": (
                "Sentences flow smoothly and are easy to read, avoiding awkward"
                " phrasing or run-on sentences. Ideas and sentences connect"
                " logically, using transitions effectively where needed."
            ),
            "entertaining": (
                "Short, amusing text that incorporates emojis, exclamations and"
                " questions to convey quick and spontaneous communication and"
                " diversion."
            ),
        },
        rating_rubric={
            "1": "The response performs well on both criteria.",
            "0": "The response is somewhat aligned with both criteria",
            "-1": "The response falls short on both criteria",
        },
    ),
)

רשימה מלאה של תבניות הנחיות למדדים מופיעה במאמר תבניות הנחיות למדדים לצורך הערכה.

הערכת מודלים של תרגום

שירות ההערכה של AI גנרטיבי מציע את מדדי ההערכה הבאים למשימות תרגום:

‫MetricX ו-COMET הם מדדים מבוססי-מודל נקודתיים שאומנו למשימות תרגום. אתם יכולים להעריך את האיכות והדיוק של התוצאות של מודל התרגום עבור התוכן שלכם, בין אם מדובר בפלט של NMT,‏ TranslationLLM או מודלים של Gemini.

אתם יכולים גם להשתמש ב-Gemini כמודל שופט כדי להעריך את המודל שלכם מבחינת רהיטות, קוהרנטיות, מילוליות ואיכות הטקסט בשילוב עם MetricX, ‏ COMET או BLEU.

  • ‫MetricX הוא מדד מבוסס-שגיאות שפותח על ידי Google. הוא חוזה ציון נקודה צפה בין 0 ל-25 שמייצג את איכות התרגום. המדד MetricX זמין גם כשיטה מבוססת-הפניה וגם כשיטה ללא הפניה (QE). כשמשתמשים במדד הזה, ציון נמוך יותר הוא ציון טוב יותר, כי הוא מצביע על פחות שגיאות.

  • ‫COMET משתמש בגישת רגרסיה מבוססת-הפניה שמספקת ציונים בטווח שבין 0 ל-1, כאשר 1 מציין תרגום מושלם.

  • ‫BLEU (Bilingual Evaluation Understudy) הוא מדד מבוסס-חישוב. ציון ה-BLEU מציין את מידת הדמיון בין הטקסט של המועמד לבין טקסט ההפניה. ערך BLEU קרוב יותר ל-1 מציין שהתרגום קרוב יותר לטקסט ההפניה.

שימו לב: לא מומלץ להשתמש בציוני BLEU להשוואה בין קורפוסים ושפות שונים. לדוגמה, ציון BLEU של 50 בתרגום מאנגלית לגרמנית לא ניתן להשוואה לציון BLEU של 50 בתרגום מיפנית לאנגלית. מומחים רבים בתרגום עברו לשימוש בגישות מבוססות-מודל למדדים, שיש להן מתאם גבוה יותר עם דירוגים של בני אדם והן יותר גרנולריות בזיהוי תרחישי שגיאה.

במאמר הערכת מודל תרגום מוסבר איך להריץ הערכות של מודלים לתרגום.

בחירה בין הערכה נקודתית להערכה זוגית

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

הגדרה מתי משתמשים תרחישים לדוגמה
הערכה נקודתית הערכת מודל אחד ויצירת ציונים על סמך הקריטריונים
  • כשצריך ציון לכל מודל שנבדק.
  • כשלא קשה להגדיר את קריטריון ההערכה לכל ציון.
  • הבנה של אופן הפעולה של המודל בסביבת הייצור.
  • הכרת החוזקות והחולשות של מודל יחיד.
  • זיהוי ההתנהגויות שכדאי להתמקד בהן כשמבצעים שינויים.
  • קבלת ביצועי הבסיס של מודל.
הערכה בזוגות להשוות בין שני מודלים ולתת העדפה על סמך הקריטריונים
  • כשרוצים להשוות בין שני מודלים ולא צריך ציון.
  • כשקשה להגדיר את קריטריון הניקוד של pointwise. לדוגמה, יכול להיות שיהיה קשה להגדיר את הקריטריונים לציון 1 עד 5 לאיכות הטקסט, אבל לא קשה להשוות בין שני מודלים ולהפיק העדפה ישירות.
  • קביעה של המודל שיוכנס לייצור.
  • בוחרים בין סוגי מודלים. לדוגמה, Gemini-Pro לעומת Claude 3.
  • לבחור בין הנחיות שונות.
  • המדיניות קובעת אם כוונון שיפר מודל בסיסי.

מדדים מבוססי-חישוב

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

  • מדדים מבוססי-לקסיקון: משתמשים במתמטיקה כדי לחשב את הדמיון בין מחרוזות של תוצאות שנוצרו על ידי מודל שפה גדול (LLM) לבין נתוני אמת, כמו Exact Match ו-ROUGE.
  • מדדים שמבוססים על ספירה: צבירה של מספר השורות שמתאימות לתוויות מסוימות של נתוני אמת, כמו F1-score, ‏ Accuracy ו-Tool Name Match, או שלא מתאימות להן.
  • מדדים מבוססי-הטמעה: חישוב המרחק בין התוצאות שנוצרו על ידי מודל שפה גדול (LLM) לבין נתוני האמת במרחב ההטמעה, שמשקף את רמת הדמיון ביניהם.

יצירת טקסט כללי

המדדים הבאים עוזרים להעריך את היכולת של המודל להבטיח שהתשובות יהיו שימושיות, בטוחות ויעילות למשתמשים.

התאמה מדויקת

המדד exact_match מחשב אם התשובה של המודל תואמת בדיוק להפניה.

  • מגבלת טוקנים: אין

קריטריוני הערכה

לא רלוונטי.

פרמטרים של קלט למדדים

פרמטר קלט תיאור
response תשובת ה-LLM.
reference תשובת ה-LLM המושלמת לעיון.

ציונים של פלט

ערך תיאור
0 לא נמצאה התאמה
1 התאמה

BLEU

מדד bleu (BiLingual Evaluation Understudy) מכיל את התוצאה של אלגוריתם להערכת איכות התגובה, שתורגמה משפה טבעית אחת לשפה טבעית אחרת. איכות התשובה נמדדת לפי ההתאמה בין פרמטר response לפרמטר reference.

  • מגבלת טוקנים: אין

קריטריוני הערכה

לא רלוונטי.

פרמטרים של קלט למדדים

פרמטר קלט תיאור
response תשובת ה-LLM.
reference תשובת ה-LLM המושלמת לקובץ העזר.

ציונים של פלט

ערך תיאור
מספר עשרוני בטווח [0,1] ציונים גבוהים יותר מצביעים על תרגומים טובים יותר. הניקוד 1 מייצג התאמה מושלמת לreference.

ROUGE

המדד ROUGE משמש להשוואה בין הפרמטר response לבין הפרמטר reference. כל המדדים של rouge מחזירים את ציון F1. ‫rouge-l-sum מחושב כברירת מחדל, אבל אפשר לציין את rougeהווריאציה שבה רוצים להשתמש.

  • מגבלת טוקנים: אין

קריטריוני הערכה

לא רלוונטי

פרמטרים של קלט למדדים

פרמטר קלט תיאור
response תשובת ה-LLM.
reference תשובת ה-LLM המושלמת לקובץ העזר.

ציונים של פלט

ערך תיאור
מספר עשרוני בטווח [0,1] ציון שקרוב יותר ל-0 מצביע על דמיון נמוך בין response לבין reference. ציון שקרוב יותר ל-1 מצביע על דמיון חזק בין response ל-reference.

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

המדדים הבאים עוזרים להעריך את היכולת של המודל לחזות קריאה (פונקציה) תקפה לכלי.

השיחה תקינה

המדד tool_call_valid מתאר את היכולת של המודל לחזות קריאה תקינה לכלי. המערכת בודקת רק את הקריאה הראשונה לכלי.

  • מגבלת טוקנים: אין

קריטריוני הערכה

קריטריון להערכה תיאור
תוקף הפלט של המודל מכיל קריאה תקינה לכלי.
עיצוב מילון JSON מכיל את השדות name ו-arguments.

פרמטרים של קלט למדדים

פרמטר קלט תיאור
response הפלט של המודל המועמד, שהוא מחרוזת מסוג JSON שעברה סריאליזציה ומכילה את המפתחות content ו-tool_calls. הערך content הוא פלט הטקסט מהמודל. הערך tool_calls הוא מחרוזת JSON שעברה סריאליזציה של רשימת קריאות לכלים. לדוגמה:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference התחזית המדויקת להשוואה, שמוצגת באותו פורמט כמו response.

ציונים של פלט

ערך תיאור
0 קריאה לא תקינה לכלי
1 קריאה תקינה לכלי

התאמה לשם

המדד tool_name_match מתאר את היכולת של המודל לחזות קריאה לכלי עם שם הכלי הנכון. רק הקריאה הראשונה לכלי נבדקת.

  • מגבלת טוקנים: אין

קריטריוני הערכה

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

פרמטרים של קלט למדדים

פרמטר קלט תיאור
prediction הפלט של המודל המועמד, שהוא מחרוזת מסוג JSON שעברה סריאליזציה ומכילה את המפתחות content ו-tool_calls. הערך content הוא פלט הטקסט מהמודל. הערך tool_call הוא מחרוזת JSON שעברה סריאליזציה של רשימת קריאות לכלים. לדוגמה:

{"content": "","tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference התחזית המדויקת להשוואה, שמוצגת באותו פורמט כמו prediction.

ציונים של פלט

ערך תיאור
0 שם הקריאה לכלי לא תואם להפניה.
1 השם של קריאת הכלי תואם להפניה.

התאמה למפתח פרמטר

מדד tool_parameter_key_match מתאר את היכולת של המודל לחזות קריאה לכלי עם שמות הפרמטרים הנכונים.

  • מגבלת טוקנים: אין

קריטריוני הערכה

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

פרמטרים של קלט למדדים

פרמטר קלט תיאור
prediction הפלט של המודל המועמד, שהוא מחרוזת בפורמט JSON שמכילה את המפתחות content ו-tool_calls. הערך content הוא פלט הטקסט מהמודל. הערך tool_call הוא מחרוזת JSON שעברה סריאליזציה של רשימת קריאות לכלים. לדוגמה:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference התחזית של מודל ההפניה של נתוני האמת, שמופיעה באותו פורמט כמו prediction.

ציונים של פלט

ערך תיאור
מספר עשרוני בטווח [0,1] הציון הגבוה יותר של 1 מצביע על כך שיש יותר פרמטרים שתואמים לשמות הפרמטרים של reference.

התאמה של זוגות מפתח/ערך של פרמטרים

מדד tool_parameter_kv_match מתאר את היכולת של המודל לחזות קריאה לכלי עם שמות הפרמטרים וערכי המפתח הנכונים.

  • מגבלת טוקנים: אין

קריטריוני הערכה

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

פרמטרים של קלט למדדים

פרמטר קלט תיאור
prediction הפלט של המודל המועמד, שהוא מחרוזת מסוג JSON שעברה סריאליזציה ומכילה את המפתחות content ו-tool_calls. הערך content הוא פלט הטקסט מהמודל. הערך tool_call הוא מחרוזת JSON שעברה סריאליזציה של רשימת קריאות לכלים. לדוגמה:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference התחזית המדויקת להשוואה, שמוצגת באותו פורמט כמו prediction.

ציונים של פלט

ערך תיאור
מספר עשרוני בטווח [0,1] הציון הגבוה יותר של 1 מציין שיש יותר פרמטרים שתואמים לשמות ולערכים של הפרמטרים reference.

בשירות ההערכה של AI גנרטיבי, אפשר להשתמש במדדים מבוססי-חישוב באמצעות Agent Platform SDK ל-Python.

איכות בסיסית של הערכה למשימות גנרטיביות

כשמעריכים את הפלט של מודלים של AI גנרטיבי, חשוב לזכור שתהליך ההערכה הוא סובייקטיבי, ואיכות ההערכה יכולה להשתנות בהתאם למשימה הספציפית ולקריטריוני ההערכה. הסובייקטיביות הזו רלוונטית גם לבודקים אנושיים. למידע נוסף על האתגרים בהשגת הערכה עקבית של מודלים של AI גנרטיבי, אפשר לעיין במאמרים Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena ו-Learning to summarize from human feedback.

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