Self-Refine Prompting (NL)

From Systems analysis Wiki
Jump to navigation Jump to search

Self-Refine (zelfverfijning of zelfcorrectie) — een aanpak binnen prompt engineering waarmee grote taalmodellen (LLM) een gegenereerd antwoord iteratief kunnen verbeteren op basis van hun eigen feedback[1]. Het idee werd in 2023 voorgesteld door een groep onderzoekers onder leiding van Aman Madaan en is gebaseerd op de observatie dat taalmodellen, net als mensen, niet altijd het beste resultaat produceren bij de eerste poging.

Bij deze methode vervult één en hetzelfde LLM achtereenvolgens drie rollen:

  1. Generator (Generator): stelt een initieel concept-antwoord op de vraag op.
  2. Criticus (Feedback): beoordeelt het eigen antwoord en levert constructieve feedback.
  3. Redacteur (Refiner): gebruikt deze feedback om een verbeterde versie van het antwoord te maken.

Deze iteratieve cyclus "generatie → feedback → verbetering" kan meerdere keren worden herhaald totdat de vereiste kwaliteit is bereikt of aan een stopcriterium is voldaan.

Belangrijk is dat Self-Refine geen aanvullende modeltraining, fine-tuning of externe data vereist — het gehele proces wordt uitsluitend aangestuurd via prompts tijdens de inferentiefase (inference)[1].

Mechanisme van implementatie

De Self-Refine-methode wordt gerealiseerd via een reeks speciaal geconstrueerde prompts die het gedrag van het model sturen.

  1. Initiële generatie. Het model ontvangt de oorspronkelijke prompt en genereert een concept-antwoord.
  2. Genereren van feedback. Het model ontvangt de instructie om zijn eigen vorige antwoord te analyseren en de tekortkomingen ervan te identificeren. Het kan bijvoorbeeld opmerken dat het antwoord onvoldoende gedetailleerd is of een logische fout bevat. Het resultaat is tekstuele feedback met specifieke opmerkingen en aanbevelingen.
  3. Iteratieve verbetering. Het model ontvangt als nieuwe prompt de oorspronkelijke vraag, zijn eerste antwoord en de gegenereerde feedback. Op basis hiervan maakt het een verbeterde versie van het antwoord.

Deze tweestappencyclus "kritiek → revisie" kan meerdere keren worden uitgevoerd. In de context van elke nieuwe iteratie worden eerdere antwoordvarianten en opmerkingen opgenomen, wat het model helpt het herhalen van fouten te vermijden[2]. Voor het sturen van het modelgedrag worden vaak technieken van few-shot prompting gebruikt, waarbij voorbeelden van het gewenste feedbackformaat en correcties in de prompt worden opgenomen.

Effectiviteit en toepassingen

De Self-Refine-methode heeft zijn effectiviteit aangetoond bij een aantal taken die meervoudige verfijning vereisen, zoals:

  • Generatie van dialogische antwoorden.
  • Creatieve voortzetting van verhalen.
  • Oplossen van wiskundige problemen via stapsgewijze redenering.
  • Optimalisatie van programmacode.

In het originele onderzoek bleken antwoorden die met behulp van Self-Refine waren verkregen, gemiddeld ~20% meer de voorkeur te genieten volgens beoordelingen van mensen en automatische metrics, vergeleken met eenstaps-generatie[1]. Verbetering werd bereikt zelfs voor de meest geavanceerde modellen zoals GPT-4, wat erop wijst dat zelfs krachtige LLM's vaak slechts een extra reflectiestap nodig hebben om hun eigen fouten te corrigeren.

Vergelijkbare benaderingen, zoals RCI (Recursive Criticism and Improvement), hebben ook een hoge effectiviteit aangetoond bij interactieve taken, bijvoorbeeld bij computerbediening en het oplossen van logische problemen. De combinatie van RCI met de techniek van de "gedachteketen" (Chain-of-Thought) leverde een synergetisch effect op, waardoor het vermogen van het model om complexe problemen op te lossen merkbaar verbeterde dankzij een ingebouwde zelfcontrolestap[3].

Beperkingen en lopend onderzoek

Ondanks de veelbelovende resultaten tonen onderzoeken aan dat zelf-iteratieve verbetering een aantal beperkingen kent.

  • Zelfbias (self-bias): Modellen hebben moeite om hun eigen antwoorden onbevooroordeeld te beoordelen. LLM's zijn geneigd hun eigen gegenereerde tekst welwillend te beoordelen en deze onvoldoende kritisch te evalueren, wat kan leiden tot stagnatie of zelfs kwaliteitsvermindering na enkele iteraties[4].
  • Overmatig vertrouwen: Er is waargenomen dat naarmate het aantal zelfcorrectie-iteraties toeneemt, het model overmatig vertrouwen in zijn antwoorden kan ontwikkelen, zelfs als deze niet nauwkeuriger zijn geworden. Dit leidt tot een stijging van de Expected Calibration Error (ECE) — de discrepantie tussen het vertrouwen van het model en de werkelijke nauwkeurigheid[5].
  • Rekenkundige kosten: De methode vereist meerdere aanroepen van het LLM om één definitief antwoord te verkrijgen, wat de latentie en kosten aanzienlijk verhoogt in vergelijking met eenmalige generatie.

Huidig onderzoek is gericht op het aanpakken van deze problemen. Eén richting is het implementeren van mechanismen voor vertrouwenskalibratie bij elke iteratiestap. Een andere richting is het betrekken van externe informatiebronnen of hulpmiddelen (zoals code-uitvoering, gegevensopzoeking) voor een objectievere zelfevaluatie[6].

Vergelijking met andere technieken

  • Chain-of-Thought (CoT): CoT richt zich op het genereren van een lineaire redeneerketen om tot een antwoord te komen. Self-Refine richt zich daarentegen op de iteratieve verbetering van een reeds gegenereerd antwoord (dat CoT kan omvatten).
  • Tree of Thoughts (ToT): ToT verkent meerdere parallelle redeneerroutes in de vorm van een boom, terwijl Self-Refine één route iteratief verbetert. ToT is een techniek voor het verkennen van de oplossingsruimte, terwijl Self-Refine een techniek is voor het optimaliseren van een specifieke oplossing.

Verwijzingen

  • Officiële website van het Self-Refine-project
  • Origineel wetenschappelijk artikel "Self-Refine: Iterative Refinement with Self-Feedback"

Literatuur

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

Noten

  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]