智东西12月15日消息,刚刚,谷歌DeepMind实现了数学大模型领域的重要突破,其发布的FunSearch针对诸多历史上经典数学难题给出了新的解法,能力超越了人类数学家,相关研究已登陆Nature。
简单来说,FunSearch就是一种基于大模型来解决数学问题的新方法,一套新AI技术。
FunSearch的研究意味着:历史上第一次有人用大模型,对科学或数学中具有挑战性的开放性问题给出了新的发现或解法。
FunSearch在经典的“帽子集(Cap set)”难题中,找到了有史以来“最大的帽子集”,据称这是过去20年里帽子集的上限规模增加最大的一次。
而在另一个经典“装箱(Bin packing)”问题中,FunSearch的性能超越了传统方式,并且相比神经网络和强化学习的AI技术,消耗的资源更少,灵活性更强。
装箱问题中,FunSearch比传统方式(左)更高效,可以用更少的箱子装入同样数量的物体
并且最重要的是,FunSearch给出的解法并不是一个“黑箱”,而是一个解决问题的程序,也就是说,FunSearch是真正的“授之以渔”,这对于科学家们来说是极为重要的突破。
这背后,研究人员通过新的方法防止大模型“幻觉”的出现是非常关键的,这也打破了许多人认为大模型很难找到“可验证”的新发现的固有印象。
FunSearch的研究可以应用在数据中心领域,以及各类工业系统中,用来提升任务处理的效率,其实际应用价值是巨大的。
数学难题一直是大模型很难“征服”的领域之一,这一次,谷歌成功将压力给到了OpenAI。
一、历史首次,大模型不仅给你答案,还给你解题思路
大家都知道大模型(LLM)很有用,它们几乎无所不能,但在发现全新知识方面却有些捉襟见肘,因为大模型的“幻觉”问题由来已久,用大模型去找到一些“可验证”的正确新发现是很有挑战的。
但这次谷歌DeepMind发表的这项研究,彻底颠覆了这一想法。
这个名为“FunSearch”的方法,是一种在数学和计算机科学中寻找新解决方案的方法。
从工作原理上来看,FunSearch将预先训练的大模型(其训练目标是以计算机代码的形式提供创新解决方案)与自动“评估器(Evaluator)”配对,这个评估器就是用来防止幻觉和错误想法出现的。通过在这两个组件之间反复迭代,初始解决方案就会“演变”为新知识。
这套系统在运行过程中,会搜索(Search)以计算机代码编写的“函数(Functions)”,因此得名FunSearch。
用大模型对科学或数学中具有挑战性的开放性问题给出新解法,并且结果更优秀,DeepMind发文称这尚属首次。
比如FunSearch发现了经典“帽子集”问题的新解决方案,这是数学领域中一个长期未解的问题。此外,为了展示FunSearch的实用性,研究员还用它发现了“装箱”问题的更有效的算法。
这些新方案和新算法在加速数据中心处理效率方面有着广泛应用。
值得一提的是,FunSearch最牛的地方在于,它不仅可以给出解法,还可以让研究人员看到“解题过程”,提供新的灵感,可以说是“授之以渔”了。
FunSearch输出的程序可以揭示其解决方案是如何构建的,而不是仅仅给出一个最终解决方案,这也让FunSearch成为了一个极为强大的科学工具。这一科学工具可以激发科学家们对相关问题进行进一步深入研究。
解决两个历史经典数学难题,能力远超科学家,比神经网络和强化学习更高效
我们具体来看看FunSearch到底解决了哪些经典数学问题。
1. 帽子集问题
首先,FunSearch解决的是帽子集问题,这一开放式数学问题几十年来一直困扰着多个研究领域的数学家。研究团队与相关领域的数学教授进行了合作。
简单来看,解决帽子集问题,需要在一个高维网格中寻找最大的点集(被称为帽集,a cap set) ,而在这个网格中,一条直线不可以同时经过三个点。
当然,要解决这一问题,依靠“暴力计算”是不可能的,因为可能性的数量会很快超过宇宙中原子的数量。
FunSearch以程序的形式生成了一些解决方案,在一些设置之下,发现了有史以来“最大的帽子集(the largest cap sets ever found)”,这是过去20年里帽子集的上限规模增加最大的一次。
此外,FunSearch的表现超过了最先进的计算求解器,因为这个问题的规模已经远远超出了这些计算求解器当前的能力。
FunSearch给出的程序
这些结果表明,FunSearch技术在处理困难的组合问题时,可以找到超越已有答案的解法,而这些问题往往难以建立“直觉(Intuition)”。
研究人员希望FunSearch可以在解决组合学中类似的理论问题时发挥作用,未来它可能会在通信理论等领域开辟新的研究可能性。
2. 装箱问题
除了帽子集问题,研究人员还利用FunSearch尝试解决了另一个“臭名昭著”的挑战——“装箱”问题,借此来探索FunSearch的灵活性。
简单来说,“装箱”问题就是如何将不同大小的物品打包到最少数量的箱子中,这其实是很多实际问题的核心,从集装箱装卸到数据中心分配计算任务,如何最小化成本。
虽然装箱跟帽子集问题有很大不同,但研究人员使用FunSearch来解决这个问题依然很容易。
FunSearch直接给出了一个可以自动定制的程序(可以根据数据的具体情况进行调整),其性能超过了传统的启发式方法(Best-fit heuristic),可以用更少的箱子打包相同数量的物品。
打包相同数量物品,FunSearch只用了五个箱子,而传统方式要用六个
当然,装箱问题可以用其他AI技术来解决,比如神经网络和强化学习,这些方法也被证明是有效的,但可能需要更大量的资源来部署。
另一方面,FunSearch输出的代码可以被很容易地检查和部署,这意味着它给出的解决方案可能被直接应用到各种实际的工业系统中,带来立竿见影的效率提升。
二、基于谷歌PaLM 2,还有三个关键方法改进
下面我们具体来看FunSearch的运作方式,其实这是一种“由大模型驱动的演化方法”,FunSearch会对大模型给出的解法评分,并持续迭代评分最高的解法。这些解法以计算机程序的形式表达出来,因此可以自动运行和评估。
首先,用户以代码的形式编写问题的描述。这个描述包括一个评估程序的过程,以及一个用于初始化程序池的种子程序(a seed program)。
FunSearch是一个迭代的过程,在每次迭代中,系统从当前的程序池中选择一些程序,这些程序被提供给大模型,而大模型会创造性地基于这些程序生成新的程序,新生成的程序会被自动评估。
评分最高的程序会被添加回现有程序的池中,由此形成一个自我改进的循环。
研究特别提到,FunSearch虽然此次使用的是谷歌的PaLM 2,但FunSearch与其他在代码上训练的大模型都是兼容的。
FunSearch的运作流程
实际上,在不同领域发现新的数学知识和算法是一项非常困难的任务,这已经大大超出了最先进的AI系统的能力。为了用FunSearch来解决这些具有挑战性的问题,研究团队引入了多个关键组件。
研究团队并非让FunSearch从头开始寻找答案,而是让它基于这些问题的常见解法开始进行解法的迭代演化。
此外,在演化过程中,研究人员使用了一种策略来提高大模型给出解法的多样性,以避免“原地打转”。最后,研究人员还通过并行运行演化过程提高了系统的效率。
三、FunSearch擅长“以小见大”,可以与研究人员协同解决问题
提到FunSearch的优势,研究人员称,FunSearch不是一个只生成问题解决方案的黑箱。相反,它生成的是描述如何得到这些解决方案的程序。
这种“展示工作过程”的方法是科学家们通常的操作方式,新的发现,往往需要发现产生的过程来进行解释。
FunSearch更倾向于找到由高度紧凑的程序表示的解决方案,这些方案具有低“Kolmogorov复杂性”。简单来说,FunSearch可以用很简短的程序描述非常大的目标对象,在研究人员看来,这让FunSearch有了“大海捞针”一般的能力。此外,这也让研究人员更容易理解FunSearch给出的程序输出。
值得一提的是,FunSearch和研究人员还可以相互协作解决问题,FunSearch给出的程序有很好的可解释性,这为研究人员提供了有价值的参考,研究人员借此获得了对问题的新洞察,改进引入到FunSearch中的问题,从而让FunSearch找到更好的解法,形成这种良性循环。
与DeepMind团队合作的大学教授感叹称,它自己在研究FunSearch生成的解决方案时也“学到了一些东西”。
研究人员通过检查FunSearch生成的代码获得新的见解(高亮部分)
四、解决“幻觉”问题,大模型将在更多领域发挥重要作用
这次谷歌DeepMind的研究表明,如果研究人员可以一定程度上抑制大模型的“幻觉”问题,大模型将会在诸如数学等领域涌现出新的应用潜力,大模型解决重要实际问题的能力也将有显著提升。
未来,对于科学和工业中的许多问题,使用大模型驱动的方法去生成有效的、定制的算法和程序,或许会成为更常见的做法。
谷歌DeepMind的研究只是一个开始,未来以FunSearch为代表的基于大模型的研究方法将继续迭代,大模型也将在更多领域释放自己的潜力。
本文来自微信公众号:智东西(ID:zhidxcom),作者:云鹏,编辑:编辑:李水青