来源:机器之心

简单的小学数学应用问题,对于人类来说不算什么,但对于模型来说,可能是有难度的。

比如问题:安东尼有 50 支铅笔。他把 1/2 的铅笔给了布兰登,剩下的 3/5 铅笔给了查理。他保留了剩下的铅笔。问安东尼保留了多少支铅笔?

像 GPT-3 这样的大型语言模型虽然取得了许多令人印象深刻的技能,包括模仿人的多种写作风格、20 分钟内完成论文等等。然而,类似 GPT-3 这样的模型很难执行需要进行准确多步推理的任务。就如上述问题让模型给出准确答案还是困难的。

尽管类似 GPT-3 这样的模型可以推导出正确解决方案大致内容,但也经常会产生严重的逻辑错误。

为了在复杂逻辑领域可以达到与人类相媲美的性能,模型必须具有判别自身错误的能力,并谨慎地执行之后的过程。但是,模型如何判别解决方案是否正确,来自 OpenAI 的研究者提出了一个训练验证器(verifier)来判断模型完成的正确性。

在测试阶段会生成许多候选解决方案并选择排名最高的一个。证明验证(verification)显着提高了 GSM8K 的性能,此外也为这一观点(随着数据的增加,验证比微调基线更有效)提供了强有力证据。

具体来说,该研究训练了一个解决小学数学问题的系统,其准确率约是经过微调的 GPT-3 模型的两倍。它能像真正的学生一样可以解决 90% 的数学应用问题:在提供的数据集中进行了小样本测试,结果表明 9-12 岁的学生测试得分为 60%,该研究所提系统在相同的问题上测试得分 55%。

这一结果非常重要,因为今天的 AI 在常识性多步推理方面仍然很弱,即使对小学生来说也很容易,但 AI 还是存在很大的缺陷。该研究通过训练模型来识别其错误,以便它可以反复试错,直到找到可行的解决方案。

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

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

下面展示了该研究所提新方法生成的解决方案其中一个案例:

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

175B Verification:正确 

175B Fine-tuning:错误 

6B Verification:正确 

6B Fine-tuning:正确 

GSM8K 数据集

OpenAI 基于四个设计原则创建了 GSM8K 数据集:高质量、高多样性、中等难度和自然语言解决方案。

GSM8K 数据集由 8.5K 个高质量小学数学应用题组成。每个问题需要 2 到 8 步解决,解决方案主要涉及使用加减乘除等基本算术运算执行一系列基础计算以获得最终答案。微调后的 SOTA 模型在该数据集上表现不佳,主要是问题的高度多样性导致的。与此同时,GSM8K 解决方案仅依赖于基本概念,因此实现高测试性能是一个容易实现的目标。

GSM8K 数据集中的三个示例问题。

值得注意的是,GSM8K 中的解决方案是用自然语言而不是纯数学表达式编写的。通过坚持使用自然语言,模型生成的解决方案更容易被人类解释。OpenAI 的方法保持相对领域不可知。

 方法

OpenAI 研究了两种解决 GSM8K 问题的方法:微调和验证。微调是基线方法,它使用与 GPT-3 中生成式预训练相同的语言建模目标(Brown 等人,2020 年)。在测试时,OpenAI 通过自回归采样单个低温解决方案并检查最终答案是否正确来判断性能。相比之下,验证包括对多个高温解决方案进行采样,为每个解决方案分配一个分数,并输出排名最高的解决方案。验证器被训练来判断解决方案的正确性,其中训练信号完全取决于解决方案是否获得了正确的最终答案

对于这两种方法,OpenAI 使用 GPT-3 系列模型作为初始化,主要关注 175B 和 6B 大小的模型。175B 模型最大,产生的结果最令引人瞩目,而 6B 模型更易于实现研究目。

微调

OpenAI 通过更新模型参数来进行微调,以最小化所有训练 token 的交叉熵损失。下图 2 显示了对 20 个 epoch 时不同大小的训练集进行微调后的测试性能。

结果不出所料,可以看到 175B 模型明显优于较小的模型。假设一个对数线性趋势,我们可以简单地推断这些结果,以估计当使用完整的 GSM8K 训练集时,需要具有 10^16 个参数的模型才能达到 80% 的求解率。尽管如此,175B 模型似乎需要至少两个额外数量级的训练数据才能达到 80% 的求解率。

在下图 3 中,OpenAI 展示了 6B 模型测试性能在 100 个训练 epoch 的过程中如何变化。当允许模型对每个问题进行 N 个单独的猜测时,OpenAI 使用 test@N 表示至少一次正确解决的问题的百分比。尽管很快开始过拟合测试损失,但 Test@1 的性能几乎单调地提高。并且,随着 epoch 次数的增加,test@100 的性能比 test@1 下降得更快。

选择具有良好覆盖性的模型对于成功训练验证器至关重要。从实证角度来看,test@100 性能在前几个 epoch 内达到峰值。出于这个原因,OpenAI 使用训练了 2 个 epoch 的模型来生成用于训练验证器的样本。如果改为微调 6B 模型以直接输出最终答案而无需任何中间步骤,则性能会从 20.6% 急剧下降至 5.2%。

 验证

为了改进微调基准,OpenAI 训练验证器判断模型生成的解决方案的正确性,并在测试时搜索这些验证器。以问题和候选解决方案为条件,验证器输出解决方案正确的概率。仅根据它们是否达到正确的最终答案,将训练解决方案标记为正确或不正确。不过,在实践中,一些解决方案会使用有缺陷的推理得出正确的最终答案,从而导致误报。

如下图 4 所示,OpenAI 按如下方式训练验证器:

  • 在训练集上对模型(生成器)进行 2 个 epoch 的微调;

  • 从生成器中为每个训练问题抽取 100 个完成样本,并将每个解决方案标记为正确或不正确;

  • 在数据集上训练一个单一 epoch 的验证器。

在测试时,OpenAI 对每个测试问题采样了 100 个完成情况,用验证器对它们进行排名,然后返回得分最高的那个。下图 5 展示了 6B 和 175B 模型的验证和微调两种方法之间的对比情况,结果发现在低数据集下使用验证方法是没有好处的。有趣的是,175B 验证器比 6B 验证器更早「起飞」,超越微调基线需要的时间更少。

在完整的训练集上,随着 epoch 的增加,使用验证方法的 6B 模型最终略优于微调的 175B 模型,性能提升大约相当于模型大小增加 30 倍。

训练验证器既可以在全部的生成解决方案里进行单个标量预测(single scalar prediction),也可以在解决方案的每个 token 后进行单个标量预测,OpenAI 选择后者,即训练验证器在每个 token 之后进行预测。实验结果如图 6a 所示,它们分别标记为「解决方案级别」和「token 级别」。

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

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

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

GPT-3会做小学应用题了!60亿击败1750亿,并非参数越大越好相关推荐

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

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

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

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 会做数学题的GPT-3,逻辑推理能力是上了一个高度,但还不能及格. ...

  3. 小孩孩子应用题计算机错误,孩子做数学应用题的能力很差,该怎么办?

    2019-08-20 18:03:57 关于数学应用题太差怎么办问题如下:问题分析:对于孩子的成绩家长都是非常关注的,望子成龙是每个家长的心愿.但是受到遗传.体质.后天的营养.环境以及教育的不同,孩子 ...

  4. 人工智能开讲:用 Seq2Seq 模型做数学应用题

    ▲"鸡兔同笼"的那些年 "盈亏问题"."年龄问题"."植树问题"."牛吃草问题"."利润问 ...

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

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

  6. project 模板_施工进度横道图不会做?18份计划模板收藏好,输入参数迅速成图...

    施工进度横道图不会做?18份计划模板收藏好,输入参数迅速成图 作为施工组织设计的关键内容,施工进度计划控制了工程施工进度.工程施工期限等各项施工活动.进度计划是否合理,直接影响施工速度.成本和质量.因 ...

  7. office2019 图目录_施工进度横道图不会做?18份计划模板收藏好,输入参数迅速成图...

    施工进度横道图不会做?18份计划模板收藏好,输入参数迅速成图 作为施工组织设计的关键内容,施工进度计划控制了工程施工进度.工程施工期限等各项施工活动.进度计划是否合理,直接影响施工速度.成本和质量.因 ...

  8. 使用GUID分区表(GPT)的笔记本硬盘做移动硬盘,windowsXP系统不识别的问题

    问题描述: 弄了块笔记本硬盘加硬盘盒,准备做移动硬盘用,装上后win7下可识别,做了分区格式化,但在XP的机器上不能识别,插上后显示系统发现了USB设备,但只能识别为USB mass storage ...

  9. 用java做小学数学系统_基于jsp的小学数学试卷生成-JavaEE实现小学数学试卷生成 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的小学数学试卷生成, 该项目可用各类java课程设计大作业中, 小学数学试卷生成的系统架构分为前后台两部分, 最终实 ...

最新文章

  1. HDU2066(SPFA算法)
  2. 02、如何进行网站性能优化或怎么加快页面的加载速度
  3. linux配置端口ipv6地址,linux配置ipv6地址命令
  4. SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)
  5. 时间函数java_Java时间函数整理
  6. 如何编写有效的Bug Report
  7. 【最新教程】Pytorch还是Tensorflow超强两大框架实战
  8. java基础(十一章)
  9. CMU 15-213 Introduction to Computer Systems学习笔记(4) Machine-Level Programming-Basic
  10. 10款免费的电路设计软件,你用过几个?
  11. 华工材料力学能用计算机吗,华南理工大学材料力学考研经验分享与资料.pdf
  12. eclipse加载jdbc驱动(mysql)
  13. Python官方文档中文版在线教程
  14. PHP之阿里云短信接口接入
  15. python生成摸头GIF动态图
  16. 古代地图的那些趣事儿
  17. c语言程序的流程控制语句,三 C语言流程控制语句
  18. 生活中常给自己的心理暗示:
  19. 【shell】shell下获取指定目录及子目录下的所有文件或指定文件
  20. Redis专题之10、第10篇:Redis主从复制

热门文章

  1. text、RC、Parquet、ORC
  2. 用哪种语言写的应用漏洞最严重?六大主流语言代码漏洞分析报告出炉
  3. 斯坦福的智能马桶能凭肛纹识人,大便和尿液都把你的信息“卖”了……
  4. 排列(permutation)2_6
  5. 这个CV数据集生成器火了,支持13类复杂CV任务,DeepMind谷歌MIT等打造丨开源
  6. 自然语言处理ACL2020论文列表
  7. ResNet最强改进版来啦!ResNest在多项任务中达到SOTA
  8. SAP Retail Execution Overview
  9. 管理就16个字!做不到,就走人!
  10. 人工智能赋能中国健康医疗服务