When is Tree Search Useful for LLM Planning? It Depends on the Discriminator

Ziru Chen, Michael White, Raymond Mooney, Ali Payani, Yu Su +1 more
2/16/2024
cs.CLcs.AIcs.LG

Official code: OSU-NLP-Group/llm-planning-eval (54 stars, last commit 2024-02-23).

Abstract

In this paper, we examine how large language models (LLMs) solve multi-step problems under a language agent framework with three components: a generator, a discriminator, and a planning method. We investigate the practical utility of two advanced planning methods, iterative correction and tree search. We present a comprehensive analysis of how discrimination accuracy affects the overall performance of agents when using these two methods or a simpler method, re-ranking. Experiments on two tasks, text-to-SQL parsing and mathematical reasoning, show that: (1) advanced planning methods demand discriminators with at least 90% accuracy to achieve significant improvements over re-ranking; (2) current LLMs' discrimination abilities have not met the needs of advanced planning methods to achieve such improvements; (3) with LLM-based discriminators, advanced planning methods may not adequately balance accuracy and efficiency. For example, compared to the other two methods, tree search is at least 10--20 times slower but leads to negligible performance gains, which hinders its real-world applications. Code and data are available at https://github.com/OSU-NLP-Group/llm-planning-eval.

View on arXivView PDF

Code Implementations(1)

[ACL'24] Code and data of paper "When is Tree Search Useful for LLM Planning? It Depends on the Discriminator"

543Shell, PythonFeb 16, 20242 years ago
language-agentlarge-language-modelsmathematical-reasoningplanningself-correction+2 more

Similar Papers

Cite this paper

@article{chen2024when,
  title  = {When is Tree Search Useful for LLM Planning? It Depends on the Discriminator},
  author = {Ziru Chen and Michael White and Raymond Mooney and Ali Payani and Yu Su and Huan Sun},
  year   = {2024},
  eprint = {2402.10890},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2402.10890v2}
}

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/2402.10890.svg)](https://codeofpaper.com/paper/2402.10890)

Discussion