北大 GPT 解题有数学老师内味了,用人话讲难题,从高中数学到高数都能搞定
克雷西 发自 凹非寺量子位 | 公众号 QbitAI
北大团队教会 AI 把人话当编程语言用。
这下大语言模型(LLM)不光能做对数学题,而且解题过程你也能看懂!
数学,曾经是不知多少人学生时代的梦魇。但是现在,LLM 或许可以帮你脱离苦海了。
用自然语言编程,本质就是描述步骤再执行,GPT3.5 其实本来就会,但结果却不忍直视——往往包含不完整步骤甚至事实错误。
于是团队便提出了 Learning to Program (LP)方法,让 LLM 从自然语言程序数据集中进行学习,并用学到的内容指导其推理过程。
具体来说,他们将一些高中数学问题和对应解题程序以自然语言形式灌输给 GPT。
经过训练,ChatGPT 具备了团队预期的解题能力。
在使用 10 个高中难度的数学问题进行的零样本测试中,LP 加持后的 LLM 成绩显著提高。
这 10 个问题包括几何、代数和微积分,具体如下表所示:
可以看出,在每一项任务中,有 LP 加持的 ChatGPT 表现,无论是在零样本还是少样本测试中,均优于独立或自编程的版本。
对于第 8 类问题,LP 加持版更是在少样本测试中取得了 100 分的成绩。
团队又将难度提高,测试其在(高等数学视角下的)中级代数(IA)、数论(NT)、几何、统计概率(CP)等方面的表现,结果均好于无加持的 ChatGPT 或仅有极小的差距。
当然,这些数据还不能证明 LP 训练在提高 ChatGPT 数学成绩当中的关联性。
于是团队使用一道几何问题,评估了 ChatGPT 在 LP 训练前、中、后三个阶段的表现。
结果显示,输出内容的正确率的确随着训练过程的进行在逐步提高。
在接下来的质量评价中,训练后的 LLM 可以给出多种通用性策略。
因此,团队认为,在今后的训练中,只需要将某一类问题的通用解法教给 LLM。
有了通用方法,它们就可以举一反三,解决未知但性质相同的问题。
LP 的训练过程是怎样的
LP 训练的第一步,是要先准备出问题,以及对应的用自然语言编写出的程序,作为训练数据集。
这种自然语言程序不是具体的解题步骤,它们需要具有更强的通用性。
相应的,准备的问题也不是具体的,而是某一类问题。
既要简短明确,同时又要考虑到实际过程中所有可能出现的情况。
这些自然语言程序主要有三种来源:机器自生成、人工编写和经 LP 训练的 LLM 生成。
人工编写工作量过于庞大,LP 训练已经是结果,所以实际使用的数据集主要来源于第一种途径。
有了训练数据,LLM 便可以结合数据集中的问题,学习句子、段落和公式。
初步学习完成之后,就要让 LLM 进行预测,并与预设结果比较,计算误差。
同时,所有不符合预设正确结果的输出均被收集,构成了错误数据集。
错误数据集在之后的阶段也将作为 LLM 学习的内容,以避免再次出现同样的失误。
基于这些错误数据,研究人员让 LLM 对所提出的策略进行回溯,但又引发了新的问题:
一是出现了重复的解决方案需要移除,二是有些方案自身内容虽然没错,但与问题并不匹配。
最重要的第三点,是输入数据的长度会随着回溯的过程不断增加……
于是团队还需要对回溯数据进行压缩,并判断它们对 LLM 改正错误是否有帮助。
经过这一系列的处理,便可以将回溯数据作为训练样本,升级 LLM 程序了。
最终,升级后的程序经过检验,就可以使用了。
△举个例子:已知直角三角形两边,求某角正弦值
团队介绍
团队的领导者是北京大学王选计算机研究所博士生导师赵东岩研究员和微软亚洲研究院首席研究员段楠博士。
赵东岩 2000 年获得北大博士学位,主要研究方向为自然语言处理、大规模语义数据管理、基于知识的智能服务技术。
段楠博士毕业于天津大学,于 2012 年进入微软一直研究院,并在 2018 年 6 月晋升为首席研究员。
此外,他还多次担任 NLP/AI 学术会议程序主席,发表学术论文 100 余篇,持有专利 20 余项。
论文地址:https://arxiv.org/abs/2304.10464
参考链接:[1]https://www.microsoft.com/en-us/research/people/nanduan/[2]https://www.wict.pku.edu.cn/zhaodongyan/[3]https://www.linkedin.com/in/nan-duan-322739a/details/experience/
卡奥斯开源社区是为开发者提供便捷高效的开发服务和可持续分享、交流的 IT 前沿阵地,包含技术文章、群组、互动问答、在线学习、大赛活动、开发者平台、OpenAPI 平台、低代码平台、开源项目等服务,社区使命是让每一个知识工人成就不凡。
评论