Self-Refine Prompting (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Self-Refine (самоуточняване или самокорекция) — това е подход в областта на prompt engineering, който позволява на големите езикови модели (LLM) итеративно да подобряват генерирания отговор въз основа на собствената си обратна връзка[1]. Идеята е предложена от група изследователи под ръководството на Аман Мадаан през 2023 година и се основава на наблюдението, че подобно на човека, езиковите модели не винаги генерират най-добрия резултат от първия опит.

При този метод един и същ LLM последователно изпълнява три роли:

  1. Генератор (Generator): създава първоначален чернови отговор на заявката.
  2. Критик (Feedback): оценява собствения си отговор и предоставя конструктивна обратна връзка.
  3. Редактор (Refiner): използва тази обратна връзка, за да създаде подобрена версия на отговора.

Този итеративен цикъл „генерация → обратна връзка → подобрение" може да се повтаря няколко пъти, докато не бъде достигнато необходимото качество или не се изпълни условието за спиране.

Важно е, че Self-Refine не изисква допълнително обучение на модела, fine-tuning или външни данни — целият процес се управлява изключително чрез prompt-и на етапа на извод (inference)[1].

Механизъм на реализация

Методът Self-Refine се реализира чрез последователност от специално конструирани prompt-и, които насочват поведението на модела.

  1. Начална генерация. Моделът получава изходния prompt и генерира чернови отговор.
  2. Създаване на обратна връзка. Моделът получава инструкция да анализира собствения си предишен отговор и да открие недостатъците му. Например, той може да отбележи, че отговорът е недостатъчно подробен или съдържа логическа грешка. Резултатът е текстова обратна връзка с конкретни забележки и препоръки.
  3. Итеративно подобрение. Моделът получава като нов prompt изходната заявка, своя първоначален отговор и генерираната обратна връзка. Въз основа на това той създава подобрена версия на отговора.

Този двустъпков цикъл „критика → редакция" може да се изпълнява няколко пъти. В контекста на всяка нова итерация се включват предишните варианти на отговора и коментарите, което помага на модела да избягва повторението на грешките[2]. За управление на поведението на модела често се използват техники за few-shot prompting, при които в prompt-а се включват примери за желания формат на обратната връзка и корекциите.

Ефективност и приложение

Методът Self-Refine демонстрира своята ефективност при редица задачи, изискващи многократно уточняване, като:

  • Генериране на диалогови отговори.
  • Творческо продължение на история.
  • Решаване на математически задачи чрез стъпково разсъждение.
  • Оптимизация на програмен код.

В оригиналното изследване отговорите, получени с помощта на Self-Refine, средно са с ~20% по-предпочитани според оценките на хора и автоматични метрики в сравнение с еднократната генерация[1]. Подобрението се постига дори при най-съвременните модели, като GPT-4, което показва, че дори на мощните LLM често им липсва само допълнителна стъпка на размишление, за да коригират собствените си грешки.

Сходни подходи, като RCI (Recursive Criticism and Improvement), също демонстрират висока ефективност при интерактивни задачи, например при управление на компютър и решаване на логически задачи. Съчетаването на RCI с техниката „верига от мисли" (Chain-of-Thought) даде синергетичен ефект, като значително подобри способността на модела да решава сложни проблеми благодарение на вградената стъпка на самопроверка[3].

Ограничения и текущи изследвания

Независимо от обнадеждаващите успехи, изследванията показват, че само-итеративното подобрение има редица ограничения.

  • Само-пристрастност (self-bias): При моделите възниква затруднение да оценяват безпристрастно собствените си отговори. LLM са склонни да приемат благосклонно собствения си генериран текст и да го оценяват недостатъчно критично, което може да доведе до стагнация или дори влошаване на качеството след няколко итерации[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]