PromptRobust (benchmark) (HE)

From Systems analysis Wiki
Jump to navigation Jump to search

PromptRobust (המכונה גם PromptBench) — הוא benchmark מקיף להערכת עמידות מודלי שפה גדולים (LLM) בפני שינויים אדברסריאליים בבקשה — עיוותים קלים בניסוח המשימה שאינם משנים את משמעותה[1][2]. ה-benchmark פותח בשנת 2023 על ידי קבוצת חוקרים (Kaijie Zhu ואחרים) מ-Microsoft Research Asia[1]. הופעתו של PromptRobust נובעת מהתצפית שמודלי שפה גדולים מודרניים רגישים לפרטי הניסוח: אפילו שינויים קלים (כגון שגיאות כתיב או ניסוח מחדש) עשויים להשפיע באופן ניכר על תשובות המודלים[2]. ה-benchmark נועד למדוד כמותית פגיעות זו ולתרום לפיתוח שיטות אמינות יותר לאינטראקציה עם מודלי שפה גדולים.

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

במסגרת מחקר PromptBench גובש קורפוס של 4788 הנחיות (פרומפטים) משונות, השומרות על משמעות המשימות המקוריות[3]. הנחיות אדברסריאליות אלו נוצרו בארבעה רמות של מורכבות השינויים[1]:

  • רמת תווים: הכנסת שגיאות כתיב, החלפה או הזזת תווים (מחקה שגיאות קלט אקראיות).
  • רמת מילים: החלפת מילים מסוימות במילים נרדפות, הכנסת מילים "רועשות" או שינויים לקסיקליים קלים אחרים.
  • רמת משפטים: ניסוח מחדש של מבנה משפטים, הוספה או הזזת חלקי פסוקית ללא שינוי הנושא הכולל.
  • רמה סמנטית: ניסוח מחדש מעמיק יותר של הבקשה תוך שמירה על המשימה (לדוגמה, ניסוחים חלופיים של אותה שאלה)[1].

מטרת ה"התקפות" הללו היא לבחון כיצד סטיות קלות (כגון שגיאות כתיב אקראיות או שימוש בניסוחים נרדפים) משפיעות על יכולת המודל לבצע נכונה את המשימה, כאשר המשימה עצמה לא השתנתה[1]. כל הנחיה אדברסריאלית שנוצרה הופעלה על מספר משימות NLP סטנדרטיות, כולל ניתוח סנטימנט, זיהוי תקינות דקדוקית, חיפוש משפטים כפולים, הסקה לוגית (NLI), קריאה והבנה, תרגום אוטומטי ופתרון בעיות מתמטיות[1]. לניסויים נבחרו 8 סוגי משימות שונים על 13 dataset-ים — מסדרות GLUE הקלאסיות (לדוגמה, SST-2 לניתוח סנטימנט, MNLI ל-NLI) ועד מבחנים מתמטיים ומרובי-שפות מתמחים[1].

חשוב לציין כי נבדקה העמידות של פורמטים שונים של prompt[1]:

  • בקשות ישירות ללא דוגמאות (zero-shot, הוראה בלבד).
  • בקשות עם מספר דוגמאות (few-shot, כאשר ההנחיה כוללת דוגמאות לפתרון).
  • הנחיות תפקידיות (in-context roles, לדוגמה, "אתה מערכת לניתוח סנטימנט, קבע...").
  • הנחיות המתארות את המשימה (task-oriented, תיאור ישיר של המשימה)[1].

כמו כן נבדקו מודלי שפה גדולים שונים — החל מ-Flan-T5-large הקטנה יחסית ומודל UL2 ועד ChatGPT ו-GPT-4 המתקדמות, וכן מודלים פתוחים ממשפחת LLaMA 2 ו-Vicuna הנגזרת מהם[1]. ליצירת ההתקפות שימשו שיטות קיימות מתחום NLP אדברסריאלי (כגון TextBugger, DeepWordBug, TextFooler ואחרות), שהותאמו לשינוי הנחיות במקום נתוני קלט[1]. נכונות ההנחיות ה"מעוותות" שהתקבלו נבדקה בשיטות אוטומטיות וידניות; לפי הדיווח, לא פחות מ-85% מהווריאציות האדברסריאליות שומרות על סמנטיקה נכונה ומובנות לאדם[1]. כך, השפעת ההתקפות משקפת דווקא כשלים של המודל בהבנת המשימה המנוסחת מחדש, ולא אובדן משמעות המשימה עצמה.

תוצאות ומסקנות

הניסויים הראו שמודלי שפה גדולים מודרניים אינם עמידים דיים בפני שינויים קלים בניסוח הבקשה[3]. עבור כל המודלים שנבדקו נצפתה ירידה משמעותית באיכות התשובות תחת השפעת ההתקפות שנוצרו[3]. בפרט, אפילו מקרים פשוטים — כגון שגיאת כתיב בטקסט בעיה מתמטית או החלפת מילת מפתח אחת במילה נרדפת לה — גרמו למודל לתת תוצאה שגויה, למרות שללא עיוות הוא הצליח לענות נכון[1]. המסקנה הכללית של המחברים: "מודלי שפה גדולים מודרניים אינם רובוסטיים (עמידים) בפני הנחיות אדברסריאליות"[3], כלומר סטיות קלות ב-phrasing עשויות לבלבל אותם באופן שיטתי.

בניתוח סוגי ההתקפות השונים התברר שהשפעה המזיקה ביותר על פעולת מודלי שפה גדולים היא שינויים ברמת המילים[2]. החלפת מילים במילים נרדפות או עיוות מורפולוגי קל הביאו לירידה הגדולה ביותר באיכות — בממוצע ~33% ביחס לתוצאה המקורית על אותן משימות[2]. התקפות ברמת תווים (שגיאות כתיב, תווים אקראיים) גרמו בממוצע לירידה של ~20% בדיוק[2]. שינוי איכותי או הוספת משפטים שלמים ל-prompt, לעומת זאת, הייתה בעלת השפעה חלשה הרבה יותר ולמעשה לא הכשילה את המודל[1]. ניסוחים מחדש סמנטיים (פרפראזה מעמיקה של הבקשה בדרך אחרת) היו דומים בנזקיות לשגיאות כתיב פשוטות[1]. עובדות אלו מדגישות שמודלי שפה גדולים פגיעים במיוחד לשינויים לקסיקליים עדינים ולשגיאות במילות מפתח[1]. ראוי לציין שעיוותים דקדוקיים (שגיאות כתיב) ניתנים תיאורטית לסינון בכלי בדיקת איות סטנדרטיים, בעוד ששינויים ברמת המילים והמשמעות דורשים מהמודל הבנה סמנטית מפותחת, שלעיתים חסרה למודלים הנוכחיים[1].

ניתוח הביצועים של מודלים שונים הראה פיזור משמעותי ברובוסטיות שלהם[1]. GPT-4 ו-UL2 הפגינו את העמידות הטובה ביותר בפני הנחיות אדברסריאליות[1]. מעט פחות פגיעים לכשלים נמצאו גם מודל Flan-T5-large ומודל הדיאלוג ChatGPT[1]. מודלי משפחת LLaMA 2 תפסו עמדת ביניים, בעוד ש-Vicuna (13B) בלטה כהפגיעה ביותר לכל סוגי ההתקפות[1]. מעניין ש-גודל המודל לא היה גורם מכריע ברובוסטיות[1]: T5-large הקטנה יחסית לא נפלה כמעט מ-ChatGPT הגדולה הרבה יותר מבחינת יציבות התשובות[1]. המחברים סבורים שתפקיד מפתח ממלאים שיטות האימון וה-fine-tuning של המודלים, ולא רק הגודל[1]. כך, UL2 ו-T5-large עברו אימון מקדים מורחב על קורפוסי נתונים גדולים, וChatGPT אומנה בלמידה מחיזוק מהמשוב האנושי (RLHF), מה שעשוי לחזק את עמידותן[1]. לעומת זאת, Vicuna אומנה על מערך נתונים מוגבל יחסית (כעתק פתוח), מה שעשוי להסביר את רגישותה הגבוהה לשינויי ניסוח[1]. תוצאות אלו מצביעות על כך ששיפור שיטות fine-tuning עשוי להגביר את אמינות המודלים יותר מאשר הגדלת הגודל שלהם בלבד.

השפעת פורמט ה-prompt

אופן הצגת הבקשה משפיע אף הוא על אמינות התשובה[1]. נמצא כי הנחיות עם דוגמאות (few-shot) מגבירות משמעותית את עמידות המודל בהשוואה להוראות חד-שלביות ללא דוגמאות (zero-shot)[1]. נוכחות מספר דוגמאות הדגמה של המשימה ב-prompt מסייעת למודל לפרש את המשימה נכון יותר גם בנוכחות שינויים רועשים. הנחיות תפקידיות ותיאוריות (task-oriented) הפגינו רמת עמידות דומה בכלל, אם כי יעילותן השתנתה ממשימה למשימה[1]. לדוגמה, בנתוני ניתוח סנטימנט וזיהוי משפטים כפולים הפורמט התפקידי היה מעט אמין יותר, בעוד שבמשימות קריאה והבנה ותרגום הוראות מפורשות של המשימה הצליחו יותר[1]. תצפיות אלו יכולות לשמש הנחיה בעיצוב prompt-ים: הוספת דוגמאות מפורטות והקשר תפקידי מפחיתה את הסיכוי לטעות מצד המודל בניסוחים לא סטנדרטיים.

העברת התקפות בין מודלים

העברה (טרנספר) של התקפות בין מודלים התבררה כמוגבלת[1]. הנחיות אדברסריאליות שנועדו במיוחד נגד מודל אחד אינן תמיד יעילות באותה מידה נגד מודל אחר[1]. כך, צוין שprompt-ים "מלכודת" שנוצרו עבור פגיעויות ChatGPT השפיעו הרבה פחות על GPT-4[1]. האחרון הסתדר טוב יותר, ככל הנראה כיוון שההתקפות לא הועברו ישירות לארכיטקטורה שלו — מה שמבלבל מודל אחד עשוי שלא לפעול על מודל מתקדם יותר עם הכשרה שונה[1]. עם זאת, חלק מסוגי העיוותים הפשוטים (כגון שגיאות כתיב) השפיעו לרעה על מספר מודלים בו-זמנית, מה שמעיד על נקודות תורפה דומות בבסיס הלשוני שלהם.

המלצות מעשיות

במהלך עבודת PromptBench זוהו גם המלצות מעשיות למשתמשים ומפתחי מודלי שפה גדולים[2]. מסקנה פשוטה: יציבות הניסוח חשובה[2]. יש להימנע משגיאות כתיב וניסוחים רשלניים בבקשה[2]. המחברים מראים שתיקון אפילו שגיאות קלות (איות, אותיות גדולות אקראיות, רווחים מיותרים) עשוי להגביר משמעותית את אמינות תשובת המודל[2]. בנוסף, בחירת המילים בהוראה משפיעה על עמידותה[2]. ניתוח תדירות המונחים ב-prompt-ים עמידים לעומת פגיעים גילה שמילים מסוימות מופיעות לעיתים קרובות יותר ב-prompt-ים "אמינים", ואחרות — באלה שבהם המודל נכשל[2]. לדוגמה, הנחיות המכילות מילים כגון "acting", "provided", "detection" וכדומה הובילו לכשלים פחות תכופים, בעוד שמילים כגון "respond", "following" או "examine" הופיעו במקרים בעייתיים יותר[2]. הדבר מצביע על כך שסגנון ולקסיקון מסוים של בקשות עשויים להפחית או להגביר פגיעויות של המודל. בסך הכל מומלץ לנסח את הבקשה בבהירות ובחד-משמעות מרבית ובמונחים המוכרים למודל, במיוחד ליישומים קריטיים[2].

תופעת לוואי מעניינת שצוינה על ידי החוקרים היא השפעת הוספת קטעי טקסט חסרי משמעות או לא רלוונטיים לבקשה[2]. התברר כי הוספת רצף אקראי של תווים (לדוגמה, "LKF0FZxMZ4") בסוף או באמצע ה-prompt עלולה להסיח את תשומת לב המודל ולהפחית את דיוק תשובתו[2]. מצד שני, הוספת ביטוי ניטרלי אך תקין דקדוקית (לדוגמה, "and true is true") שיפרה במקרים מסוימים דווקא את התשובה, כאילו מיקדה את המודל על החלקים המשמעותיים של השאלה[2]. תופעה זו מדגישה עד כמה מודלי שפה גדולים מגיבים בצורה בלתי צפויה לפרטי קלט שנראים חסרי חשיבות. היא גם מעידה על מורכבות המבנה הפנימי של המודלים: שינויים זעירים בהקשר עשויים לפגוע או לשפר את פעולתם, בהתאם לאופן שבו מתחלק תשומת הלב של המודל.

חשיבות ופיתוח נוסף

PromptRobust/PromptBench תרם תרומה משמעותית להבנת אמינות מודלי שפה גדולים[2]. ה-benchmark המוצע והנתונים שנאספו פתוחים לקהילה: הקוד ומערכי ההנחיות האדברסריאליות זמינים במאגר[1]. הדבר מאפשר לחוקרים אחרים לבדוק מודלים חדשים על עמידותם בפני וריאציות בקשות ולהשוות תוצאות[1]. הצעד הבא הוא פיתוח שיטות הגנה למודלים מפני התקפות כאלה — לדוגמה, אלגוריתמי אימון משופרים המביאים בחשבון שגיאות כתיב ופרפראזות אפשריות, או מערכות נרמול מובנות לקלט[2]. PromptBench כבר נחשב לבסיס למחקרים כאלה לשיפור הרובוסטיות (robustness) של מודלי שפה כלפי נתוני קלט לא מדויקים מהעולם האמיתי[2].

בסופו של דבר, עבודתם של Zhu וקולגותיו מדגימה את חשיבות התחשבות בעמידות בפני prompt-ים בעת הטמעת מודלי שפה גדולים ביישומים מעשיים: המודלים צריכים לא רק להפגין דיוק גבוה על נתונים "נקיים", אלא גם לשמור על תקינות בפני סטיות קלות בקלט, בין אם מדובר בשגיאות מקריות של המשתמש ובין אם בהתקפות מכוונות[2][4].

קישורים

  • המאמר המקורי של PromptBench (arXiv)
  • מאגר PromptBench ב-GitHub
  • המאמר "Prompt Robustness: How to Measure and How to Enhance" (Towards AI)

ספרות

  • Liang, P. et al. (2022). Holistic Evaluation of Language Models (HELM). arXiv:2211.09110.
  • Chang, Y. et al. (2023). A Survey on Evaluation of Large Language Models. arXiv:2307.03109.
  • Ni, S. et al. (2025). A Survey on Large Language Model Benchmarks. arXiv:2508.15361.
  • Biderman, S. et al. (2024). The Language Model Evaluation Harness (lm-eval): Guidance and Lessons Learned. arXiv:2405.14782.
  • Kiela, D. et al. (2021). Dynabench: Rethinking Benchmarking in NLP. arXiv:2104.14337.
  • Ma, Z. et al. (2021). Dynaboard: An Evaluation‑As‑A‑Service Platform for Holistic Next‑Generation Benchmarking. arXiv:2106.06052.
  • Goel, K. et al. (2021). Robustness Gym: Unifying the NLP Evaluation Landscape. arXiv:2101.04840.
  • Xu, C. et al. (2024). Benchmark Data Contamination of Large Language Models: A Survey. arXiv:2406.04244.
  • Liu, S. et al. (2025). A Comprehensive Survey on Safety Evaluation of LLMs. arXiv:2506.11094.
  • Chiang, W.-L. et al. (2024). Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. arXiv:2403.04132.
  • Boubdir, M. et al. (2023). Elo Uncovered: Robustness and Best Practices in Language Model Evaluation. arXiv:2311.17295.
  • Huang, L. et al. (2023). A Survey on Hallucination in Large Language Models. arXiv:2311.05232.

הערות

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 «PromptBench: Towards Evaluating the Robustness of Large Language Models on Adversarial Prompts». arXiv. [1]
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 «Prompt Robustness: How to Measure and How to Enhance». Towards AI. [2]
  3. 3.0 3.1 3.2 3.3 «PromptRobust: Towards Evaluating the Robustness of Large Language Models on Adversarial Prompts». arXiv. [3]
  4. «Realer Toxicity Prompts (RTP-2.0): Multilingual and Adversarial Prompts for Evaluating Neural Toxic Degeneration in Large Language Models». Language Technologies Institute - School of Computer Science - Carnegie Mellon University. [4]