TensorX
返回文献探索

Paper · arXiv 2404.03683

Stream of Search (SoS): Learning to Search in Language

Kanishk Gandhi, Denise Lee, Gabriel Grand, Muxin Liu, Winson Cheng, Archit Sharma, Noah D. Goodman

30 upvotesApril 1, 2024arXiv 预印本
AI 摘要

Language models can learn complex problem-solving strategies via search by pretraining on streams of search generated by heuristic solvers and further improving with policy-based methods, solving previously unsolvable problems.

transformer-based language modelpretrainAdvantage-Induced Policy AlignmentSelf-Taught Reasonerstreams of searchCountdownheuristic solvers

Abstract

Language models are rarely shown fruitful mistakes while training. They then struggle to look beyond the next token, suffering from a snowballing of errors and struggling to predict the consequence of their actions several steps ahead. In this paper, we show how language models can be taught to search by representing the process of search in language, as a flattened string -- a stream of search (SoS). We propose a unified language for search that captures an array of different symbolic search strategies. We demonstrate our approach using the simple yet difficult game of Countdown, where the goal is to combine input numbers with arithmetic operations to reach a target number. We pretrain a transformer-based language model from scratch on a dataset of streams of search generated by heuristic solvers. We find that SoS pretraining increases search accuracy by 25% over models trained to predict only the optimal search trajectory. We further finetune this model with two policy improvement methods: Advantage-Induced Policy Alignment (APA) and Self-Taught Reasoner (STaR). The finetuned SoS models solve 36% of previously unsolved problems, including problems that cannot be solved by any of the heuristic solvers. Our results indicate that language models can learn to solve problems via search, self-improve to flexibly use different search strategies, and potentially discover new ones.

北京市昌平区探索星信息技术及软件开发工作室

京ICP备2026059466号
Stream of Search (SoS): Learning to Search in Language | TensorX