微软提升LLM能力新方法
- 量子位
- 2024-12-05 08:33:48
微软提升LLM能力新方法
提升LLM数学能力的新方法来了——
一个大模型不行,那就两个。让他们彼此合作,纠正对方的错误。
这就是来自加州大学和微软研究院的最新研究成果:Flow-DPO。通过使用在线学习流(Flow)和直接偏好优化(DPO, Direct Preference Optimization),可以让LLM生成更加详细和精确的推理轨迹。(图1)
同时,这种在线多智能体(Agent)的学习形式还能挖掘数据中的深层信息,有效避免了人类标注数据不够准确的问题。
我们先一起看个例子感受一下。(图2)
比如针对下面这道题:
方程 x + 2y + 3 = 0 的图与方程 ax + 2y + 3 = 0 的图互相垂直。请问ax + 2y + 3 = 0中,a 的值是多少?
基准回答是这样的:
方程 x + 2y + 3 = 0 的图形的斜率为 -1/2,因为图形垂直,所以 ax + 2y + 3 = 0 的图形的斜率必须是 x + 2y + 3 = 0 的负倒数。因此,方程 ax + 2y + 3 = 0 的斜率为2,改写为2y = -ax - 3,然后两边除以 2,得到 y = -a/2x-3/2。将此与斜率截距形式 y = mx + b 相比,我们发现斜率 m 为 -a/2。由于我们知道斜率为 2,所以 - a/2= 2。将两边乘以 -2,得到 a = -4,答案为:-4。
而Flow-DPO的回答是这样的:
要解决这个问题,我们需要了解线性方程中垂直线的概念。当两条直线垂直时,它们的斜率互为负倒数。让我们以斜率-截距形式复述给定方程 x + 2y + 3 = O,即 y = -1/2x - 3/2。这告诉我们直线的斜率是 - 1/2。现在,我们需要找出方程 ax + 2y + 3 = 0 所表示的直线的斜率。我们可以将方程改写成斜率-截距形式,即 y = -a/2x - 3/2。这告诉我们这条直线的斜率是-a/2。由于两条直线垂直,因此它们的斜率互为负倒数。这意味着 -1/2 * (-a/2) = 1,简化为 a = -4。因此,a 的值为 -4。
让GTP-4o当裁判,针对两个模型的回答分析了一下,它认为答案B(FLow-DPO)更好,原因有两点:
1.概念解释
答案 A 的回答是:“我们可以利用斜率之间的负倒数关系来求解 a”。答案 B 花时间明确解释了垂直的概念,强调垂直线的斜率是负倒数。这种回答更有教育意义,可以让读者理解数学背后的推理。
2.解题思路清晰
答案A推导出了正确的方程并正确地求解了方程,但引入了一些不必要的步骤。
例如,中间步骤涉及将方程改写为2y = -ax - 3 和两边除以 2 的中间步骤比必要的步骤复杂。
答案 B 立即使用两个方程的斜截距形式简化了方法。它有效地解释了如何提取斜率,并直接比较了两个等式的斜率,过程更直接,更容易理解。
结论
答案 B 的解释更清晰、更透彻,既注重概念和公式,又避免了不必要的复杂性,这种循序渐进的方法更易于理解和掌握。
可以看到,在解决真实数学问题的时候,Flow-DPO生成的推理过程不仅有更详细的指导,还避免了不必要的复杂性,增强了可读性和理解性。
这是怎么做到的呢?
网页链接
提升LLM数学能力的新方法来了——
一个大模型不行,那就两个。让他们彼此合作,纠正对方的错误。
这就是来自加州大学和微软研究院的最新研究成果:Flow-DPO。通过使用在线学习流(Flow)和直接偏好优化(DPO, Direct Preference Optimization),可以让LLM生成更加详细和精确的推理轨迹。(图1)
同时,这种在线多智能体(Agent)的学习形式还能挖掘数据中的深层信息,有效避免了人类标注数据不够准确的问题。
我们先一起看个例子感受一下。(图2)
比如针对下面这道题:
方程 x + 2y + 3 = 0 的图与方程 ax + 2y + 3 = 0 的图互相垂直。请问ax + 2y + 3 = 0中,a 的值是多少?
基准回答是这样的:
方程 x + 2y + 3 = 0 的图形的斜率为 -1/2,因为图形垂直,所以 ax + 2y + 3 = 0 的图形的斜率必须是 x + 2y + 3 = 0 的负倒数。因此,方程 ax + 2y + 3 = 0 的斜率为2,改写为2y = -ax - 3,然后两边除以 2,得到 y = -a/2x-3/2。将此与斜率截距形式 y = mx + b 相比,我们发现斜率 m 为 -a/2。由于我们知道斜率为 2,所以 - a/2= 2。将两边乘以 -2,得到 a = -4,答案为:-4。
而Flow-DPO的回答是这样的:
要解决这个问题,我们需要了解线性方程中垂直线的概念。当两条直线垂直时,它们的斜率互为负倒数。让我们以斜率-截距形式复述给定方程 x + 2y + 3 = O,即 y = -1/2x - 3/2。这告诉我们直线的斜率是 - 1/2。现在,我们需要找出方程 ax + 2y + 3 = 0 所表示的直线的斜率。我们可以将方程改写成斜率-截距形式,即 y = -a/2x - 3/2。这告诉我们这条直线的斜率是-a/2。由于两条直线垂直,因此它们的斜率互为负倒数。这意味着 -1/2 * (-a/2) = 1,简化为 a = -4。因此,a 的值为 -4。
让GTP-4o当裁判,针对两个模型的回答分析了一下,它认为答案B(FLow-DPO)更好,原因有两点:
1.概念解释
答案 A 的回答是:“我们可以利用斜率之间的负倒数关系来求解 a”。答案 B 花时间明确解释了垂直的概念,强调垂直线的斜率是负倒数。这种回答更有教育意义,可以让读者理解数学背后的推理。
2.解题思路清晰
答案A推导出了正确的方程并正确地求解了方程,但引入了一些不必要的步骤。
例如,中间步骤涉及将方程改写为2y = -ax - 3 和两边除以 2 的中间步骤比必要的步骤复杂。
答案 B 立即使用两个方程的斜截距形式简化了方法。它有效地解释了如何提取斜率,并直接比较了两个等式的斜率,过程更直接,更容易理解。
结论
答案 B 的解释更清晰、更透彻,既注重概念和公式,又避免了不必要的复杂性,这种循序渐进的方法更易于理解和掌握。
可以看到,在解决真实数学问题的时候,Flow-DPO生成的推理过程不仅有更详细的指导,还避免了不必要的复杂性,增强了可读性和理解性。
这是怎么做到的呢?
