微信扫码
与创始人交个朋友
我要投稿
假设我们有一个数学问题:
小明有 5 个苹果,小红给了他 3 个苹果。小明现在有多少个苹果?
模型可能生成以下几种 P-CoT(程序型思维链):
情况 1: 正确的 CoT,答案可提取且为正确值
def solution():"""小明有 5 个苹果,小红给了他 3 个苹果。小明现在有多少个苹果?"""initial_apples = 5given_apples = 3total_apples = initial_apples + given_applesresult = total_applesreturn result
在这个例子中,答案8可以通过执行return result语句轻松提取,并且是一个数值。 因此,该 CoT 符合 "答案为正确并且可提取" 的条件,可以获得完整的奖励(奖励值为 1)。
情况 2: 错误的 CoT,答案可提取但非正确值
def solution():"""小明有 5 个苹果,小红给了他 3 个苹果。小明现在有多少个苹果?"""initial_apples = 5given_apples = 3total_apples = initial_apples + given_applesresult = "小明现在有" + str(total_apples) + "个苹果"return result
在这个例子中,虽然答案"小明现在有8个苹果"可以被提取,但它是一个字符串,而不是数值。 因此,该 CoT 不符合 "答案为正确" 的条件,只能获得部分奖励(奖励值为 0.1)。
情况 3: 错误的 CoT,答案不可提取
def solution():"""小明有 5 个苹果,小红给了他 3 个苹果。小明现在有多少个苹果?"""initial_apples = 5given_apples = 3total_apples = initial_apples + given_applesprint("小明现在有" + str(total_apples) + "个苹果")
在这个例子中,答案8虽然存在于代码中,但它并没有被return语句返回,因此无法被提取。 该 CoT 不符合 "答案可提取" 的条件,无法获得任何奖励(奖励值为 0)。
总结:
"答案为数值并且可提取" 意味着模型生成的 CoT 必须能够清晰地表达答案,并且答案必须对。 只有满足这两个条件,ReFT 算法才能根据答案的正确性来计算奖励,从而有效地训练模型。
1.当提取的答案(EXTRACT(st+1))与 ground-truth 答案(y)相同时,奖励为 1。
2.当提取的答案不为空(EXTRACT(st+1) ̸= null)并且与 ground-truth 答案不同(̸= y)时,奖励为 0.1 (部分奖励)。
3.当提取的答案为空(EXTRACT(st+1) = null)时,奖励为 0。
其实这是个很好的问题,因为它触及了强化学习中奖励机制设计的核心。在 ReFT(强化微调)中,部分正确奖励机制的引入主要出于以下几个原因:
1. 应对稀疏奖励问题:
●在数学问题解答等任务中,模型生成的答案往往只有完全正确才能获得奖励,而稍微偏差一点就会被判定为错误,从而得不到任何奖励。 这种奖励信号过于稀疏,会导致模型难以学习。(当然连续就更麻烦了,又不是电信号或者热力学,很难连续)
●部分正确奖励机制可以缓解这个问题,因为它允许模型在答案接近正确时获得部分奖励,从而鼓励模型朝着正确的方向探索。
2. 鼓励模型探索更多样的推理路径:
●如果只给予完全正确或完全错误的奖励,模型可能会倾向于保守地模仿训练数据中的 CoT,而不敢探索其他可能更有效的推理路径。(给一定的探索空间,别老用贪婪)
●部分正确奖励机制可以鼓励模型尝试不同的推理方法,即使它们不能立即得到完美的答案,只要答案朝着正确的方向发展,就能获得部分奖励,从而促进模型的创新能力。(泛化了吧)
3.稳定性:
●完全正确或完全错误的二元奖励信号会导致奖励函数的梯度变化剧烈,不利于模型的稳定训练。
●部分正确奖励机制可以平滑奖励信号,使其更加连续,从而提高训练的稳定性和效率
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-12-21
一文回顾OpenAI系列发布会:从工具到AGI,OpenAI的12天进化论
2024-12-19
强化微调技术详解:开启AI模型定制的新篇章
2024-12-18
OpenAI 年底「百亿补贴」来了,满血 o1 API 开放,成本暴跌,定制升级
2024-12-18
腾讯AI团队:用Ray分布式计算效率提升800%
2024-12-18
OpenAI 新货详解:大量接口更新,还有 Go/Java SDK
2024-12-18
聊聊对强化微调(RFT)的理解及看法
2024-12-18
提升大模型 Function Calling 准确性
2024-12-18
OpenAI Day9丨o1实时API全面开放,音频价格降低60%
2024-09-18
2024-07-11
2024-07-11
2024-07-09
2024-06-11
2024-10-20
2024-07-23
2024-07-20
2024-07-26
2024-07-12