GRACE: Discriminator-Guided Chain-of-Thought Reasoning

Muhammad Khalifa, Lajanugen Logeswaran, Moontae Lee, Honglak Lee, Lu Wang
5/24/2023
cs.CLcs.AI

Official code: mukhal/GRACE (50 stars, last commit 2024-10-11).

Abstract

In the context of multi-step reasoning, e.g., with chain-of-thought, language models (LMs) can easily assign a high likelihood to incorrect steps. As a result, decoding strategies that optimize for solution likelihood often yield incorrect solutions. To address this issue, we propose Guiding chain-of-thought ReAsoning with a CorrectnEss Discriminator (GRACE), a stepwise decoding approach that steers the decoding process towards producing correct reasoning steps. GRACE employs a step-level verifier or discriminator trained with a contrastive loss over correct and incorrect steps, which is used during decoding to score next-step candidates based on their correctness. Importantly, GRACE only requires sampling from the LM, without the need for LM training or fine-tuning. Using models from FLAN-T5 and LLaMA families, we evaluate GRACE over four math and two symbolic reasoning tasks, where it exhibits substantial performance gains compared to greedy decoding, verifiers, and self-consistency in most settings. When further combined with self-consistency, GRACE outperforms all the baselines by sizeable margins. Human and LLM evaluations over GSM8K show that GRACE not only improves the final answer accuracy but also the correctness of the intermediate reasoning. Our implementation can be accessed at https://github.com/mukhal/grace.

View on arXivView PDF

Code Implementations(1)

mukhal/GRACEOfficial100%

[EMNLP '23] Discriminator-Guided Chain-of-Thought Reasoning

502C, C++May 24, 20232 years ago
chain-of-thoughtdecodinglanguage-modelllmmathematical-reasoning+4 more

Similar Papers

Cite this paper

@article{khalifa2023grace,
  title  = {GRACE: Discriminator-Guided Chain-of-Thought Reasoning},
  author = {Muhammad Khalifa and Lajanugen Logeswaran and Moontae Lee and Honglak Lee and Lu Wang},
  year   = {2023},
  eprint = {2305.14934},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2305.14934v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2305.14934.svg)](https://codeofpaper.com/paper/2305.14934)

Discussion