REVOLVE:响应辅助驱动的智能优化框架,破解传统AI优化瓶颈
分享
梦想家 致力于建立一个激发科研热情的全球中心。我们帮助教授们展望现实,为学生重塑未来的道路。
没有资源的壁垒,没有思想的界限,只有团结一心追求卓越。我们相信,真正的研究应该属于每一个有才华、有梦想的人。通过整合全球资源、优化协作,我们确保每一位科研人员在这里都能找到自己理想的伙伴和方向。
随着大语言模型(LLM)及其相关组件在多个任务中的广泛应用,如何高效地协调和优化这些组件的表现,已成为人工智能领域的重要课题。近年来,复杂系统的自动化优化框架的研究逐渐增多。然而,传统优化方法往往局限于即时反馈和局部调整,难以有效处理的多轮推理和复杂任务中逐渐成为需求。
REVOLVE一种新的优化框架,提出了一种不同的思路。通过引入历史响应相似度的概念,REVOLVE不仅优化当前的输出,还能在多轮迭代中引导模型实现持续改进。与传统方法依赖即时反馈不同,REVOLVE通过捕捉响应随后的趋势,推动优化过程更加稳定且稳定,帮助模型逐步突破通过这种方式,REVOLVE为大语言模型的优化提供了新的视角,并为AI系统的长期进化和自我修正打开了潜在的方向。本文将介绍REVOLVE的核心概念、创新机制,并探讨其在解决方案优化、提示优化和代码优化等任务中的应用,分析其在多个场景中的实际效果。
项目主页: https://llm-revolve.netlify.app/
论文链接: https://arxiv.org/pdf/2412.03092
代码仓库: https://github.com/Peiyance/REVOLVE
现有优化方法
思想链(CoT)方法
CoT推理方法依赖于瞬时推理和渐进思考来解决任务,虽然它通过渐进推理帮助模型在单次推理过程中提供了明显的步骤,但由于缺乏迭代优化和历史响应的整合,这种方法无法从任务的长期中汲取经验。因此,CoT无法应对需要后续调整和渐进改进的复杂任务,也不能通过迭代优化渐进提升准确性,在任务复杂中往往难以有效提升性能。
基于搜索的方法(Search-BasedMethods)
PromptAgent、Boosting-of-Thought等提示词优化方法利用搜索算法(如蒙特卡洛树搜索或迭代浪费)尝试通过反复探索不同的路径来优化任务提示或推理路径。这种方法虽然能够在有限的局部搜索空间内反复尝试不同的路径,但它依赖于局部搜索,缺乏全局视角,很容易停留在局部局部解。特别是在深度推理和多阶段决策任务中,搜索方法表现良好,且由于无法全面计算任务的全局化,可能导致考虑资源的问题。
基于文本梯度的优化(Textual-Gradient-BasedMethods)
TextGrad、ProTeGi等方法通过即时反馈调整每次输入,关注当前的任务结果而重视历史响应的积累效果。这种做法导致优化流程可能在某个阶段性的拖延,无法有效提升模型的长期绩效。虽然即使引入动量策略(如Momentum-Enhanced TextGrad)来加速优化,仍然仅依赖于即时反馈,且过度调整和无法更新的风险,难以优化确保持续朝着正确的方向前进,特别是在复杂任务中,优化过程通常无法持续改进。

核心思想
在文本优化(Textual Optimization)的框架中,LLM智能体系统通常被视为一个计算图(Computation Graph),通过语言自然作为方向,实现不同组件之间的“梯度”传递。优化的过程是通过逆向传播,将语言模型的输入作为反馈,传递到所有可能的早期组件,从而调整系统中的相关指标。这个过程类似于深度学习中的反向传播,这里传播的不是数值梯度,自然语言形式的反馈。
在当前的优化范式中,系统通过即时反馈来调整模型。这种方法通过分析每次与输出目标之间的差距机制,逐步引导模型输出更符合预期的结果:

其中,
是任务损失函数,
表示模型在第t次迭代中预先输入提示
后面的响应结果。我们使用
来表示基于文本的梯度,指代损失函数相对于输入提示的变化率,这与传统的导数具有相似的作用。通过这种反馈,优化器可以调整输入提示,从而逐步提高任务性能。
然而,这种优化范式存在一定的局限性。它依赖于即时反馈,每次调整仅根据当前迭代的反馈进行,忽略了历史响应的积累效应。这导致优化过程在面对复杂任务时可能存在误差,尤其是当任务需要多轮推理和渐进时,模型的优化效果逐渐减弱。由于缺乏对任务全局的控制,现有方法容易陷入局部优化,无法充分利用多轮迭代中的信息,难以持续提升模型的表现。
REVOLVE通过引入响应进行的跟踪,使优化过程更加精细和稳定。我们不再仅仅依靠单次反馈,而是通过考虑多轮迭代中响应的变化趋势,逐步推动模型优化。作者通过以下公式扩展了优化过程:

其中,
是相似度函数,表示当前响应与前一次响应之间的相似性。通过引入这一项,REVOLVE能够综合过去的信息,更全面地指导优化过程。
为了更清晰地定义相似度函数,使用如下公式计算响应之间的差异:

该近似度函数通过计算响应变化来反映任务的趋势,使得优化过程能够从全局角度出发,避免局部最优。
接下来,假设连续提示的差异
足够小,我们可以将其等价地视为梯度变化率。于是,我们得出以下公式:

最终,REVOLVE 的优化公式可以重写为:

这个公式引入了第二阶优化的思想,模拟了Hessian矩阵的作用。通过考虑瞬时变化率,REVOLVE能够更全面地分析优化过程,从全局角度推动模型优化,避免梯度局部最优,并保证多轮迭代中的持续进化。
REVOLVE能做什么
1.解决方案优化(Solution Optimization):
REVOLVE能够显着提升模型在复杂科学问题上的解答能力,尤其是在需要深度推理和复杂决策的任务中。例如,在MMLU-Machine Learning benchmark上,REVOLVE通过优化解答过程,在Llama-3.1-8B模型上则将SOTA基线提升了20.72%的准确率,充分展示了其在复杂问题简化中的优势。

2. 提示词优化(提示优化):
在推理任务中,REVOLVE通过优化提示词,帮助大语言模型提升推理能力。
例如,在Big Bench Hard (BBH-Objective Counting)的机器人计数任务上,通过 REVOLVE 优化的提示,能将 GPT-3.5-turbor的QA准确率从77.8%提升到95.5%。另外,REVOLVE在Llama-3.1-8B模型上相对于SOTA基线带来了7.8%的性能提升,表现了其在推理任务中的卓越性能。

3. 代码优化(Code Optimization):
REVOLVE同样能够优化复杂的编程任务解决方案,提升模型在代码生成中的表现。例如,在LeetCode Hard基准测试中, Llama-3.1-8B模型通过REVOLVE优化,相对于SOTA基线性能提升了29.17%,证明了该方法在代码优化中的卓越性能。

在实验中,REVOLVE还体现了以下优势:
1.跨模型普适性
REVOLVE在多种大语言模型上表现出色。在如GPT -3.5-turbo-0125、GPT-4-0125-preview、Gemini 1.5 Pro和Llama 3.1 8B Instruct等多个架构模型中,REVOLVE的优化效果均稳定可靠,准确率普遍提升了5-7%,证明了其在不同系统架构中的广泛适用性。
2. .模型优势较弱
对于计算能力较弱的模型,如GPT-3.5-turbo-0125 、 Llama 3.1 8B指导等,REVOLVE表演产生了显着的效率优势。通过瞬时优化,REVOLVE能够为这些弱模型提供强大的性能提升,从而帮助他们在推理任务中了解什么的。这个特性使得REVOLVE能力非常适用于下部的部署场景,特别是在资源有限的环境中,它能够为弱模型提供强大的性能提升,从而消耗使用高成本的增强模型进行多轮推理。
3.计算资源效率
REVOLVE在计算资源使用上表现出色,每次迭代的运行时间略高,但它通过减少迭代次数,显着节省了总运行时间。具体结果如下:
(1)在当前计数数据集上,REVOLVE首先于TextGrad减少了50%的总运行时间。
(2)在解决方案优化任务中,REVOLVE比TextGrad节省了26.14%的运行时间,而Momentum-Enhanced TextGrad由于不稳定性,运行时间增加了77.65% 。
(3)在代码优化任务中,REVOLVE比基线方法减少了16.67%的总运行时间。
(4)在GPU内存使用方面,REVOLVE与基线方法相当,未表现出显着的资源消耗增加。
结语
总的来说,REVOLVE为AI系统的长期发展提供了一个新的视角。通过系统性地整合历史回顾,REVOLVE有效解决了传统方法在复杂任务中常见的注意力和局部最优化问题,从而推动了模型的深度修正和持续优化。这种优化方法所体现的精度、效率和跨模型的能力,使得在未来的AI应用中具备了更大的潜力。