帖文详情
avatar
@dotey@x.good.news
最近陶哲轩在 2024 年第 65 届国际数学奥林匹克上,陶哲轩做了一次 AI 和数学的演讲,非常精彩,从数学使用计算计算机的历史开始讲起,一直讲到大语言模型,干货相当多,尤其适合对数学有兴趣的同学。 (对数学没那么感兴趣的同学只想看 AI 部分的建议直接跳到 41 分的位置开始观看) 先摘录几个冷知识: 1. 我们使用机器做数学计算已经有数千年,最早的机器辅助计算可能是罗马人,然后是中国的算盘 2. 二战时就有人肉“计算机”,计算弹道和其他任务,多位女孩子,因为男士们在打仗,所以那时候的计算基本单位不是GPU,而是kilogirl-hour——“千名女孩工作一小时的计算量” 3. 现在,数学家们使用一种现代化的证明辅助编程语言,叫做 Lean。在 Lean 中有一个核心的数学库,通过众包的方式开发的,本科数学课程中看到的内容,比如微积分基础、群论基础或者拓扑学等等,这些都已经被形式化了,所以你不用从公理开始。 4. 现在数学领域有一种团队协作证明复杂数学定理的工作流程,那就是先编写一个称为“蓝图”的详细证明计划,将整个证明分解为数百个小步骤。每个步骤可以单独形式化,然后再将它们整合在一起,这样你就可以将一个庞大的论证分解成许多小块。先编写这个蓝图,然后团队中的其他人可以对论据的不同步骤的不同部分进行形式化。 去年,陶哲轩和几位同事一起解决了一个组合数学问题。这是一个组合学的问题。大约20人在短短三周内完成了,使用了蓝图工具,参与的人中有概率论专家,甚至还有一些并非数学家的人,他们是程序员,但在解决这些小型拼图问题上非常擅长。每个人都挑选了一个觉得自己能做的小任务,并完成了它。 在数学领域,通常很难这么多人一起合作,一般最多可能五个人合作。因为在大项目上合作时,你必须相信每个人的数学都是正确的。但是,一旦超过一定规模,这就无法实现了。但现在借助 Lean 编译器,它能自动检查。团队成员无法上传任何编译不通过的内容,会被拒绝。因此,你可以与一些从未见过的人合作。 最后是讲大语言模型,首先陶哲轩就打脸了 GPT-4 的论文(我猜是微软那篇《GPT-4,通用人工智能的火花》),论文中号称 GPT-4 能解决国际数学奥林匹克问题,但实际上,这个问题不是 2022 年国际奥数竞赛的原始问题,而是一个简化版本,并且他们测试了几百道国际奥数竞赛问题,成功率只有1%,论文里的这个是精心挑选的恰巧能做对的。 并且陶哲轩提到了基于大语言模型的一些改进的方案: 比如 CoT(Chain of Thought),也就是 LLM 做简单的算术运算都做不对,但是如果让它一步步解释,可能就对了。还可以教 AI 一些解题技巧,比如尝试简单的例子,反证法,尝试逐步证明等。 比如让模型和编程语言或者工具连接,将大语言的输出结果交给 Wolfram 这样的专业数学工具或者 Python 这样的编程语言验证,并且迭代的进行修正和验证,直到得到正确的结果,这可以提升大语言模型生成的效果。 即使借助这些手段,大语言模型还远远不能解决大多数数学问题,更不用说数学研究问题了! 当然陶哲轩也没太过打击大家对于 AI 的信心,表示我们在 AI 上还是在不断的取得进展,还提到了他日常是怎么用 AI 的,比如说把 AI 当成灵感之源。 > 我曾遇到过一个问题,我尝试了几种方法,但都无法解决。于是,我尝试询问 GPT,你建议我使用什么其他方法来解决这个问题?GPT 给我提供了 10 种可能的方法,其中有 5 种我已经尝试过,或者明显没有帮助。的确,有几种方法并不实用。但其中有一种我还没尝试过的方法,那就是针对这个问题使用生成函数。当 GPT 建议我使用这种方法时,我意识到这就是我漏掉的正确方法。所以,将 GPT 视为一个交流伙伴,它确实具有一定的用处。 还有使用 GitHub Copilot 帮他写代码,让它自动生成下一步的证明结果,Copilot 的智能提示有 20% 的概率能生成正确的下一步结果。 > 例如我使用的一个叫 GitHub Copilot 的工具,你只需要写下一半的证明,它就会尝试猜测接下来的内容。大概有 20% 的情况下,它能猜到接近正确的答案。然后你就可以说,我接受这个答案。好的,那么在这种情况下,我正在试图证明这个陈述。灰色的部分是 Copilot 给出的建议。结果发现第一行完全没用。不过第二行,尽管你可能看不清楚,却真的解决了这个问题。所以,你不能盲目接受它的输入,因为这些代码未必能顺利编译。但如果你对代码的运作方式已经有所了解,这将大大节省你的时间。这些工具正在变得越来越好。现在如果一个证明只需要一两行,它们就能自动完成。现在已经有了这样的实验,即通过迭代地让 AI 提供证明,然后让编译器进行反馈,如果编译出错,就把错误信息反馈给 AI。通过这种方法,我们开始能够验证四五步长的证明。当然,一个大型的证明可能需要数万行。所以,我们还没有达到能够立即得到一个正式证明的程度。但是,这已经是一个相当有用的工具。 对于大家关心的问题: AI 在数学领域现在到了哪一个阶段?是否未来几年利用 AI 能直接解决数学问题? 陶哲轩也给出了他的看法: > 我认为我们还远远没有达到这个阶段。如果我们专注于非常特定的问题,你可以定制专门的 AI 来处理一小部分问题。即便如此,它们也不是完全可靠的,但还是有用的。不过至少在接下来的几年里,它们基本上将是非常有用的辅助工具,超越了我们已经熟悉的暴力计算辅助。 他还提到了一些可能的 AI 能在数学领域提供帮助的方向: - AI 能够非常好地生成有价值的猜想 > 比如,我们已经看到了关于结理论的例子,它们已经可以推测出两个不同的统计量之间的关系。因此,我们希望能够创建大量的数据集,输入到 AI 中,它们就会自动找出各种不同的数学对象之间的有趣联系。虽然我们还不知道如何做到这一点,部分原因是我们没有这些庞大的数据集。但我认为这是未来可能实现的一个方向。 - 批量或者说规模化的证明大量数学定理 > 现在,因为证明定理是如此繁琐和艰难的过程,我们一次只能证明一个定理,如果你效率很高,可能一次能证明两三个。但是有了 AI,你可以设想一下未来的情况,我们不是试图解决一个问题,而是处理一类类似的1000个问题,然后告诉AI,尝试用这个方法解决这 1000 个问题,然后报告结果,哦,我能用这种技术解决 35% 的问题。那么另一种技术呢?我能解决这个百分比的问题。或者如果结合这些方法,又能解决多少问题?你可以开始探索问题的空间,而不是一个接一个地解决问题。这是你现在根本无法做到的事情,或者是你需要几十年时间,通过数十篇论文慢慢搞清楚各种技术能做什么,不能做什么。但是有了这些工具,你真的可以开始做规模前所未有的数学研究。所以,未来将会非常令人兴奋。 演讲环节结束前的最后一句话说的特别好: > 我们仍然会以传统方式证明定理。事实上,我们必须这样做,因为如果我们自己都不知道如何做这些事情,就无法引导这些 AI。但是我们将能够做很多现在无法做到的事情。 这恰恰也是我们现在使用 AI 辅助编程的问题:如果我们自己都不知道如何构建软件,就很难引导好 AI 帮助我们生成高质量的代码。 尽管 AI 在数学和编程领域变得越来越有用,但人类的洞察力和创造力仍然是创作价值的关键。 原始 YT 视频:t.co/TRxIgFVogF
查看详情
0
0
0
@dotey@x.good.news
0/481
加载中