您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

PromptPG:当强化学习遇见大规模语言模型

时间:2023-04-07 13:58:07  来源:  作者:机器之心

数学推理是人类智能的一项核心能力,但对于机器来说,抽象思维和逻辑推理仍然是一个很大的挑战。大规模预训练语言模型,如 GPT-3 和 GPT-4,在文本形式的数学推理(如数学应用题)上已经取得了显著的进展。然而,目前我们还不清楚这些模型能否处理涉及到异构信息(如表格数据)的更复杂的问题。为了填补这一空白,来自 UCLA 和艾伦人工智能研究院(AI2) 的研究人员推出了 Tabular Math word Problems (TabMWP) ,这是一个包含了 38,431 个开放领域问题的数据集,需要同时在文本和表格数据上进行数学推理得到正确答案。TabMWP 中的每个问题都与一个上下文相关联,这个上下文包含图片、文本或结构化格式的表格。

研究人员在 TabMWP 上评估了包括 Few-shot GPT-3 等不同的预训练模型。正如已有的研究发现,Few-shot GPT-3 很依赖 in-context 示例的选择,这导致其在随机选择示例的情况下性能相当不稳定。这种不稳定在处理像 TabMWP 这样复杂的推理问题时表现得更加严重。为了解决这一问题,作者提出了 PromptPG 方法,这种方法将示例的选择转化成强化学习中的 contextual bandit 问题,并且利用 Policy Gradient 训练一个策略网络来学习从少量的训练数据中选择最优的 in-context 示例。实验结果表明,他们提出的 PromptPG 方法在回答问题的准确性上超过最优基准(Few-shot CoT GPT-3)5.31%,并且相对于随机选择的 in-context examples,他们的方法显著降低了预测的方差,提升了这类方法的稳定性。

图片

 

  • 论文链接:https://arxiv.org/abs/2209.14610
  • 代码链接:https://Github.com/lupantech/PromptPG
  • 项目主页:https://promptpg.github.io
  • 数据可视化:https://promptpg.github.io/explore

1、TabMWP 数据集

下面是来自 TabMWP 数据集的两个例子。其中一个是答案为数值类型的自由文本问题(free-text),另一个是答案为文本类型的多项选择题(multi-choice)。可以看到,每个问题都提供了一个包含分步推理的解答。要解决 TabMWP 中的问题,系统必须同时具备查表和多步数学推理的能力。举下图中的例子来说,要回答 “how much will she spend (if Tracy buys three kinds of breads)”,我们需要先在表格中查找出三种面包对应的价格,再计算购买每种面包的费用,并对它们求和已得到最终的费用。

图片

如下表的统计所示,TabMWP 数据集包含 38,431 个表格数学问题。其中 74.7% 的问题属于自由文本问题,25.3% 的问题属于多选题。TabMWP 共有 28,876 个不同的问题,6,153 个不同的答案和 35,442 个不同的解答,表明其在问题分布方面具有丰富的多样性。这些问题平均长度为 22.1 个单词,解答平均长度为 49.5 个单词,这表明 TabMWP 具有词汇的丰富性。TabMWP 的一个显著特点是,每个问题都附带有一个表格上下文,如果没有表格,问题将无法解决。TabMWP 总共有 37,644 个不同的表格,表格平均有 5.9 行和 2.2 列,12.9 个单元格,最大可达 54 个单元格。这些统计数据表明,TabMWP 中的表格也具有丰富的多样性。

图片

TabMWP 数据集有两种不同的问题类型以及五种不同的答案类型:

图片

TabMWP 中的每个问题都有一个表格上下文,它以图像、半结构化文本和结构化三种格式表示。这为开发不同类型的推理模型提供了可能性。

图片

相比于已有的数据集,TabMWP 同时需要表格理解和数学推理能力来回答问题。另外,TabMWP 每道题都有详细的多步推理过程,在数据集大小、表格类型、问题类型和答案类型上有明显的优势。据本文所知,TabMWP 是第一个在开放领域表格场景下的数学推理数据集。

图片

2、PromptPG 方法

考虑到大规模预训练模型例如 GPT-3 在解决数学应用题方面取得的成功,作者首先使用 Few-shot GPT-3 在 TabMWP 上建立了一个基准。他们从训练集中随机选择一些上下文示例以及测试样本构成提示(prompt),提示 GPT-3 预测答案。然而,最近的研究表明,这种基于随机选择的 few-shot 学习在不同的上下文示例选择上可能会表现得非常不稳定。在处理类似 TabMWP 这样的复杂推理问题时,随机选择的效果可能会更差,因为其问题涉及到不同类型和格式的表格。

为了解决这个问题,作者提出了一种改进方法:通过 Policy Gradient 进行提示学习,从少量的训练数据中学习选择上下文示例,称为 PromptPG。如图 2 所示,策略网络学习从候选池(candidate examples)中找到最佳的 in-context example,其优化目标是在与 GPT-3 环境交互时最大化给定训练示例(training example)的预测奖励。选择示例的策略网络是一个基于固定参数的 BERT 语言模型和一个参数可学习的单层神经网络。在完成优化学习后,PromptPG 可以对不同的测试题目,动态地从候选示例中选出不同的最优示例,从而最大化提高 GPT-3 的推理性能。

图片

以下为 PromptPG 的学习算法。 

图片

3、实验与分析

图片

预训练与微调

表 3 对比了 PromptPG 和不同基准在 TabMWP 数据集上的结果。可以看到,TAPEX 由于在表格数据上进行了预训练,在相似参数量的前提下,其比 UnifiedQA 的表现要更好。对于 TAPEX 和 UnifiedQA 来说,提高模型的参数量都可以提高预测的准确性。此外,在 TabMWP 上进行模型的微调也可以极大地提升预测的准确性。

大规模语言模型

GPT-3 在没有任何微调的情况下(Zero-shot GPT-3),可以取得与微调过的 UnifiedQA 以及 TAPEX 模型相近的准确性。如果 Few-shot GPT-3 模型随机选择两个 in-context 示例作为 GPT-3 的提示,其相比 Zero-shot GPT-3 可以进一步提升 0.17%。通过让 Few-shot GPT-3 在生成最终答案前生成多步的中间步骤(Few-shot-CoT GPT-3),研究人员可以得到最优的基准模型,其准确率达到了 62.92%。

PromptPG

区别于随机选择 in-context 示例,本文提出的 PromptPG 通过 Policy Gradient 训练一个策略网络来选择更合适的 in-context 示例,在 TabMWP 上取得了最高的预测结果(68.23%),其平均预测准确率超过最好基准模型(Few-shot-CoT GPT-3)5.31%。值得注意的是,对于几乎所有的问题类型、答案类型和问题难度,PromptPG 都展现出了其在预测准确率上的优势。尽管如此,PromptPG 距离人类 90.22% 的表现则还有很大的提升空间。

消融实验

图片

表 4 表明,TabMWP 的所有输入元素(问题文本、表格信息、选项信息)都对正确回答问题至关重要。只有所有的问题元素作为输入信息,Zero-shot GPT-3 才取得了其相对最高的平均预测准确率(59.50%)。

不同的示例选择

图片

作为对比实验,研究人员还比较了其他不同示例选择的方法。如表 5 所示,选择与测试问题相同的题型或者答案类型可以帮助模型找到更相关的示例,并提高回答的准确性。选择最复杂的示例则并不能稳定地提高回答准确性。在候选示例中固定选择两个最好的示例,可以小幅度提高准确性,并降低方差。选择语义上最接近测试问题的示例可以达到最接近 PromptPG 方法的准确性。总体来说,PromptPG 全面展现了其在提升预测准确性和降低预测方差上的优势。

下图展示了 PromptPG 选择的示例以及最终的预测结果。可以看到,PromptPG 方法可以选择与测试题目具有类似的数学能力的示例,从而提高 Few-shot GPT-3 的推理性能。

图片

预测成功的例子

以下展示了 PromptPG 对一个自由文本问题的正确回答。这个问题要求对表格中的八个数字分别进行加法和除法计算以得到平均值。

图片

在如下的例子中,模型被要求理解一个税收报告,并计算扣税后的工资。

图片

以下展示了 PromptPG 对多选题问题的正确预测。给定的表格一共有 9 行和 6 列。模型成功地定位到了表格中的目标单元格,并进行多步推理以预测正确答案。

图片

在以下的例子中,模型需要比较预算和总成本,以验证 Ariana 是否有足够的钱。

图片

预测失败的例子

以下展示了 PromptPG 对自由文本问题的错误预测。模型检索到了错误的玫瑰石英价格,从而错误计算了三个物品的成本总和。

图片

在以下的例子中,问题提供了一个抽象的茎叶表。模型无法理解这个特定领域的表格,并且缺乏高级逻辑推理能力从而得到了错误的答案。

图片

以下的例子表明,现有的模型似乎不具有对数字排序的能力。

图片

在以下的例子中,表格中没有出现与问题提到的当前时间完全一致的时间,因此模型无法准确定位到下一站的出发时间。

图片

以下的例子中,模型很难准确完成一长串数字的算术运算。

图片

4、结论与展望

作者提出了 TabMWP,这是第一个针对表格语境的数学问题求解的大规模数据集。TabMWP 包含了 38,431 个开放领域的问题,其中包括两种问题类型和五种答案类型,每个问题都标注了多步的解答过程。作者使用了最先进的 QA 和 TableQA 方法,在预训练和微调设置下对 TabMWP 进行了全面的实验,以及使用大型预训练语言模型 GPT-3 进行评估。作者进一步提出了一种全新的强化学习方法 PromptPG,该方法利用 Policy Gradient 学习从训练数据中选择最优的实例用于提示用于 GPT-3 模型。实验结果表明,与随机选择相比,PromptPG 的性能明显优于现有的基线,并且减少了预测中的性能不稳定性。



Tags:语言模型   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
为何大语言模型不会取代码农?
译者 | 布加迪审校 | 重楼生成式人工智能(GenAI)会取代人类程序员吗?恐怕不会。不过,使用GenAI的人类可能会取代程序员。但是如今有这么多的大语言模型(LLM),实际效果不一而足。如...【详细内容】
2024-03-21  Search: 语言模型  点击:(23)  评论:(0)  加入收藏
简易百科之什么是大型语言模型?
简易百科之什么是大型语言模型?随着人工智能技术的不断发展,语言模型在自然语言处理领域的应用越来越广泛。大型语言模型作为其中的一种重要类型,受到了广泛的关注和研究。那么...【详细内容】
2024-01-26  Search: 语言模型  点击:(162)  评论:(0)  加入收藏
大语言模型插件功能在携程的Python实践
作者简介成学,携程高级安全研发工程师,关注Python/Golang后端开发、大语言模型等领域。一、背景2023年初,科技圈最火爆的话题莫过于大语言模型了,它是一种全新的聊天机器人模型,...【详细内容】
2024-01-26  Search: 语言模型  点击:(74)  评论:(0)  加入收藏
大型语言模型中最大的瓶颈:速率限制
作者 | Matt Asay策划 | 言征 出品 | 51CTO技术栈(微信号:blog51cto)速率限制意味着每个人都在等待更好的计算资源或不同的生成人工智能模型。大型语言模型(LLM),如OpenAI的GPT-4...【详细内容】
2024-01-19  Search: 语言模型  点击:(51)  评论:(0)  加入收藏
基于自注意力机制的语言模型技术研究与应用
随着人工智能的快速发展和自然语言处理的广泛应用,语言模型成为了一个重要的研究领域。传统的语言模型主要基于n-gram模型或者递归神经网络(RNN),但这些模型在处理长文本时存在...【详细内容】
2024-01-04  Search: 语言模型  点击:(62)  评论:(0)  加入收藏
面向超长上下文,大语言模型如何优化架构,这篇综述一网打尽了
ChatGPT 的诞生,让基于 Transformer 的大型语言模型 (LLM) 为通用人工智能(AGI)铺开了一条革命性的道路,并在知识库、人机交互、机器人等多个领域得到应用。然而,目前存在一个普...【详细内容】
2024-01-03  Search: 语言模型  点击:(114)  评论:(0)  加入收藏
一文读懂大型语言模型LLM
在当今的技术世界中,人工智能正以前所未有的速度发展和演变。这一领域的快速发展得益于先进的机器学习算法、海量数据的可用性以及计算能力的显著提升。特别是,在自然语言处理...【详细内容】
2024-01-02  Search: 语言模型  点击:(81)  评论:(0)  加入收藏
大语言模型真的需要这么多层吗?
研究表明,移除70% 的注意力头和 20% 的前馈网络对上下文学习影响甚微,这暗示大语言模型或许训练得不够充分。本文经授权转载宝玉老师的个人博客(微博@宝玉xp ),链 接https://ba...【详细内容】
2023-12-19  Search: 语言模型  点击:(67)  评论:(0)  加入收藏
大语言模型量化方法对比:GPTQ、GGUF、AWQ
在过去的一年里,大型语言模型(llm)有了飞速的发展,在本文中,我们将探讨几种(量化)的方式,除此以外,还会介绍分片及不同的保存和压缩策略。说明:每次加载LLM示例后,建议清除缓存,以防...【详细内容】
2023-11-17  Search: 语言模型  点击:(262)  评论:(0)  加入收藏
SEO中的大语言模型量化方法
随着互联网的快速发展,搜索引擎优化(SEO)已经成为了企业提升网站流量和排名的重要手段。在SEO的过程中,大语言模型量化方法被广泛应用,以帮助企业更好地理解搜索引擎的工作原理,并...【详细内容】
2023-11-16  Search: 语言模型  点击:(188)  评论:(0)  加入收藏
▌简易百科推荐
Netflix 是如何管理 2.38 亿会员的
作者 | Surabhi Diwan译者 | 明知山策划 | TinaNetflix 高级软件工程师 Surabhi Diwan 在 2023 年旧金山 QCon 大会上发表了题为管理 Netflix 的 2.38 亿会员 的演讲。她在...【详细内容】
2024-04-08    InfoQ  Tags:Netflix   点击:(0)  评论:(0)  加入收藏
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(6)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(13)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(9)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(11)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(9)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
站内最新
站内热门
站内头条