ReST+ReAct:用于多步推理语言模型(LLM)代理的自我改进

668 阅读4分钟

一、论文信息

  • 论文题目:REST MEETS REACT: SELF-IMPROVEMENT FOR MULTI-STEP REASONING LLM AGENT
  • 论文链接:arxiv.org/abs/2312.10…
  • 研究机构:Google Research

二、概要

本文提出了一种结合知识检索与大型语言模型的多步骤推理LLM代理,通过迭代微调和强化学习实现自我改进和自我蒸馏,有效提高代理性能,无需大量人工标注数据。介绍了HotpotQA、Eli5和Eli5-askH/S等数据集,以及针对这些数据集的FINE-TUNING和RANKING方法,实验证明这些方法可提高模型在QA和LFQA任务中的表现。研究了多模态预训练语言模型在自改进过程中的应用,使用预训练模型生成轨迹,经过人类评估和过滤,对模型进行微调,实验证明使用两个轨迹per问题可以带来更好的性能。本文还介绍了一些新的方法和数据集,如Long-formQAbeyondELI-5、Langchain、Fireact和Languagemodelcascades等,旨在更好地处理和回答长期形式问题。

主要内容:

  • 将知识检索与llm相结合,用于复杂问题回答的现有系统存在故障案例,无法进行端到端培训以解决这些故障。
  • 引入了具有外部知识推理和行动能力的react风格的LLM代理来解决这些缺陷。
  • 代理通过类似rest的方法进行改进,该方法在以前的轨迹上迭代训练,使用带有AI反馈的强化学习进行持续的自我完善和自我升华。经过算法的两次迭代,一个微调的小模型可以在具有挑战性的问答基准测试中获得相当的性能,参数减少了两个数量级。
  • 迭代过程中产生的合成数据可用于将代理提炼成更小的模型,其性能与预训练的教师代理相当。
  • 该研究的贡献包括构建一个具有长形式问题回答自我批评的ReAct代理,定义基于特定数据集的代理评估指标,展示rest风格迭代微调推理痕迹的有效性,使用无人工标记训练数据的逐步人工智能反馈提高代理的性能,并展示使用合成数据提取较小模型。

REST MEETS REACT SELF-IMPROVEMENT FOR_11.png

三、讨论

  1. 自改进算法的主要组成部分是什么?

自改进算法的主要组成部分包括: 1. 收集初始问题:从四个数据集中随机选择500个问题作为初始问题,用于生成推理轨迹。 2. 生成推理轨迹:使用初始问题生成推理轨迹,每个轨迹包含多个推理步骤。 3. 生成微调混合物:将推理轨迹转换为微调混合物,用于训练更好的模型。 4. 重新排名“奖励”模型:使用指令调整的PaLM 2-L模型对推理轨迹进行重新排名,以选择最佳样本进行微调。 5. 迭代自改进:重复上述步骤,使用新模型生成新的推理轨迹,并生成新的微调混合物,直到模型性能达到预期水平。 这些组成部分共同构成了自改进算法,使得模型能够通过自我改进来提高其性能。

  1. 如何评估自改进算法的性能?

评估自改进算法性能的方法包括: 1. Bamboogle数据集:使用Bamboogle数据集作为主要评估工具,该数据集包含2-hop问题,旨在测试模型在搜索方面的能力。由于答案的开放性,无法使用精确匹配作为评估指标,而是使用手动评估或自动评估。 2. 自动评估:使用PaLM 2-L“基础”模型对生成的答案进行自动评估,以减少人工评估的时间和成本。 3. 迭代性能:通过比较不同迭代的自改进算法性能,可以评估算法的有效性。 4. 自我检查:使用自我检查来评估算法的性能,自我检查是一种在推理轨迹中添加检查步骤的方法,以确保答案与原始问题相关并且基于搜索链接。 5. 模型大小:使用不同大小的模型进行评估,以确定模型大小对性能的影响。 这些评估方法可以帮助评估自改进算法的性能,并确定算法的有效性和适用性。

  1. 自改进算法中使用了哪些数据集?

自改进算法中使用了四个数据集来生成推理轨迹,这些数据集包括: 1. HotpotQA:一个多跳推理问答数据集,需要从多个文档中获取信息来回答问题。 2. Eli5:一个长形式问答数据集,需要详细和深入地回答开放性问题。 3. Eli5-askH:类似于Eli5,但来自Reddit论坛“Explain Like I’m Five”的子论坛r/explainlikeimfive。 4. Eli5-askS:类似于Eli5,但来自Reddit论坛“askscience”的子论坛r/askscience。 这些数据集提供了多样化和具有挑战性的问题,用于生成推理轨迹,以训练更好的模型。