רווחים:
- הגדרת מדדים המודדים שמירה ואיכות ייצור בנפרד
- הגדר ערכת שאלות זהב והפעל הערכה אוטומטית עם LLM-as-judge
- שמירה על איכות באמצעות משוב, ניטור ובדיקות רגרסיה בייצור
המשפט "התקנתי את העוזר, נראה שהוא עובד בסדר" אינו אמירה הנדסית. מערכות RAG מתקלקלות בשקט: סוג מסמך חדש מטעה את השליפה, שינוי מיידי מפחית את הדיוק, האינדקס הופך מיושן. הדרך היחידה להבין זאת היא למדוד. ביחידה זו אנו מכסים כיצד למדוד איכות RAG (שליפה והפקה בנפרד), הערכה אוטומטית (LLM-as-judge) ושמירה על איכות בייצור (ניטור, רגרסיה). "אתה לא יכול לשפר את מה שאתה לא מודד" הוא המוטו של יחידה זו.
למדוד שני דברים נפרדים
ל-RAG יש שתי רגליים ויש למדוד אותו בנפרד מכיוון שהבעיה עשויה להיות באחת מהן:
- איכות השליפה: האם הגיע החלק הנכון?
- איכות דור: האם התשובה הנכונה הופקה מהיצירה הנכנסת?
אם התשובה היא גרועה, אתה צריך לדעת איזו רגל גרועה קודם. אם החלק הנכון לעולם לא מגיע, אפילו ההנחיה הטובה ביותר לא יכולה לשמור (בעיית אחזור). אם החלק הנכון הגיע אך הדגם קרא אותו לא נכון, שיפור השליפה הוא חסר תועלת (בעיית דור).
מדדי אחזור
השליפה היא בעיית מיון/גישה; נמדד על ידי מדדי אחזור מידע קלאסיים. בשביל זה אתה חייב לקבל את אשכול הזהב: הידיעה איזו יצירה "נכונה" לכל שאלה.
מדד
איזה אמצעים
הגדרה פשוטה
Recall@k
האם החתיכה הנכונה ב-k העליון?
קצב לכידת חלק נכון
precision@k
כמה מ-k חלקים שהוחזרו רלוונטיים?
ניקוי של מה שמביאים
MRR (דירוג הדדי ממוצע)
באיזה סדר היצירה הנכונה?
תגמול להיות בדרגים הגבוהים ביותר
שיעור פגיעה
האם הגיעה לפחות חתיכה אחת נכונה?
המדד הבסיסי ביותר להצלחה
הערה מעשית: אם Recall@k נמוך, יש לעבד מחדש את אסטרטגיית החתכים או החיפוש (היברידית, k, דירוג מחדש). אם הדיוק נמוך אך ההחזרה גבוהה, הוספת דירוג מחדש היא מהלך טוב.
מדדי דור
כאשר החלק הנכון מגיע, אנו מודדים את איכות התגובה שמפיק הדגם. שלושה ממדים בסיסיים:
- נאמנות: האם כל טענה בתשובה נתמכת בהקשר? האם יש התאמה כלשהי? זהו מדד ישיר להזיה.
- רלוונטיות התשובה: האם התשובה אכן עונה על השאלה או שהיא לא קשורה לנושא?
- שלמות: האם נעשה שימוש בכל המידע הרלוונטי בהקשר או שחסר?
אלה מקבלים ציונים על בסיס מדורג (למשל 1-5), במקום בינארי כמו "נכון/לא נכון".
טיפ: עקוב אחר נאמנות כמדד נפרד. אם הנאמנות פוחתת ככל שהדיוק פוחת, הבעיה היא דור; אם הנאמנות גבוהה אבל התשובה שגויה, הבעיה היא החתיכה הלא נכונה (שליפה). יחד, שני המדדים הללו הם מצפן המראה את מיקום התקלה.
הקמת ערכת שאלות זהב
כל מדידה דורשת סט מוזהב / מערך הערכה: שאלות מציאותיות + תשובות נכונות צפויות + חלקי מקור נכונים. החל מ-30-50 שאלות שנבחרו היטב עדיף על 500 שאלות אקראיות. כלול את הדברים הבאים בסט: שאלות נפוצות אמיתיות, שאלות קשות ידועות, שאלות מלכודות ללא תשובות (יש לומר "אני לא יודע"), שאלות עם מקורות סותרים.
# דוגמה לאשכול הזהב (רעיונית)[ {"question": "כמה ימי חופשה שנתית?", "expected_answer": "14 ימים עבור 1-5 שנות ותק", "correct_part_id": "two-part-3", "category": "leave"}, {"question": "Where is the company" "trap NO_FORMATION", "expectedIN": "ExpectedIN" של החברה? אני לא יודע "correct_part_id": null, "category": "trap"}]
LLM-as-Judge: הערכה אוטומטית
ציון של מאות תשובות ביד זה מעייף. מודל LLM-as-judge הוא כאשר מודל אחד קולע ומצדיק את התשובה של מודל אחר על סמך קריטריונים מסוימים. הנחיה טובה של שופטת מגדירה בבירור את הקריטריונים, נותנת דוגמאות ומבקשת הצדקה.
# בקשת LLM-as-judge (רעיונית) אתה מעריך חסר פניות. הערך את התשובה להלן לפי ההקשר הנתון והתשובה הצפויה. ציון (1-5) ונמק:- נאמנות: האם כל טענה בתשובה נתמכת בהקשר?- דיוק: האם התשובה תואמת את התשובה הצפויה?- שלמות: האם המידע הרלוונטי שלם? במיוחד: אם התשובה מכילה מידע שאינו בהקשר, תן נאמנות1 וציין איזו טענה מומצאת. CONTEXT: {context}צפוי: {צפוי}תשובה: {answer}פלט: {נאמנות, דיוק, שלמות, הצדקה}
זהירות: LLM-as-judge אינו מושלם; ייתכן שיש להם הטיות משלהם (תשובה ארוכה, העדפת סגנון משלהם). ודא גם את השופט: קבל כמה תשובות הן על ידי השופט והן על ידי האדם ומדוד את ההסכמה ביניהם. אם שופט עולה בקנה אחד עם ציונים אנושיים, אתה יכול לסמוך עליו.
דירוג חלש/חזק
חלש ("זה היה טוב בשבילי"):
שאלתי כמה שאלות והתשובות נראו טובות. יש לי את זה בשידור חי. # בעיה: אין מדידות, רגרסיה בלתי מורגשת, שיפור עיוור.
רב עוצמה (אשכול זהב + מדדים בדידים + שיפוט אוטומטי + רגרסיה):
אשכול זהב של 40 שאלות. עם כל שינוי, recall@5, נאמנות ודיוק נמדדים באופן אוטומטי. אם הניקוד יורד, השינוי יוחזר. בהפקה נאסף משוב של משתמשים ומתווסף לסט.
ניטור ורגרסיה בייצור
הערכה לא נעשית פעם אחת ומסתיימת. שלושה תרגולים קבועים:
- בדיקת רגרסיה: הפעלה אוטומטית של אשכול זהב בכל הנחיה/שליפה/שינוי דגם. אם הציון מופחת, השינוי מתהפך. זה מונע "לשבור אותו תוך כדי ניסיון לשפר אותו".
- ניטור הפקה: קצב "לא הצלחתי למצוא מידע" בשאלות אמיתיות, עיכוב ממוצע, עלות, משוב משתמשים (👍/👎) מנוטרים. עלייה פתאומית ב"אני לא יודע" היא לרוב הסימן הראשון לתקלה באינדקס או בשליפה.
- לולאת משוב: השאלות האמיתיות שמספק המשתמש 👎 נבדקות ומתווספות לערימת הזהב; כך, הסט נעשה עשיר יותר עם הזמן והנקודות העיוורות של המערכת נסגרות.
שלושה מיני מארזים
מקרה 1 - רגרסיה שקטה. צוות שינה את ההנחיה כדי "לשפר" אותה; הדיוק הכללי עלה, אך הנאמנות ירדה ב-30% בשאלות המלכודות (המודל התחיל להתאים יותר). זה לא היה מורגש אלמלא שאלות המלכודות באשכול הזהב; בדיקת רגרסיה שינתה את השינוי.
מקרה 2 - יישור רגל לא נכונה. באחד העוזרים התשובות היו גרועות; הצוות עבד על ההנחיה במשך שבועות. כאשר מדדנו את מדדי השליפה, recall@5 היה רק 48% - הבעיה הייתה באחזור, לא בדור. כאשר הוסיפו דירוג היברידי + מחדש, הריקול עלה ל-89% והדיוק עלה גם כן.
מקרה 3 - התראת ייצור. יום אחד, שיעור "לא הצלחתי למצוא מידע" עבור עוזר תמיכה זינק מ-6% ל-34%. משטח העקיבה הזהיר; הסיבה הייתה שעבודת האינדקס, שפועלת בלילה, נכשלה בשקט ומאמרים חדשים לא הועלו. ללא מעקב, אמירות "אני לא יודע" שגויות היו נמשכות במשך ימים.
טעויות נפוצות
- להיות מרוצה מ"זה עבד לי טוב": ללא מדידה, הרגרסיה לא מורגשת.
- לא להפריד בין שליפה לדור: תתקן את הרגל הלא נכונה ותבזבז זמן.
- לא שואל שאלות מלכודות: הנטייה להמציא דברים לא מופיעה באשכול הזהב.
- לא מאמת שופט: חבר מושבעים מוטה נותן אמון כוזב.
- אי מעקב אחר ייצור: כשל באינדקס, פיצוץ עלויות נמשך בשקט.
לסיכום
- ב-RAG, איכות השליפה והייצור נמדדות בנפרד; יש לקבוע תחילה איזו רגל פגומה.
- recall@k, precision@k, MRR לאחזור; נאמנות, התאמה, שלמות משמשים לדור.
- כל מדידה דורשת אשכול זהב; שימו בו שאלות אמיתיות, קשות, מלכודות וסותרות.
- LLM-as-judge קבוצות גדולות ציונים אוטומטיים; אבל השופט עצמו חייב להיות מוצדק נגד האדם.
- בדיקות רגרסיה, ניטור ייצור ולולאת משוב שומרים על איכות לאורך זמן.
משימת יישום
(1) צור סט מוזהב של לפחות 15 שאלות עבור העוזר שלך: כלול לפחות 3 מלכודות (ללא תשובות), 3 שאלות קשות, 2 שאלות מקור סותרות. כתבו את התשובה הצפויה ואת החלק הנכון לכל שאלה. (2) השווה ידנית שתי גרסאות בקשות שונות עם קבוצה זו; תנו לכל תשובה 1-5 נקודות עבור נאמנות ודיוק. (3) התאם את הוראת ה-LLM-as-judge לעיל לקריטריונים שלך. (4) זהה 3 מדדים שתעקוב אחריהם בייצור ועבור כל שאל "באיזה סף אני מזעיק?" לכתוב את הערך.
רשימת בדיקה
- [ ] אני יכול למדוד שמירה ואיכות ייצור עם מדדים נפרדים.
- [ ] אני יודע מה המשמעות של מדדים כמו recall@k, נאמנות.
- [ ] אני יכול לבנות אשכול זהב שכולל שאלות אמיתיות, קשות, מלכודות וסותרות.
- [ ] אני יכול להגדיר הערכה אוטומטית ולאמת את השופט עם LLM-as-judge.
- [ ] אני יכול להפעיל בדיקות רגרסיה, ניטור ייצור ולולאת משוב.