ChatGPT的爆火使得大语言模型进入了越来越多人的视野。众所周知,大语言模型在生成连贯文本和遵循指令方面的表现都很突出。然而,在推理和解决复杂内容方面的表现依旧是不尽如人意。
最近,谷歌Deepmind推出了大语言模型的通用框架“SELF-DISCOVER”。它可以自行发现任务内在的推理结构,以解决对典型提示方法的复杂推理问题。
研究人员在Big Bench Hard、Thinking for Doing和MATH多个复杂推理基准测试上对SELF-DISCOVER进行了评估。与仅使用链式思维(CoT)的方法相比,SELF-DISCOVER在21个任务上取得了高达42%的性能提升。在社交智能体推理任务上,使GPT-4的准确率达到了85%,比之前最好的方法提高了33%。
传统的链式思维方法在处理复杂推理问题时存在一定的局限性。即便链式思维方法很适合处理线性和逐步递进的问题,但对于需要非线性思维或考虑多个维度交叉因素的复杂问题,链式思维方法依旧可能无法提供帮助。
对于SELF-DISCOVER来说,它可以引导大语言模型根据一组给定的原子推理模块,自行选择、调整和组合这些模块,形成一个用于解决特定任务的推理结构。这种结构不仅结合了多个推理模块的优势,而且对每个任务都是独特定制的,从而极大提高模型的推理和解题能力。
SELF-DISCOVER的第一阶段主要在任务层面上发现解决该任务的推理结构,由三个细分模块来做引导。
SELECT模块
从一组原子推理模块中选择出解决给定任务的关键模块。这些原子推理模块包含了各种高层次的问题解决启发式,例如“逐步思考”和“分解为子任务”。SELECT模块会根据几个任务示例,判断哪些模块对解决该任务至关重要。
ADAPT模块
会细化每个SELECT模块选择出的推理模块,使其更适合给定任务。例如,从“分解为子任务”细化为“先计算每个算术运算”。
IMPLEMENT模块
将ADAPT模块细化后的推理模块实现为一个结构化的行动计划,将自然语言描述转化为键-值对格式的JSON结构,明确定义每一步需要生成什么内容。
在第一阶段生成了一个与任务密切相关的推理结构之后,第二阶段会使用这个结构来解决该任务的所有实例。并在每个实例后面追加该结构,提示语言模型按照结构逐步填写每个值,最后得出答案。与其他方法相比,SELF-DISCOVER拥有三大优势:
1、发现的推理结构整合了多个推理模块的优点。
2、它的效率很高,只需要在任务层面额外进行3次推理。
3、发现的结构反映了该任务的内在特性,比优化后的提示更具解释性。
另外,研究表明:在需要世界知识的任务上,SELF-DISCOVER效果最好。因为综合使用多个推理模块可以使模型从不同视角理解问题。
SELF-DISCOVER每次只需要一个查询,就可以获得相似性能的集成方法需要40倍的查询量。所以相对于需要大量重复查询的方法来说,它有着极高的效率。