如何构建更加智能且具有协作能力的代理系统来解决更为复杂的现实世界问题呢,来看看这篇文章提出的多种大模型协作框架吧~
论文题目:Corex: Pushing the Boundaries of Complex Reasoning through Multi-Model Collaboration
论文链接:https://openreview.net/pdf?id=7BCmIWVT0V
代码地址:https://github.com/QiushiSun/Corex
系统概述
由于大模型具有超强的语义理解和推理能力,单个LLM能够胜任典型的NLP任务。然而,在执行复杂任务时,其性能仍然受限于内部表示的局限性。为了突破这一界限,这篇文章提出了 Corex 框架,通过多模型协作来解决复杂问题。
Corex由多种协作模式组成,包括 讨论(Discuss)、审查(Review)和 检索(Retrieve),这些模式共同工作以增强推理过程。这些范式促进了与任务无关的方法,使得基于LLM的代理能够“跳出思维定势”,从而克服常见的错误并提供更好的解决方案。
- 讨论(Discuss)模式:通过模型间的群体讨论有效提高事实性和理由多样性,从而减少谬误和幻觉。
- 审查(Review)模式:使模型能够检查来自其他模型的推理链或合成代码以确保生成内容的正确性,并结合潜在的改进。
- 检索(Retrieve)模式:旨在通过评分和排名从候选链池中选择最忠实的选项,以促进与最终响应的高度一致。
核心内容
假设有一组基于LLM的代理 {A1, A2,..., An} 参与多模型协作。每个代理 在面对查询q时生成相应的推理链 及其预测 。
讨论模式
将 LLM 代理随机分成两个团队:蓝队和 绿队,并保留一个模型作为裁判,记为 。其流程如下:
- 团队内部讨论:每一轮讨论中,每个团队围绕问题 进行推理,生成推理链 和预测结果 ,整个讨论限制在最多 轮的交互中完成。每轮结束后,蓝队和绿队会分别输出他们的改进预测结果 和 。
- 结果评估:如果两个团队在整个讨论中始终达成一致,即 ,讨论则顺利结束。
- 裁判裁决:如果出现分歧,裁判 会对每一轮的输出(包括推理链 和预测结果 )进行评估,依据决策函数来判断最终结果。
审查模式
在推理领域内,CoT(Chain-of-Thought)和PAL(Program-Aided Language)都是具有显著优势的有效方法。基于自然语言的CoT方法以解释的通用性和清晰性而脱颖而出;而通过程序辅助的PAL则保证了计算的准确性。然而,这两种方法都存在一定的不足。
对于CoT及其变体,问题主要体现在两个方面:
- 累积错误:错误容易在推理链中逐步放大和传播;
- 文本质量瓶颈:通过提示无法显著提升文本质量。
PAL也面临着自身的挑战:
- LLM可能误解问题,从而生成技术上正确但方向错误的程序;
- 生成的代码并非总是无错误的:LLM可能会生成包含错误的代码,例如引用未定义的变量或执行“除以零”的操作。
审查模式的流程如下:
- 主代理生成解决方案:随机选择一个代理 作为主代理。 负责为查询 制定相应的推理链和预测结果,并在需要时生成代码在,将这个解决方案定义为 ;
- 审阅在审阅:其他代理作为审阅者按顺序进行迭代审阅,这些审阅者会严格审查推理链和代码;
- 迭代输出审阅:每个审阅者都会基于其前任的输出进行审阅,这意味着每一轮审阅都以前一轮的结果和反馈为基础,从而推动解决方案逐步优化。审阅过程定义为:,其中解决方案集合 是在反馈 的基础上对其前一版本 的改进结果,其中 表示第 次迭代的审阅结果, 表示收到的反馈;
- 最终输出:最终输出结果由最后一次迭代的解决方案集合决定。
检索模式
Retrieve 模式,以通过协作找到最忠实的答案。相较于以往基于多数投票机制的策略,检索模式解决了以下两个主要挑战:
- 正确答案可能被错误答案影响:在多数投票中,错误的答案可能会占据主导,从而导致最终结果偏离正确答案。
- 计算开销与性能瓶颈:虽然多数投票机制在一定程度上提升了性能,但它会显著增加计算负担,且当采样链条数量增加时,性能改善趋于“饱和点”。
检索模型的具体流程如下:
- 问题的分配
- 针对给定的查询 ,从个 代理中随机选择一个代理 作为检索者(Retriever)。
- 其余代理基于置信度分数,从候选集中选择置信度最高的推理链-预测对 独立地解决问题,每个代理生成自己的推理链和相应的预测结果,这些推理链和预测结果组成一个候选集。
- 候选的评估
- 检索者 对候选集中的每一对推理链和预测结果进行评估,判断推理链与预测结果的忠实性。
- 评估的结果以置信度分数表示,范围在 [0,1] 之间.
- 最终答案的选择
- 基于置信度分数,从候选集中选择置信度最高的推理链-预测对
系统实验
在四类任务中评估了Corex框架的表现:算术推理、常识推理、符号推理、半结构化理解。 基线方法包括:
- Chain-of-Thought:即思维链提示方法。
- Self-Consistency:采用多数投票机制,从多个推理链中选择最一致的答案作为最终答案。
- 基于复杂度的一致性:从复杂度较高的推理路径中选择候选答案中的多数答案。
- 程序辅助语言模型:利用LLM生成程序作为中间推理步骤,并将计算任务交给Python解释器完成。
在不同难度算术任务中的结果:
在常识推理和事实推理任务中的表现:
符号推理的结果:
半结构化理解的结果:
系统总结
Corex,一套将大型语言模型(LLMs)转变为自主推理代理的策略,从而利用多模型协作进行复杂推理。通过解锁LLMs之间的协同效应,Corex通过各种协作范式增强了推理的事实性、忠实性和可靠性。