AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


用这条Q-Star的prompt让LLM拥有MDP,深思熟虑规划你的复杂推理
发布日期:2024-08-08 06:25:28 浏览次数: 1771



人类行为通常可以使用马尔可夫决策过程(MDP)进行有效建模。但处理一些复杂推理时,当面对需要多步推理的问题时,即便是最先进的LLMs也常常力不从心,尤其在进行多步推理时容易产生错误、幻觉和不一致的陈述。这就像一个经验不充分的人在解决复杂问题时,仅仅依靠直觉和快速思考,而没有进行深入的推理和规划。
图片来自公众号公共图片库
来自Skywork AI和南洋理工大学的研究者提出了提出了Q*,一个通用敏捷的框架,用于提高机器学习的多步推理能力,能够让LLM获得深思熟虑的规划能力。


01

Q*:AI推理的规则改变者

在理解Q*之前,我们首先要了解马尔可夫决策过程(MDP)。这是一种数学框架,用于模拟决策者在部分随机的环境中做出一系列决策的情况。关于马尔可夫决策过程(MDP)这一概念,我在下面这篇文章让GPT-4做了不同深度的详细解释:

卡内基梅隆大学重磅,用这条Prompt让LLM递归内省,多轮交互中自我改进


Q*是一个简约但不简单的框架,用算法改变了LLMs进行多步推理的方式。它的核心思想是将复杂的推理过程视为一个需要深思熟虑的规划问题,而不仅仅是简单的文本生成任务。在Q*中,LLM的多步推理被巧妙地建模为一个MDP:

马尔可夫决策过程:Q*推理基础


要理解Q*的工作原理,我们首先需要了解马尔可夫决策过程(MDP)这一概念。考虑文章的完整性,我还是再介绍一下MDP。在Q*中,LLM的多步推理被巧妙地建模为一个MDP:


- 状态(S):当前的推理进展,包括问题描述和已经生成的推理步骤。


- 行动(A):LLM可以采取的下一个推理步骤。


- 转移(P):从一个状态到下一个状态的转换,通过简单地将新的推理步骤添加到当前状态来实现。


- 奖励(R):衡量推理质量的函数,通常基于最终结果是否正确。


- 折扣因子(γ):用于平衡即时奖励和长期价值。


这种建模方法为我们提供了一个强大的框架,使我们能够系统地分析和优化LLM的推理过程。


A*搜索:AI的最佳路径导航


Q*框架的另一个关键组成部分是A*搜索算法。A*是一种启发式搜索算法,广泛应用于路径规划和问题求解。在Q*中,A*被巧妙地用来指导LLM在推理过程中选择最佳的下一步。


具体来说,Q*为每个可能的推理状态分配一个f值:


f(s) = g(s) + λh(s)


其中:


- g(s)是从初始状态到当前状态的累积效用


- h(s)是一个启发式值,估计从当前状态到达正确答案的可能性


- λ是一个平衡因子


通过这种方式,Q*能够在每一步都权衡当前的进展和未来的潜力,从而做出更明智的决策。为了更直观的表现Q*算法的核心组件和工作流程,研究者用下面这张图来说明:

(a) A*搜索过程:

  • 从初始状态s0开始,展开搜索树。

  • 对于每个状态,选择Top-K个最有潜力的动作。

  • 使用启发式函数h(st)来估计从当前状态到目标状态的成本。

  • 搜索过程持续到达到终止状态。

(b) Q值模型训练:

  • 使用神经网络作为Q值模型。

  • 基于(st, at, y(st, at))数据集来训练模型。

  • 训练后的模型用于更新Q值标签。

(c) 蒙特卡洛树搜索(MCTS):

  • 从当前状态st开始,使用策略πθ进行多次模拟。

  • 生成多条轨迹(Trajectory 1, 2, ..., N)。

  • 这些轨迹用于估计长期回报。

(d) 使用更强大的模型完成轨迹:

  • 从当前状态st和动作at开始。

  • 使用更强大的模型π*来完成剩余的轨迹。

  • 这有助于更准确地估计长期价值。

这张图很好地说明了Q*算法如何结合A搜索、Q学习、蒙特卡洛方法(我的公众号里有不少关于这个概念的文章,您有兴趣可以翻一下)和模型引导来优化决策过程。它展示了Q*算法如何在复杂的状态空间中进行有效搜索,同时不断改进其价值估计。


02

Q值估计:AI的价值判断

Q*框架的核心在于其Q值估计方法。Q值代表了在给定状态下采取某个动作的预期未来奖励。准确估计Q值是实现有效规划的关键。Q*提出了几种创新的Q值估计方法:

1. 离线强化学习:利用Fitted Q-iteration算法,从历史数据中学习Q值。这种方法的优势在于可以充分利用已有的数据,无需进行昂贵的在线交互。


2. 基于蒙特卡洛搜索的标签生成:通过模拟多个可能的推理路径,为每个状态-动作对生成Q值标签。这种方法能够捕捉到更长期的影响,提供更准确的价值估计。


3. 利用更强大的LLM:借助性能更优的模型(如GPT-4)来完成推理过程,从而近似最优策略。关于这一点,可以在下文的示例中明显看出GPT-4和Claude 3.5 Sonnet之间的区别。

这些方法使Q*能够在不同的任务和场景中灵活应用,而无需为每个特定任务设计复杂的启发式函数。

为了验证Q*的有效性,研究人员在多个具有挑战性的任务上进行了广泛的实验,包括数学推理和代码生成。结果令人鼓舞,显示出Q*在提升LLM推理能力方面的巨大潜力。

数学推理:让AI成为数学高手


在GSM8K数据集(一个包含8000多个小学数学问题的数据集)上的实验中,Q*展现出了卓越的性能。以Llama-2-7b为基础模型,Q*将其准确率从65.2%提升到了80.8%,超越了闭源的ChatGPT-turbo,逼近了GPT-4的水平。


更令人惊叹的是,在更具挑战性的MATH数据集(包含高中数学竞赛题)上,Q*同样表现出色。它帮助DeepSeek-Math-7b模型将准确率从50.8%提升到55.4%,超越了包括Gemini Ultra在内的多个闭源模型。


这些结果表明,Q*不仅能够提高LLM在简单数学问题上的表现,还能够帮助它们应对更复杂、需要深入推理的数学挑战。


代码生成:AI编程的提升

Q*的应用范围并不限于数学推理。在MBPP数据集(一个包含500个基础Python编程任务的数据集)上的实验显示,Q*同样能够显著提升LLM的代码生成能力。


以CodeQwen1.5-7b-Chat为基础模型,Q*将其在MBPP上的准确率从74.6%提升到77.0%。这一进步虽然看似微小,但在代码生成这样的高难度任务中,每一点提升都意味着巨大的进步。


这个结果意味着,Q*有潜力成为AI辅助编程的强大工具,帮助开发者更快、更准确地生成高质量代码。



03

Q*的工作原理:深度解析

现在,让我们深入探讨Q*是如何实现这些令人印象深刻的结果的。


步骤1:Q值估计


Q*的第一步是构建一个准确的Q值估计模型。这个模型的作用是预测在给定状态下采取某个动作的长期价值。Q*用上面介绍的几种创新方法来训练这个模型。

步骤2:A*搜索过程


有了Q值估计模型,Q*就可以开始进行A*搜索了。这个过程可以概括为以下几个关键步骤:


1. 初始化:将输入问题作为初始状态加入未访问集合。


2. 选择最佳状态:从未访问集合中选择f值最高的状态进行扩展。f值的计算综合考虑了当前累积的效用和未来的潜力。


3. 扩展状态:使用LLM生成当前状态的top-K个可能的下一步。


4. 更新集合:将新生成的状态加入未访问集合,并将当前状态移到已访问集合。


5. 重复步骤2-4:直到达到终止状态(即完成整个推理过程)。


6. 提取结果:从终止状态中提取答案作为最终输出。


这个过程的关键在于,Q*不是简单地生成一个答案,而是通过系统性地探索和评估多个可能的推理路径,找到最有希望的解决方案。

步骤3:效用聚合


为了进一步提高Q*的性能,研究人员引入了效用聚合机制。这个机制的作用是为推理过程中的每一步提供中间反馈,帮助模型更好地评估当前状态的质量。


在数学推理任务中,研究人员使用了一个经过训练的过程奖励模型(PRM)来为每个推理步骤提供反馈。在代码生成任务中,则采用了一种基于代码语法正确性的简单效用函数。


这种效用聚合机制使得Q*能够在推理过程中及时调整策略,避免陷入错误的推理路径。



04

Q*为什么如此强大

Q*框架之所以能够取得如此显著的成效,主要得益于以下几个关键优势:


1. 通用性和可扩展性


Q*不依赖于特定任务的领域知识或启发式规则。它的核心组件(Q值估计、A*搜索、效用聚合)都是通用的,可以轻松适应不同的推理任务。这意味着Q*可以在各种复杂推理问题上发挥作用,从数学到编程,再到其他需要多步推理的领域。


2. 无需微调基础模型


与许多其他方法不同,Q*不需要对基础LLM进行昂贵的微调。相反,它通过外部的规划和指导机制来提升模型的推理能力。这不仅节省了计算资源,还避免了微调可能带来的在其他任务上性能下降的风险。


3. 深思熟虑的推理过程


Q*模拟了人类专家解决复杂问题时的深思熟虑过程。它不是简单地生成一个答案,而是系统地探索多个可能的推理路径,在每一步都权衡当前进展和未来潜力。这种方法大大提高了找到正确解决方案的概率。


4. 灵活的Q值估计方法


Q*提供了多种Q值估计方法,使得研究人员和开发者可以根据具体任务和可用资源选择最合适的方法。这种灵活性使Q*能够在不同场景下都能发挥最佳性能。


5. 可解释性和可控性


通过A*搜索过程,Q*提供了清晰的推理轨迹。这不仅增强了结果的可解释性,还为人类专家提供了干预和调整的机会。在一些关键应用中,这种可控性是至关重要的。



05

Q*的潜在应用

Q*框架的出现为AI在复杂推理任务中的应用开辟了新的可能性。让我们探讨一下Q*可能带来的一些令人兴奋的应用前景:


1. 教育辅助


一个由Q*驱动的AI辅导系统,它不仅能够解答学生的问题,还能够详细解释每一步推理过程,帮助学生理解问题解决的思路。更重要的是,当学生犯错时,这个系统能够识别错误发生的具体步骤,并提供有针对性的指导。


2. 科学研究助手


在复杂的科学研究中,Q*可以成为科研人员的得力助手。它可以帮助分析实验数据,提出假设,甚至设计新的实验方案。Q*的深思熟虑能力使它能够在科学探索中提供有价值的见解和建议。


3. 自动化软件开发


在软件开发领域,Q*可以显著提升AI辅助编程的能力。它不仅能生成高质量的代码,还能进行复杂的算法设计和系统架构规划。这将大大提高开发效率,特别是在处理复杂的软件工程问题时。


4. 金融分析和决策支持


金融市场的复杂性要求决策者能够进行深入的多步推理。Q*可以帮助分析海量的金融数据,识别潜在的投资机会,评估风险,甚至预测市场趋势。它的规划能力使其能够制定长期的投资策略。


5.更加复杂的推理场景

正如开篇所介绍的,MDP是模拟人类行为的一种有效方式,那么基于此衍生出的Q*算法也可以精准处理很多需要复杂规划和推理的场景,实际应用中远不止以上所列出的部分。

你不用找了,研究者没有放出任何代码和Prompt模板,但我根据这个算法写了一个XML格式的Q-Star的Prompt,运行一个非常简单的帮助朋友的孩子提高成绩的学习规划User Instruct,分别在GPT-4和Claude运行如下:

可以看出,相同的提示,不同的模型运行出的结果截然不同,更强大的LLM运行的结果可能会更优。这条XML的Q-Star算法Prompt已经设置了变量,可以处理不同的复杂推理。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询