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

2024年04月01日
  • 简介
    语言模型在训练过程中很少展示出有用的错误。它们难以超越下一个标记,因此会出现错误积累并且难以预测其几步之后的行动后果。本文介绍了一种教授语言模型搜索的方法,即通过用语言表示搜索过程,将其作为一个扁平化的字符串——搜索流(SoS)。我们提出了一种统一的搜索语言,可以捕捉各种不同的符号搜索策略。我们使用简单但困难的Countdown游戏演示了我们的方法,该游戏的目标是将输入数字与算术运算符组合以达到目标数字。我们从头开始预训练一个基于transformer的语言模型,该模型使用启发式求解器生成的搜索流数据集进行训练。我们发现,与仅训练预测最佳搜索轨迹的模型相比,SoS预训练可以将搜索准确度提高25%。我们进一步使用两种策略改进方法进行微调:优势诱导策略对齐(APA)和自学推理器(STaR)。微调后的SoS模型可以解决36%以前无法解决的问题,包括任何启发式求解器都无法解决的问题。我们的结果表明,语言模型可以通过搜索学习解决问题,自我改进以灵活使用不同的搜索策略,并可能发现新的策略。
  • 图表
  • 解决问题
    本文旨在解决语言模型在训练时缺乏搜索能力的问题,通过将搜索过程表示为一系列字符串流(SoS)的形式,提出了一种统一的搜索语言,并在Countdown游戏中进行了验证。
  • 关键思路
    文章的关键思路是使用字符串流来表示搜索过程,并提出了一种统一的搜索语言,使得语言模型可以在训练过程中学习到搜索的能力,并且可以灵活地使用不同的搜索策略。
  • 其它亮点
    文章使用预训练的transformer-based语言模型,在Countdown游戏中进行了实验,证明了SoS预训练可以提高搜索准确度25%。文章还使用了两种策略改进方法进行了微调,并且取得了很好的效果。实验结果表明,语言模型可以通过学习搜索来解决问题,并且可以自我改进,发现新的搜索策略。
  • 相关研究
    在相关研究方面,最近的一些相关研究包括《Learning to Search Better than Your Teacher》和《Learning to Search with MCTSnets》等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论