- 经验
- 7812
- 分贝
- 0
- 家园分
- 15783
- 在线时间:
- 456 小时
- 最后登录:
- 2024-10-22
- 帖子:
- 3930
- 精华:
- 0
- 注册时间:
- 2015-1-28
- UID:
- 1090897
注册:2015-1-2880
|
随着ChatGPT的出现,大语言模型在生成连贯文本和遵循指令方面获得了巨大技术突破。然后在推理和解决复杂内容方面,面临内容不准确、安全等难题。
谷歌Deepmind和南加州大学的研究人员提出了“SELF-DISCOVER”。这是一种用于大语言模型的通用框架,能自行发现任务内在的推理结构,以解决对典型提示方法的复杂推理问题。
为了测试性能,研究人员在多个复杂推理基准测试上评估了SELF-DISCOVER,包括Big Bench Hard、Thinking for Doing和MATH。
与仅使用链式思维(CoT)的方法相比,SELF-DISCOVER在21个任务上取得了高达42%的性能提升。在社交智能体推理任务上,使GPT-4的准确率达到了85%,比之前最好的方法提高了33%。
论文地址:https://arxiv.org/abs/2402.03620
目前,传统的提示方法在处理复杂推理问题时存在一定的局限性。例如,链式思维隐式假设了某种推理流程,无法充分利用不同模块各自的长处。
此外,虽然链式思维很适合处理线性和逐步递进的问题,但对于需要非线性思维或考虑多个维度交叉因素的复杂问题,这种方法可能无法提供帮助。
而SELF-DISCOVER可以引导大语言模型根据一组给定的原子推理模块,自行选择、调整和组合这些模块,形成一个用于解决特定任务的推理结构。
这种结构不仅结合了多个推理模块的优势,而且对每个任务都是独特定制的,从而极大提高模型的推理和解题能力。
任务层,自发现推理结构
这是SELF-DISCOVER的第一阶段,主要在任务层面上发现解决该任务的推理结构,由三个细分模块来做引导。
SELECT模块:从一组原子推理模块中选择出解决给定任务的关键模块。这些原子推理模块包含了各种高层次的问题解决启发式,例如“逐步思考”和“分解为子任务”。SELECT模块会根据几个任务示例,判断哪些模块对解决该任务至关重要。
ADAPT模块:会细化每个SELECT模块选择出的推理模块,使其更适合给定任务。例如,从“分解为子任务”细化为“先计算每个算术运算”。
IMPLEMENT模块:将ADAPT模块细化后的推理模块实现为一个结构化的行动计划,将自然语言描述转化为键-值对格式的JSON结构,明确定义每一步需要生成什么内容。
使用发现的结构解决任务
在第一阶段生成了一个与任务密切相关的推理结构之后,第二阶段会使用这个结构来解决该任务的所有实例。
并在每个实例后面追加该结构,提示语言模型按照结构逐步填写每个值,最后得出答案。
与其他方法相比,SELF-DISCOVER拥有三大优势:1)发现的推理结构整合了多个推理模块的优点;
2)它的效率很高,只需要在任务层面额外进行3次推理;3)发现的结构反映了该任务的内在特性,比优化后的提示更具解释性。
研究还发现,SELF-DISCOVER在需要世界知识的任务上效果最好。这是因为综合使用多个推理模块可以使模型从不同视角理解问题,而仅使用链式思维可能会遗漏一些重要信息。
此外,与需要大量重复查询的方法相比,SELF-DISCOVER也展现出了极高的效率。每次只需要一个查询,而获得相似性能的集成方法需要40倍的查询量,也就是说可以节省很多算力资源。
|
|