OpenAI 的 o1 究竟是如何工作的?第 2 部分。以下是我最近阅读的关于 LLM 推理的论文和摘要列表。全部基于学习。
0) STaR:自学推理机网页链接
归零点。不必总是提示 CoT,而是将其融入默认模型行为中。给定一个(问题,答案)对的数据集,手动整理一些 CoT 跟踪并将它们用作少数样本示例,以生成(理由,答案)三元组(给定一个问题),用于其余数据集(“引导推理”)。对(问题,理由,答案)三元组进行 SFT。对此进行多次迭代,即收集数据重新训练并继续从该新策略中进行采样(在实践中,我观察到人们使用约 3 次迭代)。缺点:只能从正确的三元组中学习。
1)V-STaR: 网页链接
STaR 的变体。收集正确/不正确的样本。不正确的样本可用于通过 DPO 训练验证器 LLM。在推理过程中,还使用验证器对各代进行排序。
---
[建议阅读下文 2)]
让我们一步步验证一下: 网页链接
他们训练了一个过程监督奖励模型 PRM,并展示了它相对于结果监督 RM - ORM 的优势(即,不仅仅是传递一整代并询问它有多好,而是传递单独的 CoT 元素;更精细的分辨率)。
数据收集:雇用人工注释每行分步解决方案(数学问题)——成本高昂!!他们获得了一个精选的样本列表,这些样本被自动选为“令人信服的错误答案”解决方案——一种硬样本挖掘形式。
---
2)提高 LM 中的数学推理能力: 网页链接
提出 OmegaPRM - 一种使用 MCTS(AlphaGo 风格?是的,论文来自 DeepMind)收集的数据进行训练的流程 RM。作为收集 PRM 数据的策略,他们使用了 SFT-ed Gemini Pro(从 Gemini Ultra 中提取的指示样本)。Gemini Pro 与 OmegaPRM 加权多数投票相结合,在数学基准上取得了不错的改进。仅适用于有黄金答案的情况,不适用于开放式任务。
3)超越答案: 网页链接
他们不是增加 SFT 数据集中的样本数量(类似 STaR),而是通过向现有 (q,a) 元组附加反射来增加/扩展样本。反射 = 替代推理和后续行动,如类比和抽象)。与 STaR 互补。
4)安静-STaR: 网页链接
使用 RL(强化方法)并选择从思想中分支出来的理论,以增加正确答案的可能性,然后对其进行训练。添加新的思考开始/结束标记,以及用于将理论流与默认流混合的 MLP。有趣的想法,我觉得由于其复杂性,它无法通过 Bitter Lesson 的筛选。
5)扩展 LLM 测试时间计算: 网页链接
他们首先估计用户查询的难度,将其放入 5 个难度箱中的一个(我认为他们需要 2048 个样本!)。然后根据查询的难度,他们部署各种技术来估计最佳结果。
他们尝试了两类方法:搜索需要 PRM 验证器)和修订(据我所知,他们只进行了内部比较,即他们没有比较搜索与修订)。
对于搜索,他们尝试了最佳 N 加权、束流和前瞻。
对于较简单的 Q,最佳方法为 N,之后则是光束(前瞻永远不会有回报)。对于修订,他们首先对由 0-4 个不正确的中间步骤组成的样本进行 SFT,然后是正确的解决方案(以教会它自我纠正)。随后,他们测试按顺序应用它还是并行应用它。根据难度箱,存在一个“最佳”顺序与并行比率。
6)特工Q: 网页链接
真正的主要思想是使用 MCTS 进行测试时间搜索(根据他们获得的性能,而不是根据论文作者)。
第二个核心思想是利用“引导式 MCTS”(由 LLM 评委引导)收集的成功和不成功轨迹,通过 DPO 改进基础策略,从而得到“Agent Q”。Agent Q + 测试时间 MCTS 可产生最佳结果。
注意:它们在非常特定的环境中运行 - 网络,并专注于一项狭窄的任务:预订餐桌。
7)通过 RL 训练 LM 进行自我纠正: 网页链接
他们介绍了 SCoRe,一种多轮(多轮=2)强化学习方法。他们表明 STaR 方法在多轮设置中无法改进(由于编辑距离直方图测量的行为崩溃;即 STaR 模型不愿意明显偏离其第一个解决方案)。
训练分为两个阶段进行:
1)训练基础模型,使其在第二次尝试时产生高奖励响应,同时强制模型不要改变其第一次尝试(通过 KL div)
2)共同最大化两次尝试的奖励;为了防止崩溃为非自我纠正行为,他们通过添加额外的惩罚来进行奖励塑造,如果模型在第二次尝试中获得更高的奖励,则奖励模型,并严厉惩罚从正确->不正确的转变。
---
现在就到这里,那么 o1 是如何工作的呢?
没有想法,但可能涉及上述想法+大量的计算和规模(数据、参数)。
如果我错过了一篇重要的论文,而该论文不是上述想法的明显插入,请告诉我(除非尽管如此,它仍然是开创性的? :)) 。
0) STaR:自学推理机网页链接
归零点。不必总是提示 CoT,而是将其融入默认模型行为中。给定一个(问题,答案)对的数据集,手动整理一些 CoT 跟踪并将它们用作少数样本示例,以生成(理由,答案)三元组(给定一个问题),用于其余数据集(“引导推理”)。对(问题,理由,答案)三元组进行 SFT。对此进行多次迭代,即收集数据重新训练并继续从该新策略中进行采样(在实践中,我观察到人们使用约 3 次迭代)。缺点:只能从正确的三元组中学习。
1)V-STaR: 网页链接
STaR 的变体。收集正确/不正确的样本。不正确的样本可用于通过 DPO 训练验证器 LLM。在推理过程中,还使用验证器对各代进行排序。
---
[建议阅读下文 2)]
让我们一步步验证一下: 网页链接
他们训练了一个过程监督奖励模型 PRM,并展示了它相对于结果监督 RM - ORM 的优势(即,不仅仅是传递一整代并询问它有多好,而是传递单独的 CoT 元素;更精细的分辨率)。
数据收集:雇用人工注释每行分步解决方案(数学问题)——成本高昂!!他们获得了一个精选的样本列表,这些样本被自动选为“令人信服的错误答案”解决方案——一种硬样本挖掘形式。
---
2)提高 LM 中的数学推理能力: 网页链接
提出 OmegaPRM - 一种使用 MCTS(AlphaGo 风格?是的,论文来自 DeepMind)收集的数据进行训练的流程 RM。作为收集 PRM 数据的策略,他们使用了 SFT-ed Gemini Pro(从 Gemini Ultra 中提取的指示样本)。Gemini Pro 与 OmegaPRM 加权多数投票相结合,在数学基准上取得了不错的改进。仅适用于有黄金答案的情况,不适用于开放式任务。
3)超越答案: 网页链接
他们不是增加 SFT 数据集中的样本数量(类似 STaR),而是通过向现有 (q,a) 元组附加反射来增加/扩展样本。反射 = 替代推理和后续行动,如类比和抽象)。与 STaR 互补。
4)安静-STaR: 网页链接
使用 RL(强化方法)并选择从思想中分支出来的理论,以增加正确答案的可能性,然后对其进行训练。添加新的思考开始/结束标记,以及用于将理论流与默认流混合的 MLP。有趣的想法,我觉得由于其复杂性,它无法通过 Bitter Lesson 的筛选。
5)扩展 LLM 测试时间计算: 网页链接
他们首先估计用户查询的难度,将其放入 5 个难度箱中的一个(我认为他们需要 2048 个样本!)。然后根据查询的难度,他们部署各种技术来估计最佳结果。
他们尝试了两类方法:搜索需要 PRM 验证器)和修订(据我所知,他们只进行了内部比较,即他们没有比较搜索与修订)。
对于搜索,他们尝试了最佳 N 加权、束流和前瞻。
对于较简单的 Q,最佳方法为 N,之后则是光束(前瞻永远不会有回报)。对于修订,他们首先对由 0-4 个不正确的中间步骤组成的样本进行 SFT,然后是正确的解决方案(以教会它自我纠正)。随后,他们测试按顺序应用它还是并行应用它。根据难度箱,存在一个“最佳”顺序与并行比率。
6)特工Q: 网页链接
真正的主要思想是使用 MCTS 进行测试时间搜索(根据他们获得的性能,而不是根据论文作者)。
第二个核心思想是利用“引导式 MCTS”(由 LLM 评委引导)收集的成功和不成功轨迹,通过 DPO 改进基础策略,从而得到“Agent Q”。Agent Q + 测试时间 MCTS 可产生最佳结果。
注意:它们在非常特定的环境中运行 - 网络,并专注于一项狭窄的任务:预订餐桌。
7)通过 RL 训练 LM 进行自我纠正: 网页链接
他们介绍了 SCoRe,一种多轮(多轮=2)强化学习方法。他们表明 STaR 方法在多轮设置中无法改进(由于编辑距离直方图测量的行为崩溃;即 STaR 模型不愿意明显偏离其第一个解决方案)。
训练分为两个阶段进行:
1)训练基础模型,使其在第二次尝试时产生高奖励响应,同时强制模型不要改变其第一次尝试(通过 KL div)
2)共同最大化两次尝试的奖励;为了防止崩溃为非自我纠正行为,他们通过添加额外的惩罚来进行奖励塑造,如果模型在第二次尝试中获得更高的奖励,则奖励模型,并严厉惩罚从正确->不正确的转变。
---
现在就到这里,那么 o1 是如何工作的呢?
没有想法,但可能涉及上述想法+大量的计算和规模(数据、参数)。
如果我错过了一篇重要的论文,而该论文不是上述想法的明显插入,请告诉我(除非尽管如此,它仍然是开创性的? :)) 。