Self-Polish: Enhance Reasoning in Large Language Models via Problem Refinement
Zhiheng Xi, Senjie Jin, Yuhao Zhou, Rui Zheng, Songyang Gao, Tao Gui, Qi Zhang, Xuanjing Huang
TL;DR
The paper addresses the bottleneck of multi-step reasoning in large language models by shifting focus from reasoning side to problem formulation. It introduces Self-Polish, a problem-refinement prompting framework with zero-shot, in-context, automatic, and complexity-based variants, plus a progressively refining framework that iterates until convergence. Across five benchmarks and multiple models, SP yields consistent improvements and enhances robustness, and it is shown to be complementary (orthogonal) to existing reasoning-side prompting methods. The work demonstrates that refining the input problem can substantially ease subsequent reasoning, offering a practical, training-free augmentation to current prompting strategies and a foundation for future exploration of problem-centric reasoning enhancements.
Abstract
To enhance the multi-step reasoning capabilities of large language models, researchers have extensively explored prompting methods, notably the Chain-of-Thought (CoT) method which explicitly elicits human-like rationales. However, they have inadvertently overlooked the potential of enhancing model reasoning performance by formulating higher-quality problems. In this work, we start from the problem side and propose Self-Polish (SP), a novel method that facilitates the model's reasoning by guiding it to progressively refine the given problems to be more comprehensible and solvable. We also explore several automatic prompting varients and propose the Self-Polish prompt bank for the community. SP is orthogonal to all other prompting methods of answer/reasoning side like CoT, allowing for seamless integration with state-of-the-art techniques for further improvement. Thorough experiments show that the proposed method attains notable and consistent effectiveness on five reasoning benchmarks across different models. Furthermore, our method also showcases impressive performance on robustness evaluation. Codes and prompts are available at https://github.com/WooooDyy/Self-Polish.
