Auto-Evolve: Enhancing Large Language Model's Performance via Self-Reasoning Framework
<|reference_start|>Auto-Evolve: Enhancing Large Language Model's Performance via Self-Reasoning Framework: Recent advancements in prompt engineering strategies, such as Chain-of-Thought (CoT) and Self-Discover, have demonstrated significant potential in improving the reasoning abilities of Large Language Models (LLMs). However, these state-of-the-art (SOTA) prompting strategies rely on single or fixed set of static seed reasoning modules like \emph{"think step by step"} or \emph{"break down this problem"} intended to simulate human approach to problem-solving. This constraint limits the flexibility of models in tackling diverse problems effectively. In this paper, we introduce Auto-Evolve, a novel framework that enables LLMs to self-create dynamic reasoning modules and downstream action plan, resulting in significant improvements over current SOTA methods. We evaluate Auto-Evolve on the challenging BigBench-Hard (BBH) dataset with Claude 2.0, Claude 3 Sonnet, Mistral Large, and GPT 4, where it consistently outperforms the SOTA prompt strategies. Auto-Evolve outperforms CoT by up to 10.4\% and on an average by 7\% across these four models. Our framework introduces two innovations: a) Auto-Evolve dynamically generates reasoning modules for each task while aligning with human reasoning paradigm, thus eliminating the need for predefined templates. b) We introduce an iterative refinement component, that incrementally refines instruction guidance for LLMs and helps boost performance by average 2.8\% compared to doing it in a single step.<|reference_end|>
@article{aswani2024auto-evolve:,
    title={Auto-Evolve: Enhancing Large Language Model's Performance via
  Self-Reasoning Framework},
    author={Krishna Aswani, Huilin Lu, Pranav Patankar, Priya Dhalwani, Iris Tan,
  Jayant Ganeshmohan, Simon Lacasse},
    journal={arXiv preprint arXiv:2410.06328},
    year={2024},
    archivePrefix={arXiv},
    eprint={2410.06328},
    primaryClass={cs.CL cs.AI cs.LG}
}