点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

会做数学题的GPT-3,逻辑推理能力是上了一个高度,但还不能及格。

作者 | 吴彤

编辑 | 青暮

现在小学数学题有多难?小学生拍图上传作题App找不到现成答案,稍微变换下题设语句,就要买会员换人工答题。

一时间小学生纷纷成了“氪金玩家”。

即便是题目换汤不换药,讲题APP还是罢了工。如果有一款能听懂大白话的作题软件能有多好!

近日,OpenAI训练了一个新系统,可解决小学数学题,称其提升了GPT-3的逻辑推理问题。

自去年6月11日以来,OpenAI公布GPT-3语言模型,GPT-3成为OpenAI的旗舰语言生成算法,参数规模达1750亿,在文本生成上与人类写作相媲美。

三个月后,OpenAI 又推出用于数学问题的 GPT-f,利用基于 Transformer 语言模型的生成能力进行自动定理证明。

时至今日,GPT-3的能力依据被冠以“大力出奇迹”,光凭解答小学程度的几道数学题,就能盖过对OpenAI的质疑声吗?

  • 论文地址:https://arxiv.org/pdf/2110.14168.pdf

  • 数据集地址:https://github.com/openai/grade-school-math

其中涉及一大难点:GPT-3真的懂逻辑吗?即便是数学语言不同于大白话,但依旧涉及很多逻辑关系,一步错步步错。

为此,OpenAI 基于四个设计原则创建了 GSM8K 数据集供GPT-3反复训练,即数据集为高质量、高多样性、中等难度和自然语言的答题形式。

GSM8K 数据集由 8.5K 个高质量小学数学应用题组成,每个问题需要 2 到 8 步解决,涉及到加减乘除整合运算,难度近乎9-12岁的小学数学题。

结果发现,60亿参数的GPT-3采用“新方法”,准确率直接翻倍!甚至追平了拥有1750亿参数,采用微调方法的GPT-3模型。

新方法挑战比自己高30倍的大参数模型,力证参数并非越大越好,这一新方法是什么?

1

训练验证器:从错误中学习的模型

像GPT-3这样的大型语言模型有许多惊人的技能,包括模仿多种写作风格,自动编程、自然对话、语义搜索等。然而,它们很难完成需要精确的多步骤推理的任务,比如解决小学数学应用题。

「小明每半小时喝一瓶水。一个普通的数独难题要花他45分钟。一个极难的数独需要4倍的时间。做一道极难的数独的时间他喝了多少瓶水?」

在这样的数学题中,GPT-3要匹配人类在复杂逻辑领域中的表现,一味提高参数,是解决办法的长远之策吗?

并不!OpenAI在新方法中提到,为什么不让模型学会识别自己的错误呢?从许多候选的解决方案中选择出最佳方案!

为此,OpenAI训练了验证器(verifier),来评估所提出的解决方案是否正确。可比通过更新模型参数,最小化所有训练token的交叉熵损失的方法要多一个思路。

增加一个“验证”模块,通过反复试错,学习,再计算,原先微调无法解决的GPT-3逻辑推理能力,在新方法中得到进步。 

对于两种思路,OpenAI通过新的GSM8K数据集来测试两种方法:

  • 高质量:GSM8K中的问题都是人工设计的,避免了错误问题的出现。

  • 高多样性:GSM8K中的问题都被设计得相对独特,避免了来自相同语言模板或仅在表面细节上有差异的问题。

  • 中等难度:GSM8K中的问题分布对大型SOTA语言模型是有挑战的,但又不是完全难以解决的。这些问题不需要超出早期代数水平的概念,而且绝大多数问题都可以在不明确定义变量的情况下得到解决。

  • 自然语言解决方案:GSM8K中的解决方案是以自然语言而不是纯数学表达式的形式编写的。模型由此生成的解决方案也可以更容易被人理解。此外,OpenAI也期望它能阐明大型语言模型内部独白的特性。

GSM8K中的三个问题示例,红色为计算的注释

在GSM8K数据集上,OpenAI测试了新方法验证(verification)和基线方法微调(fine-tuning)生成的答案。

即4种不同的解决方案:6B微调、6B 验证、175B 微调和 175B 验证。

在性能展示中,OpenAI提供了十个数学题实例,其中一个是的解决方案如下:

小明种了 5 棵树。他每年从每棵树上收集 6 个柠檬。他十年能得到多少柠檬?

175B 验证正确

175B 微调错误

6B 验证正确

6B微调正确

很明显,验证方法(verification)比基线方法微调(fine-tuning)在回答数学应用题上有了很大的提升。

在完整的训练集上,采用「验证」方法的60亿参数模型,会略微优于采用「微调」的1750亿参数模型!

但大模型也不是一无是处,采用「验证」的1750亿参数模型还是比采用「验证」方法的60亿参数模型学习速度更快,只需要更少的训练问题,就能超过微调基线。

OpenAI发现,只要数据集足够大,大模型就能从「验证」中获得强大的性能提升。

但是,对于太小的数据集,验证器会通过记忆训练集中的答案而过度拟合,而不是学习基本的数学推理这种更有用的属性。

所以,根据目前的结果进行推断,「验证」似乎可以更有效地扩展到额外的数据。

大模型毕竟有大模型的优势,如果之后能够用大模型+验证的方式,将会使得模型性能再上一个level !

2

 新方法是如何验证的?

验证器训练时,只训练解决方案是否达到正确的最终答案,将其标记为正确或不正确。但是在实践中,一些解决方案会使用有缺陷的推理得出正确的最终答案,从而导致误报。

现在的验证器具体训练方法分为三步走:

  1. 先把模型的「生成器」在训练集上进行2个epoch的微调。

  2. 从生成器中为每个训练问题抽取100个解答,并将每个解答标记为正确或不正确。

  3. 在数据集上,验证器再训练单个epoch。

生成器只训练2个epoch是因为2个epoch的训练就足够学习这个领域的基本技能了。如果采用更长时间的训练,生成的解决方案会过度拟合。

测试时,解决一个新问题,首先要生成100个候选解决方案,然后由验证器打分,排名最高的解决方案会被最后选中。

训练验证器既可以在全部的生成解决方案里进行单个标量预测(single scalar prediction),也可以在解决方案的每个 token 后进行单个标量预测,OpenAI 选择后者,即训练验证器在每个 token 之后进行预测。

如下图所示,它们分别标记为“解决方案级别”和“token 级别”。

在b图中,通过消融实验验证训练验证器中使用目标(objective)的作用, OpenAI 将使用两个目标与仅使用验证目标进行比较。

在c图中,OpenAI 对生成器和验证器的大小进行了实验,研究发现使用大的生成器、小的验证器组合性能显著优于小的生成器、大的验证器组合。

3

写在最后

通过OpenAI所展现出的10个数学实例是看出,使用验证方法比单纯扩大参数要更加智能,但缺点是并不稳定。比如在另一个问题实例中,仅有175B验证模型输出正确结果:小明是一所私立学校的院长,他有一个班。小红是一所公立学校的院长,他有两个班,每个班的人数是小明班级人数120人的1/8。问两所学校的总人数是多少?

AI发展道阻且长,目前绝大多数的机器学习仍依赖于数据堆砌,缺乏根本性的技术突破,存在一定的发展瓶颈。Google 工程总监 Ray Kurzweil 曾在采访中表示,直到 2029 年,人类才有超过 50% 的概率打造出 AGI 系统,还有一部分专家表示至少要到2099年或2200年。

现下,通过在一些简单的领域试验新路径,识别和避免机器学习的错误是推动模型发展的关键方法,比如这种简单的小学数学题。最终当我们试图将模型应用到逻辑上更复杂的领域时,那些不被了解的黑箱子将变得越来越透明。

参考链接:

https://openai.com/blog/grade-school-math/

https://zhuanlan.zhihu.com/p/427877874

点个在看 paper不断!

OpenAI新发现:GPT-3做小学数学题能得55分,验证胜过微调!相关推荐

  1. 60亿击败1750亿、验证胜过微调:OpenAI发现GPT-3解决数学题,并非参数越大越好...

    视学算法报道 编辑:杜伟.陈 现在,OpenAI 的模型也具备解决小学数学应用题的能力了. 简单的小学数学应用问题,对于人类来说不算什么,但对于模型来说,可能是有难度的. 比如问题:安东尼有 50 支 ...

  2. 用python做简单的题目_「每日一练」巧用python做小学的数学题

    原标题:「每日一练」巧用python做小学的数学题 很多的小学问题其实已经比较复杂了,我们运用传统的算法,可能会比较难以理解,这里我们可以巧用Python来完成一些小学题目的计算! 下边我们就一起来看 ...

  3. 被小学数学题套路到哭!这些“逆天”题目,谁做谁知道…

    全世界只有3.14 % 的人关注了 爆炸吧知识 看着孩子的作业题,有多少爸爸妈妈感叹着,幸亏自己毕业早,要不然小学都不能毕业! 这不,最近一道简单的小学数学题,又刷爆了家长们的朋友圈.一起往下看. 算 ...

  4. Python神器可以拯救小学数学题不会做

    大家好,我是小小明. 今天看到了一道我做不出来的小学数学题: 目前的要求就是要求出阴影部分的面积: 虽说只是一道小学数字题,但作为渣渣我是真的不会做.虽然我不会做,但是我会Python,所以可以让Py ...

  5. 北大计算机博士生先于OpenAI发表预训练语言模型求解数学题论文,曾被顶会拒绝...

      视学算法报道   来源:EMNLP 编辑:好困 小咸鱼 [新智元导读]北大博士生沈剑豪同学一篇关于「用语言模型来解决数学应用题」的EMNLP投稿在综合评审时被认为不够重要,收录于Findings而 ...

  6. python小学生口算题生成器_小学数学题出题神器

    小学数学题生成器是一款简易的小学数学题目出题神器,目前支持20以内的加减混合运算,未来会更新更多的功能.对于想要在家给孩子练习的家长来说,还是比较方便的,而且能够打印. 软件介绍 今年儿子刚上一年级, ...

  7. 国内奇葩小学数学题横扫推特,老外被难哭了

    "一艘船上有26只绵羊和10只山羊,船上船长几岁?" 是不是觉得上面这些字你都认识,但连起来看就是不知道什么意思? 这种颠覆式的小学数学题可能对阅历丰富的网友来说已经不刺激了. 但 ...

  8. 最近被刷屏的这道小学数学题,你怎么看?

    来自网络 ●●● 看着孩子的作业题, 有多少爸爸妈妈感叹, 幸亏自己毕业得早, 要不然小学都不能毕业! 这不, 最近一道小学数学题, 又刷爆了家长们的朋友圈. 一起往下看, 算一算图中的这道小学数学题 ...

  9. 小学数学题升维思考,降维打击

    目录 一.背景 二.题目 三.过程 1.形式转换 2.个位数相加只能向前进一位嘛? 3.十位数上要填写的内容? 4.如何下意识的去做结构化? 四.总结 五.升华 一.背景 公司的产品是做K12的教育平 ...

最新文章

  1. Spring之事务管理配置
  2. java时间操作方法Calendar
  3. 【Linux】一步一步学Linux——telinit命令(144)
  4. java中的并发类_java中并发常用工具类
  5. 如何防止应用程序泄密?
  6. Java 并发编程之读写锁 ReentrantReadWriteLock
  7. linux 修改bios信息,一种基于Linux系统通过IPMI工具修改BIOS选项的测试方法及系统_2017103901253_权利要求书_专利查询_专利网_钻瓜专利网...
  8. html 显示文本字段,HTML文本框和文本字段样式_五五站长网
  9. MySQL创始人发邮件寻求中国帮助
  10. css的写法 有点凌乱(养成这习惯 神马浏览器兼容都是浮云 so easy)
  11. 新版ubuntu16.04安装旧版商店与flash
  12. html table表格重叠,详解html中表格table的行列合并问题解决
  13. Executing an update/delete query报错
  14. matlab scop的波形图怎么标注,matlab_simulink_示波器_scope图片属性设置.doc
  15. 今天才发现!通过微信左下角,还可以快速找到未读消息
  16. C语言经典编程(浙大版C语言第三版)详解
  17. word制作招聘启示文档教学
  18. python和anaconda安装顺序_Anaconda详细安装步骤图文教程
  19. matlab中类的用法
  20. 淘宝/天猫API开发流程

热门文章

  1. C#设置本地网络(DNS、网关、子网掩码、IP)
  2. 刻意练习:LeetCode实战 -- 不同的二叉搜索树
  3. 【怎样写代码】参数化类型 -- 泛型(六):泛型接口
  4. Matlab编程与数据类型 -- 函数M文件的组成
  5. 融合AI与大数据技术,腾讯教育发布智能作业灯
  6. 中国开源大爆发进行时,你没掉队吧?
  7. 从0到1,Airbnb的深度学习实践经验总结
  8. 轻松应对Java试题,这是一份大数据分析工程师面试指南
  9. AI一分钟 | 特斯拉官方回应致死事故:鉴定报告尚不完整
  10. 一款高颜值的MySQL管理工具:Sequel Pro