Ragas או DeepEval: אותו ציון אמינות לא מודד את אותו הכשל

|כותב: מערכת QUASA|6 דק׳ קריאה
Ragas או DeepEval: אותו ציון אמינות לא מודד את אותו הכשל

אם הבעיה המרכזית היא להבין אם מערכת RAG מצאה את הקטע הנכון והאם התשובה נשענת עליו, Ragas נותנת מדדי אחזור ונאמנות מפורטים. אם הדרישה המרכזית היא לעצור רגרסיה לפני פריסה, DeepEval מציעה הרצת בדיקות דרך pytest ו־CI. בשתיהן אפשר לקבל ציון Faithfulness, אבל אין להעתיק ביניהן סף מעבר: הגדרת Ragas דורשת תמיכה של ההקשר בכל טענה, ואילו הגדרת DeepEval במצב שיפוט LLM מחשיבה טענה לנכונה אם אינה סותרת עובדות בהקשר.

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

מפת הכשלים: אחזור, דירוג ותשובה

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

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

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

למה ציון Faithfulness דומה עלול להטעות

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

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

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

ערכת אמת בעברית שמבדילה בין הכשלים

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

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

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

שער CI צריך לבחון רגרסיה מוגדרת

תיעוד ה־CI של DeepEval מתאר טעינת מקרי אמת, שימוש ב־assert_test והרצה באמצעות deepeval test run כחלק מתהליך בדיקות. כאשר מדד אינו עומד בסף, הבדיקה יכולה להיכשל ולחסום את השינוי. זה מסלול נוח במיוחד לשאלות שבהן טעות לאחר עדכון באחזור, בפרומפט או במאגר תיחשב לרגרסיה מוצרית ברורה.

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

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

עלות השופט: מדגם במקום כל בקשה

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

לשם המחשה חשבונית בלבד, נניח מערכת עם 100,000 בקשות בתקופה נתונה. דגימה של 2% תשלח 2,000 מקרים להערכה; שני מדדים לכל מקרה ייצרו 4,000 הרצות מדד. אם עלות ממוצעת שנמדדה לצורך הדוגמה היא 0.002 דולר להרצה, אומדן המדגם הוא 8 דולרים, לעומת 400 דולרים להערכת כל הבקשות באותם תנאים. אלה הנחות תרגיל, לא מחיר שפורסם לספרייה או לספק מודל כלשהו.

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

מה אומר מבחן הכלים החיצוני

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

שיתוף:

הירשמו לניוזלטר שלנו

קבלו את החדשות האחרונות על Web3, ‏AI וקריפטו ישירות לתיבת הדואר.

0