- 一个问题最多四条正确轨迹
- 核心问题:
- valid trajectory太少
- 所以需要RL
问题
怎么做到原生嵌入Python code TIR的?
Python代码错误/Python tool server挂了怎么办
论文
- 这篇论文没有用任何RLHF方法,而是设计了一个两步的监督学习
- 第一步用GPT-4生成各种各样轨迹.作为训练集SFT 原始模型
- 第二部,为了解决同一个答案只有一条标准轨迹(从而限制了模型主动探索其他解决问题方法的可能性)的问题,让模型M对同一个query做多次output采样,保留正确的,错误的轨迹由teacher模型从其中每一步暴力尝试出新的轨迹变为正确的,然后收集这些正确的轨迹(即原始正确+教师模型订正过为正确的)来对模型做SFT

- 与纯CoT不调用工具和PAL program-aided langguage Model相比都更好,解决了CoT不擅长解决需要列方程的代数或者需要暴力计算的数论问题、PAR生成代码可能有误的问题


模型首先生成分析用的推理片段 r₁,接着编写程序 a₁ 调用外部求解器,获得执行结果 o₁,然后生成新的推理片段 r₂ 来得出最终答案。

给定一道数学题q,TORA 先以自然语言进行推理,生成r1。当后续任务(如方程求解)更适合借助程序化工具时,TORA 会在r1 的自然语言指引下生成用于调用工具的程序a1。执行输出o1 会回馈给 TORA,用于后续处理,包括调整工具使用、求解子任务或给出最终答案。我们重复该过程,直到模型将其答案置于“\boxed{}”中。由此得到的轨迹记为
$$
τ=r1a1o1…rn−1an−1on−1rn\tau
$$
其中rn 包含最终答案
- 推理过程:
- 如果ri输出内容包含“\boxed{}”即触发停止条件 Stop(r_i)),则停止生成;否则模型继续编写程序以调用工具: