Self-Refine Prompting (HE)

From Systems analysis Wiki
Jump to navigation Jump to search

Self-Refine (שיפור עצמי או תיקון עצמי) — הוא גישה בתחום prompt engineering המאפשרת למודלי שפה גדולים (LLM) לשפר באופן איטרטיבי את התשובה שנוצרה על בסיס משוב עצמי[1]. הרעיון הוצע על ידי קבוצת חוקרים בהנהגת Aman Madaan בשנת 2023 ומבוסס על התצפית שבדומה לאדם, מודלי שפה אינם תמיד מייצרים את התוצאה הטובה ביותר בניסיון הראשון.

בשיטה זו, אותו LLM ממלא ברצף שלושה תפקידים:

  1. גנרטור (Generator): יוצר תשובת טיוטה ראשונית לבקשה.
  2. מבקר (Feedback): מעריך את תשובתו שלו ומספק משוב קונסטרוקטיבי.
  3. עורך (Refiner): משתמש במשוב זה כדי ליצור גרסה משופרת של התשובה.

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

חשוב לציין כי Self-Refine אינו מצריך אימון נוסף של המודל, כוונון עדין (fine-tuning) או נתונים חיצוניים — כל התהליך מנוהל אך ורק באמצעות prompts בשלב ה-inference[1].

מנגנון המימוש

שיטת Self-Refine מיושמת באמצעות רצף של prompts מתוכננים במיוחד המכוונים את התנהגות המודל.

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

מחזור דו-שלבי זה של «ביקורת ← עריכה» יכול להתבצע מספר פעמים. הקשר כל איטרציה חדשה כולל גרסאות תשובה קודמות והערות, מה שמסייע למודל להימנע מחזרה על טעויות[2]. לניהול התנהגות המודל נעשה שימוש לרוב בטכניקות של few-shot prompting, שבהן ה-prompt כולל דוגמאות לפורמט המשוב והתיקונים הרצויים.

יעילות ויישום

שיטת Self-Refine הוכיחה את יעילותה במספר משימות הדורשות עידון חוזר, כגון:

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

במחקר המקורי, תשובות שהתקבלו באמצעות Self-Refine היו בממוצע ~20% עדיפות יותר על פי הערכות אנשים ומדדים אוטומטיים בהשוואה ליצירה חד-שלבית[1]. השיפור הושג אפילו עבור המודלים המתקדמים ביותר כגון GPT-4, מה שמצביע על כך שגם LLMs חזקים זקוקים לעיתים קרובות רק לשלב חשיבה נוסף כדי לתקן את שגיאותיהם.

גישות דומות, כגון RCI (Recursive Criticism and Improvement), הראו גם הן יעילות גבוהה במשימות אינטראקטיביות, לדוגמה בשליטה על מחשב ופתרון בעיות לוגיות. שילוב RCI עם טכניקת «שרשרת המחשבות» (Chain-of-Thought) נתן אפקט סינרגטי ושיפר באופן ניכר את יכולת המודל לפתור בעיות מורכבות הודות לשלב אמות מידה מובנה[3].

מגבלות ומחקר עכשווי

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

  • הטיה עצמית (self-bias): מודלים מתקשים לשפוט את תשובותיהם שלהם באופן חסר פניות. LLMs נוטים להתייחס בחיוב לטקסט שהם עצמם יצרו ולהעריך אותו בצורה לא מספיק ביקורתית, דבר שעלול להוביל לקיפאון ואף להידרדרות באיכות לאחר מספר איטרציות[4].
  • ביטחון עצמי מופרז: נצפה כי עם עלייה במספר איטרציות התיקון העצמי, המודל עשוי לרכוש ביטחון עצמי מופרז בתשובותיו, אפילו אם לא נעשו מדויקות יותר. הדבר מוביל לעלייה במדד Expected Calibration Error (ECE) — אי-ההתאמה בין ביטחון המודל לדיוק האמיתי[5].
  • עלויות חישוביות: השיטה דורשת מספר פניות ל-LLM לקבלת תשובה סופית אחת, מה שמגדיל משמעותית את זמן ההמתנה ואת העלות בהשוואה ליצירה חד-מעברית.

מחקרים עכשוויים מכוונים לפתרון בעיות אלו. אחד הכיוונים הוא הטמעת מנגנוני כיול ביטחון בכל שלב של האיטרציה. כיוון אחר הוא מעורבות מקורות מידע חיצוניים או כלים (לדוגמה, הרצת קוד, חיפוש נתונים) להערכה עצמית אובייקטיבית יותר[6].

השוואה לטכניקות אחרות

  • Chain-of-Thought (CoT): CoT מתמקד בייצור שרשרת הסקה לינארית כדי להגיע לתשובה. Self-Refine, לעומת זאת, מתמקד בשיפור איטרטיבי של תשובה שכבר נוצרה (שיכולה לכלול CoT).
  • Tree of Thoughts (ToT): ToT חוקר מסלולי הסקה מקבילים מרובים בצורת עץ, בעוד ש-Self-Refine משפר מסלול יחיד באופן איטרטיבי. ToT היא טכניקת חקירת מרחב פתרונות, ואילו Self-Refine היא טכניקת אופטימיזציה של פתרון ספציפי.

קישורים חיצוניים

  • אתר הפרויקט הרשמי של Self-Refine
  • המאמר המדעי המקורי "Self-Refine: Iterative Refinement with Self-Feedback"

ביבליוגרפיה

  • Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
  • Kim, G. et al. (2023). Language Models Can Solve Computer Tasks. arXiv:2303.17491.
  • Gou, Z. et al. (2023). CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing. arXiv:2305.11738.
  • Huang, J. et al. (2023). Large Language Models Cannot Self-Correct Reasoning Yet. arXiv:2310.01798.
  • Pan, L. et al. (2023). Automatically Correcting Large Language Models: Surveying the Landscape of Diverse Self-Correction Strategies. arXiv:2308.03188.
  • Jiang, C. et al. (2024). Importance Weighting Can Help Large Language Models Self-Improve. arXiv:2408.09849.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Zhu, D. et al. (2025). Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models. arXiv:2504.02902.
  • Hao, Q. et al. (2025). RL of Thoughts: Navigating LLM Reasoning with Inference-time Reinforcement Learning. arXiv:2505.14140.
  • Cui, Y. et al. (2023). Check Your Facts and Try Again: Improving Large Language Models by Reducing Hallucination. arXiv:2302.12813.
  • Wei, Z. et al. (2024). ReSearch: Iterative Self-Reflection for Better LLM Calibration. arXiv:2405.13022.

הערות

  1. 1.0 1.1 1.2 Madaan, Aman; et al. «Self-Refine: Iterative Refinement with Self-Feedback». arXiv. [1]
  2. «Self-Refine: Iterative Refinement with Self-Feedback». Официальный сайт проекта. [2]
  3. Kim, Geunwoo; et al. «Language Models can Solve Computer Tasks». arXiv. [3]
  4. Huang, Jie; et al. «Large Language Models Cannot Self-Correct Reasoning Yet». arXiv. [4]
  5. Zhu, D., et al. (2025). «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [5]
  6. «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [6]