תאריך פרסום: 30 באוקטובר 2024
פיתוח תכונות באמצעות מודלים גדולים של שפה (LLM) שונה מאוד מהנדסת תוכנה רגילה. המפתחים צריכים ללמוד איך להתמודד עם תוצאות לא דטרמיניסטיות, קלט לפני עיבוד ותוצאות לאחר עיבוד.
אחד האתגרים ששיתפתם איתנו הוא שבדיקה של הפלט ממודלים של LLM, וקביעת התוקף והאיכות שלו, דורשים זמן רב. מפתחים נוטים לעתים קרובות ליצור את הפלט ברצף באמצעות מקורות קלט שונים, ולאחר מכן לאמת אותם באופן ידני באמצעות שיקול דעת אנושי.
גישה גמישה יותר להערכת התוצאות של מודלים והנחיות שונים היא השיטה LLM בתור שופט. בשיטה הזו, במקום להסתמך על שיקול דעת אנושי, אימות המודל מופקד בידי LLM אחר. ה-LLM השני חייב להיות LLM גדול יותר שמבוסס על ענן, ויש לו סיכוי גבוה יותר ליכולות חשיבה טובות יותר.
במסמך הזה נשתמש בסיכום כדי להדגים איך אפשר להשוות בין מודלים שונים, וכבונוס, תוכלו להראות את השיפור באיכות גבוהה מ-Gemma ל-Gemma 2.
בחירת מודלים להשוואה והכנת נתונים
בדקנו את היכולות של שלושה מודלים ביצירת סיכומים. השווינו בין התוצאות של שני מודלים פתוחים של Google שיכולים לפעול בצד הלקוח, Gemma ו-Gemma 2, בגודל של 2 מיליארד פרמטרים. לעומת זאת, בדקנו גם מודל גדול יותר שמבוסס על ענן ויש לו יכולות מתקדמות יותר: Gemini 1.5 Flash.
השתמשנו במערך נתונים של 2,225 מאמרים של BBC, שמכסים תחומים כמו עסקים, בידור, פוליטיקה, ספורט וטכנולוגיה, ויצרנו סיכום של כל מאמר באמצעות כל אחד מהמודלים שנבחרו. השתמשנו באותה הנחיה בכל הדגמים:
כותבים סיכום של המאמר בפסקה אחת.
אחסנו את המאמרים המקוריים ואת הסיכומים במסד נתונים כדי שיהיה קל לגשת אליהם בכל שלב.
בחירת שופט כדי לנתח אותו ולתת ציונים לסיכומים
כדי לנתח את איכות הסיכומים, השתמשנו ב-Gemini 1.5 Flash כדי לשפוט את הסיכומים שנוצרו על ידי Gemma 2B ו-Gemma 2 2B. הגישה הספציפית שלנו מבוססת על התאמה, שהיא חלק ממדד הסיכום של DeepEval.
יישור הוא מדד שמודד את התדירות שבה ההצהרות שכלולות בסיכום נתמכות בתוכן המקורי שעליו מבוסס הסיכום.
פיצלנו את תהליך ההערכה לשני שלבים. קודם כל, הנחינו את המודל לפצל כל סיכום למשפטים נפרדים. לאחר מכן, ביקשנו מהמודל לקבוע אם כל טענה נתמכת בטקסט המקורי של הכתבה.
חילוץ טענות נכונות מסיכומים
ביקשנו מ-Gemini 1.5 Flash לפצל טקסט ארוך יותר למשפטים נפרדים. לדוגמה:
שחקן ההגנה של אברטון, דייוויד וייר, ביטל את האפשרות של הקבוצה להשתתף בכדורגל האירופי, למרות שהיא נמצאת במקום השני בפרמייר ליג אחרי שהביסה את ליברפול.
מערכת Gemini 1.5 Flash מפצלת את המשפט הזה לטענות הבאות:
- "דייוויד וויר מגן על אוורטון".
- "אברטון נמצא כרגע במקום השני בליגה הראשית".
- "Everton beat Liverpool in a recent match"
- "דייוויד וייר צמצם את הדיון על השתתפות אברטון בכדורגל האירופי".
אימות הצהרות
לאחר מכן ביקשנו מ-Gemini 1.5 Flash לנתח את המשפט המקורי, בהשוואה למשפטים המפוצלים. המודל סיווג את התוקף של כל טענה בתור:
- כן: ההצהרה נתמכת בטקסט המקורי.
- לא. ההצהרה סותרת את הטקסט המקורי.
- Idk. אי אפשר לאמת אם ההצהרה נתמכת או אם היא מנוגדת לטקסט המקורי.
ניתוח התוצאות
התהליך הזה הניב שני מדדים שאפשר להשתמש בהם כדי להשוות בין המודלים:
- יישור: באיזו תדירות המודל הפיק סיכומים שמכילים הצהרות שנתמכות על ידי הטקסט המקורי.
- עשירות: המספר הממוצע של הצהרות שמופיעות בסיכום שנוצר על ידי המודל.
יישור
כדי לחשב את ההתאמה, אנחנו סופרים את מספר הסיכומים שמכילים לפחות הצהרה אחת שסומנה בתווית 'לא' ומחלקת אותה במספר הסיכומים הכולל.
מודל Gemini 1.5 Flash מניב את ציוני ההתאמה הגבוהים ביותר, מעל 92%. כלומר, הוא טוב מאוד להיצמד לעובדות ולהימנע מלהמציא דברים.
הציון של Gemma 2 2B הוא 78.64%, מה שמעיד על רמת דיוק טובה. לעומת זאת, לגרסה הקודמת של Gemma 2B יש ציון התאמה נמוך יותר, כלומר יש לה סיכוי גבוה יותר לכלול מידע שלא נתמך בטקסט המקורי.
עושר
כדי לחשב את עושר המודל, חישבנו את הממוצע של מספר ההצהרות שהמודל יצר לכל סיכום.
ציון העושר הגבוה ביותר הוא 9.1 ב-Gemma 2 2B, מה שמציין שהסיכומים כוללים יותר פרטים ונקודות עיקריות. גם למודל Gemini 1.5 Flash יש ציונים גבוהים של עושר תוכן, מעל 8.4. ל-Gemma 2B היו ציונים נמוכים יותר של עושר, מה שמצביע על כך שהיא לא תצליח לתעד את כל המידע החשוב מהטקסט המקורי.
סיכום
הגענו למסקנה שמודלים קטנים יותר שאפשר להריץ בצד הלקוח, כמו Gemma 2 2B, יכולים ליצור פלט באיכות מעולה. מודלים מבוססי-ענן, כמו Gemini 1.5 Flash, מצטיינים ביצירת סיכומים שתואמים למאמר המקורי ומכילים כמות גדולה של מידע. עם זאת, צריך לשקול את ההבדל הזה לצד ביצועי האפליקציה, הצרכים שלכם בתחום הפרטיות והאבטחה ושאלות אחרות שיכולות לעזור לכם להחליט אם כדאי ליצור AI בצד הלקוח.
יש התפתחות ברורה ביכולות של משפחת המודלים של Gemma, כי Gemma 2 2B יכולה ליצור סיכומים עשירים יותר ומתאימים יותר מאשר ב-Gemma 2B.
בדיקת תרחישים לדוגמה
המסמך הזה הוא רק קצה הקרחון של מה שאפשר לעשות עם LLM כטכניקה לשיפוט. גם אחרי סיכום, אפשר להציג מדדים נוספים והתוצאות עשויות להיות שונות. לדוגמה, אפשר להשתמש בהנחיה כדי לזהות נקודות מפתח במאמר, ואז להשתמש בהנחיה אחרת כדי לאמת אם כל הנקודות האלה מופיעות בכל סיכום.
בתרחישי שימוש אחרים, כמו כתיבת טקסט, כתיבת טקסט מחדש או יצירה משופרת של אחזור (RAG), יכול להיות שתקבלו תוצאות שונות לאותו מדד, או שתצטרכו להשתמש במדדים אחרים לצורך הערכה.
כשאתם מטמיעים את הגישה הזו, נסו לחשוב איך אנשים יעריכו את הפלט כדי לקבוע אילו מדדים הכי מתאימים לתרחישים לדוגמה שלכם. כדאי גם לבדוק מסגרות קיימות, כמו DeepEval, שכבר יש בהן קבוצה של מדדים שמתאימים לתרחיש לדוגמה שלכם.
האם הטמעתם LLM בתור שופט להערכת מודלים? אתם יכולים לשלוח לנו את הממצאים שלכם בטוויטר @ChromiumDev או לשתף אותם בקבוצה Chrome למפתחים ב-LinkedIn.