Stanford CS329A Lecture 4: Learning from Feedback with Tools/Code – ReAct, RLEF, and Constitutional AI
ReAct: Combining Reasoning and Tool Use
ReAct 表明,通过提示模型将语言推理轨迹与工具调用交替进行,可以在知识密集型任务中获得更好的落地性(grounding)和更具可解释性的行为。通过首先生成推理轨迹,然后根据该轨迹选择动作,观察结果,并重复该循环,模型可以检索外部信息(例如,通过 web search)并将其纳入其推理中。与纯粹的思维链(chain-of-thought)相比,这种方法减少了幻觉,因为模型可以根据外部知识库验证其答案。在 HotpotQA、FEVER 和 WebShop 上,ReAct 的表现优于仅动作的基准模型,并且当与 chain-of-thought self-consistency 或回退机制结合时,其表现超过了标准技术。在 WebShop 决策任务中,ReAct 获得了 66.6 分,而人类专家获得了 82.1 分,这表明仍有提升空间,但也证明了将推理建立在工具使用基础上的价值。
RLEF: Learning Code from Execution Feedback
RLEF (Reinforcement Learning from Execution Feedback) 通过将测试执行视为 PPO 训练循环中的反馈信号来改进代码生成。模型接收一个自然语言问题,生成代码,针对一组公开测试集运行代码以获得即时的推理时反馈,并迭代直到代码通过测试或达到回合限制。最终的解决方案随后在隐藏的私有测试集上进行评估,其结果为 PPO 更新提供奖励。这种两层测试策略可以防止模型仅仅是记忆公开测试的输出。一种混合 token-turn level 策略在生成代码 token 时在回合级别计算价值函数,从而实现对生成的细粒度控制。在 CodeContests 上的实验表明,随着模型学习使用执行反馈来修复其代码,解决率(例如,solve rate 10 at k 会随着训练而提高)和错误输出减少。测试通过/失败的二元奖励对于这些相对较短的竞赛编程问题是足够的,对于这些问题,该方法可以推广到其他代码生成基准测试。
Constitutional AI: Self-Critique via Human-Written Principles
Constitutional AI 通过使用人类编写的一组原则(即“宪法”)作为 AI 生成反馈的来源,训练模型变得无害。该过程分为两个阶段:首先,模型根据“宪法”对其自身输出进行批判并进行修订;这些自我批判/修订轨迹被用于监督微调。其次,在修订后的输出和“宪法”上训练一个偏好模型,该偏好模型引导强化学习以产生既有用又无害的响应。结果显示,无害性的 Elo 分数大幅增加,而有用性可能会略有下降;将 Constitutional AI 与 chain-of-thought 结合可以产生有用性和无害性之间最佳的 Pareto frontier。该方法具有可扩展性,因为更新“宪法”只需要少量的训练后计算,并且它避免了标准 RLHF 所需的大规模人类标注。
Discussion: Challenges and Extensions
本讲座强调了几个开放性挑战。对于 ReAct,可以通过添加反射层或回溯机制来减轻噪声或误导性的环境反馈,并且可以通过重复采样和多数投票来提高置信度。将 ReAct 扩展到更大的动作空间需要更多的演示,并会增加推理成本,这表明需要高效的动作选择。在 RLEF 中,二元反馈对于复杂的调试任务可能是不够的;更丰富的错误轨迹可以提高修复效率。对于 Constitutional AI,在不进行完整重新训练的情况下更新“宪法”仍然是一个开放的持续学习问题,并且,考虑到潜在的过度自信,确保模型不会过度依赖自我批判可能受益于基于集成(ensemble-based)的批判。讨论还指出,人类采用了额外的认知机制——任务分解、并行思维、记忆以及自适应的推理-动作比率——这些机制可以被纳入未来的智能体设计中。