1822 年,电学之父法拉第在日记中写到“既然通电能够产生磁力,为什么不能用磁铁产生电流呢?我一定要反过来试试!”。于是在 1831 年,第一台发电机被发明,推动了人类进入电气化时代。
与之相似,作为全球亿万富翁之一的查理芒格将逆向思维作为他投资的重要思维模型之一,他有一句很著名的话:如果我知道自己会在哪里死去,我就永远不去那里。
这些都说明了逆向思维的重要性,而作为当前实现通用人工智能最具希望的道路,大语言模型(Large Language Models,LLMs)是否具备逆向思维?
近日,Google 的 DeepMind 在_"Reverse Thinking Makes LLMs Stronger Reasoners"_文章中给出了明确的答复:
逆向思维训练 LLM 可大幅度提升模型推理能力!!!
作为人工智能研究领域的领头羊,DeepMind 的研究成果一直是人工智能领域的风向标,例如 2014 年的 AlphaGo,2017 年的 Alpha Zero 向世人展示了强化学习的强大能力;2016 年的 AlphaFold 开启了利用人工智能研究蛋白质折叠,并于 2024 年助力其研究者 Demis Hassabis 斩获诺贝尔化学奖,这也是首次由人工智能研究者获得该奖项。
DeepMind 这篇关于逆向思维训练 LLM 的工作也为未来的 LLM 研究提供了全新的思路。
以下是文章传送门:
论文题目:
Reverse Thinking Makes LLMs Stronger Reasoners
论文链接:
https://arxiv.org/abs/2411.19865
简而言之,这篇文章从数据合成,知识蒸馏的角度展开研究,通过构建能够揭示逆向思维过程的数据集,然后利用知识蒸馏框架,借助教师模型指导学生模型的训练过程,从而实现利用逆向思维提升 LLM 的推理能力。
什么是逆向思维
逆向思维:从确定的目标状态出发,通过分析因果链条,找到实现目标的路径。这种方法在问题较为复杂,正向思维容易迷失方向时特别有效。
以上是 ChatGPT 给出的逆向思维的基本解释。从直观上理解,逆向思维就是从答案反推问题。例如:“Emma 有 2 个苹果,Jack 有 3 个苹果,一共有几个苹果?”。
正向思维就是“2+3=5”,得出一共有 5 个苹果。
而逆向思维可以理解为:“已知一共有 5 个苹果,现在 Emma 有 2 个苹果,请问 Jack 有几个?”。
这么做有什么好处呢?一方面使用逆向思维能够更加明确推理路径,另一方面能够验证正向推理得到的答案是否正确。而这种思想其实已经在很多场景下有所应用。例如在机器翻译中,源语言和目标语言之间是存在互译的双向关系的,使用这种双向关系能够有效提升翻译的质量。
既然逆向思维非常有效,那为什么在大模型推理中并没有广泛应用呢?
作者认为主要的问题还是数据。
大多数的推理数据只有正向的推理过程,并没有逆向推理结果;
已有的一些逆向推理工作大多是集中在高度结构化的数据中,例如数学问题。这种问题可以通过简单的替换变量,替换条件实现逆向推理数据的构建。
那如何在更广泛,结构化更低的领域中利用逆向思维提升推理效果呢?
DeepMind 给了一个非常好的示例:
逆向思维如何实现
如上图所示:本文的主要流程可以分为如下步骤:
数据合成过程
针对原始的 QA 问题,借助 LLM 构建从 Q->R 的正向推理过程,同时仅保留得到正确答案的推理过程
构建详细的指令(针对每个任务),结合问题和答案,构建逆向问题Q_b 使用相同的 LLM,针对逆向问答Q_b,生成对应的逆向回答R_b 使用检验函数进行正向推理和逆向推理的一致性检查,仅保留一致的结果数据 模型训练过程(优化目标构建) 正向推理优化:利用正向问答 Q->R 优化模型,即模型要根据问题进行正确的推理回答 逆向问题生成:利用正向问题和逆向问题 Q->Q_b优化模型,即模型应该具备逆向思维的能力,学习正向问题和逆向问题之间的联系和区别 逆向推理优化:利用逆向问答Q_b->R_b优化模型,同样实用化模型需要根据问题进行正确的推理回答
逆向思维效果如何
同时使用正向问答 Q->R 和正逆向问题 Q->Q_b也能够有效提升模型的性能。 单独使用逆向问答Q_b -> R_b会降低模型性能,主要原因可能是该类型数据会出现数据分布漂移情况。
提示词展示(大力飞砖技巧)
“检验一流智力的标准,就是看你能不能在头脑中同时存在两种相反的想法,还维持正常行事的能力”。 ——《了不起的盖茨比》
扫描二维码添加小助手微信