Self-Refine Prompting (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

Self-Refine (samoupřesnění nebo samokorekce) — je přístup v oblasti prompt inženýrství, který umožňuje velkým jazykovým modelům (LLM) iterativně zlepšovat vygenerovanou odpověď na základě vlastní zpětné vazby[1]. Myšlenka byla navržena skupinou výzkumníků pod vedením Amana Madaana v roce 2023 a vychází z pozorování, že podobně jako člověk ani jazykové modely vždy negenerují nejlepší výsledek na první pokus.

V této metodě plní jedna a tatáž LLM postupně tři role:

  1. Generátor (Generator): vytváří počáteční hrubou odpověď na dotaz.
  2. Kritik (Feedback): hodnotí vlastní odpověď a poskytuje konstruktivní zpětnou vazbu.
  3. Editor (Refiner): využívá tuto zpětnou vazbu k vytvoření vylepšené verze odpovědi.

Tento iterativní cyklus „generování → zpětná vazba → zlepšení" se může opakovat několikrát, dokud není dosaženo požadované kvality nebo splněna podmínka zastavení.

Důležité je, že Self-Refine nevyžaduje dodatečné trénování modelu, fine-tuning ani externí data — celý proces je řízen výhradně prostřednictvím promptů ve fázi inference[1].

Mechanismus implementace

Metoda Self-Refine je realizována prostřednictvím sekvence speciálně zkonstruovaných promptů, které řídí chování modelu.

  1. Počáteční generování. Model obdrží výchozí prompt a vygeneruje hrubou odpověď.
  2. Vytvoření zpětné vazby. Model obdrží instrukci, aby analyzoval svou předchozí odpověď a identifikoval v ní nedostatky. Může například poznamenat, že odpověď není dostatečně podrobná nebo obsahuje logickou chybu. Výsledkem je textová zpětná vazba s konkrétními připomínkami a doporučeními.
  3. Iterativní zlepšování. Model obdrží jako nový prompt původní dotaz, svou počáteční odpověď a vygenerovanou zpětnou vazbu. Na jejich základě vytvoří vylepšenou verzi odpovědi.

Tento dvoustupňový cyklus „kritika → revize" může být proveden několikrát. Do kontextu každé nové iterace jsou zahrnuty předchozí varianty odpovědí a komentáře, což modelu pomáhá vyhýbat se opakování chyb[2]. Pro řízení chování modelu se často používají techniky few-shot prompting, kdy jsou do promptu zahrnuty příklady požadovaného formátu zpětné vazby a oprav.

Efektivita a využití

Metoda Self-Refine prokázala svou efektivitu na řadě úloh vyžadujících opakované upřesňování, jako jsou:

  • Generování dialogových odpovědí.
  • Tvůrčí pokračování příběhu.
  • Řešení matematických úloh metodou postupného uvažování.
  • Optimalizace zdrojového kódu.

V originálním výzkumu byly odpovědi získané pomocí Self-Refine v průměru o ~20 % více preferovány podle hodnocení lidí i automatických metrik ve srovnání s jednokrokovým generováním[1]. Zlepšení bylo dosaženo i u nejmodernějších modelů, jako je GPT-4, což naznačuje, že i výkonným LLM často chybí pouze jeden dodatečný krok uvažování k opravě vlastních chyb.

Podobné přístupy, jako je RCI (Recursive Criticism and Improvement), také prokázaly vysokou efektivitu v interaktivních úlohách, například při ovládání počítače a řešení logických úloh. Kombinace RCI s technikou „řetězce myšlenek" (Chain-of-Thought) přinesla synergický efekt a výrazně zlepšila schopnost modelu řešit složité problémy díky zabudovanému kroku ověření[3].

Omezení a aktuální výzkum

Navzdory slibným výsledkům výzkumy ukazují, že iterativní samozdokonalování má řadu omezení.

  • Vlastní zaujatost (self-bias): Modely mají obtíže nestranně hodnotit vlastní odpovědi. LLM mají tendenci příznivě vnímat vlastní vygenerovaný text a nedostatečně ho kriticky posuzovat, což může vést ke stagnaci nebo dokonce ke zhoršení kvality po několika iteracích[4].
  • Přílišná sebejistota: Bylo pozorováno, že s rostoucím počtem iterací samokorekce může model nabývat přílišné sebejistoty ve svých odpovědích, i když se nestaly přesnějšími. To vede k růstu hodnoty Expected Calibration Error (ECE) — nesouladu mezi sebejistotou modelu a skutečnou přesností[5].
  • Výpočetní náklady: Metoda vyžaduje několik volání LLM pro získání jedné výsledné odpovědi, což výrazně zvyšuje latenci a náklady ve srovnání s jednokrokovým generováním.

Aktuální výzkum se zaměřuje na řešení těchto problémů. Jedním ze směrů je zavedení mechanismů kalibrace sebejistoty v každém kroku iterace. Dalším je zapojení externích zdrojů informací nebo nástrojů (například spuštění kódu, vyhledávání dat) pro objektivnější sebehodnocení[6].

Srovnání s dalšími technikami

  • Chain-of-Thought (CoT): CoT se zaměřuje na generování lineárního řetězce uvažování vedoucího k odpovědi. Self-Refine se naproti tomu zaměřuje na iterativní zlepšování již vygenerované odpovědi (která může obsahovat CoT).
  • Tree of Thoughts (ToT): ToT prozkoumává mnoho paralelních cest uvažování ve formě stromu, zatímco Self-Refine zlepšuje jednu cestu iterativně. ToT je technika průzkumu prostoru řešení, zatímco Self-Refine je technika optimalizace konkrétního řešení.

Odkazy

  • Oficiální stránky projektu Self-Refine
  • Původní vědecký článek „Self-Refine: Iterative Refinement with Self-Feedback"

Literatura

  • 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.

Poznámky

  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]