从GPT到chatGPT(三):GPT3(二)

news2024/9/23 1:35:42

GPT3(二)

前言

因为上一篇文章 从GPT到chatGPT(三):GPT3(一)阅读量挺高,给了我继续更新对该论文进行解读的莫大动力。这篇文章主要讲原论文的第三章(Results),讲的是GPT3在9个不同类型的数据集上表现如何。其实对于包括我在内的大多数读者或工程师来说,模型的实际效果才是最重要的,所以也很有必要好好地来看看这一章的内容。另外,下文中我尽可能以翻译为主,个人理解为辅的方式来进行,所以会以作者的第一人称来叙述。

正文

在前文中 从GPT到chatGPT(三):GPT3(一)我们提到了有8个参数量大小不同的GPT3模型,除此以外,再加上6个更小的语言模型,我们可以去验证 [KMH+20]提出的模型在有效训练后,语言建模性能(由交叉损失函数度量)和模型参数大小遵循幂律,如图一所示。人们可能会担心,交叉熵损失的提升仅仅来自于对训练语料库的虚假细节进行建模。然而,我们将在以下几节中看到,交叉熵损失的改善会在广泛的自然语言范围内带来一致的性能提高。
在这里插入图片描述

图一
接下来,我们将用8个GPT3模型在9个不同类型的数据集上测试性能。

1 Language Modeling, Cloze, and Completion Tasks

在本节中,我们测试GPT-3在传统的语言建模任务上的性能,以及涉及预测单个感兴趣的单词、完成句子或段落,或在可能完成的文本之间进行选择的相关任务

1.1 Language Modeling

我们在[RWC+19]中测量的Penn Tree Bank(PTB)[MKM+94]数据集上计算zero-shot困惑度(perplexity)。我们在这项工作中省略了4个与维基百科相关的任务,因为它们完全包含在我们的训练数据中,我们还省略了10亿个单词的基准测试,因为我们的训练集中包含了大量数据集。PTB避开了这些问题,因为它早于现代互联网。
我们最大的GPT3模型在PTB上到达了新的SOTA,比原SOTA模型大幅提高了15%,达到了20.50的困惑,表一所示。注意,由于PTB是一个传统的语言建模数据集,因此它没有明确的示例来定义one-shot或few-shot评估,因此我们只测量zeo-shot。
在这里插入图片描述

表一

1.2 LAMBADA

LAMBADA数据集[PKL+16]测试了文本中长期依赖性的建模——该模型被要求预测需要阅读一段上下文的句子的最后一个单词。最近有人提出,语言模型的不断扩展正在使这个困难的基准任务的回报率逐渐下降。[BHT+20]反思了最近两项最新研究成果([SSP+19]和[Tur20])之间模型尺寸翻倍所取得的1.5%的微小改进,并认为“继续以数量级的方式扩展硬件和数据尺寸不是前进的道路”。但是,我们发现,这条路仍然充满希望,在zero-shot设置下,GPT-3在LAMBADA上达到76%,比以前的技术水平提高了8%!!!如表二所示:
在这里插入图片描述

表二

LAMBADA还展示了少镜头学习的灵活性,因为它提供了一种解决该数据集典型问题的方法。虽然LAMBADA中的完成总是句子中的最后一个单词,但标准语言模型无法知道这个细节。因此,它不仅为正确的结尾赋予了概率,也为段落的其他有效延续赋予了概率。这个问题在过去已经通过停止词过滤器[RWC+19](禁止“继续”词)得到了部分解决。少数镜头设置反而让我们将任务“框”成完形填空测试,并让语言模型从示例中推断出只需要完成一个单词。我们使用以下空白格式填写:
在这里插入图片描述
GPT-3在few-shot设置中实现了86.4%的准确率,比以前的SOTA提高了18%以上。我们观察到,few-shot性能随着模型尺寸的增加而显著提高,如图2所示。另外,one-shot总是比zero-shot的效果更差,也许这是因为所有模型仍然需要几个示例来识别模式。

在这里插入图片描述

图二
值得注意的是,对测试集污染的分析表明,我们的训练数据中似乎存在大量LAMBADA数据集——然而,第4章中进行的分析表明对性能的影响微不足道。 (这个坑看来只能以后再填了)

1.3 HellaSwag

HellaSwag数据集[ZHB+19]涉及选择故事或指令集的最佳结尾。这些例子对语言模型来说是困难的,而对人类来说是容易的(准确率达到95.6%)。GPT-3在zero-shot中实现了78.1%的准确性,在few-shot中达到了79.3%的准确性,超过了fine-tune的1.5B参数语言模型[ZHR+19]的75.4%的准确性,但仍远低于fine-tune的多任务模型ALUM实现的85.6%的SOTA效果,如表二所示。

1.4 StoryCloze

我们接下来在StoryCloze 2016数据集[MCH+16]上评估GPT-3,这涉及为五个句子长的故事选择正确的结尾句子。这里,GPT-3在zero-shot中达到83.2%,在few-shot中(K=70)达到87.7%。这仍然比使用基于BERT的模型[LDL19]的微调SOTA低4.1%,但比之前的zero-shot模型提高了大约10%,如表二所示。

2 Closed Book Question Answering

在本节中,我们衡量GPT-3回答有关广泛事实知识的问题的能力。
由于可能的查询量巨大,通常通过使用信息检索系统和文本生成模型(根据输入的query和检索系统召回的文本)来查找/生成相关文本来完成此任务。由于此设置允许系统搜索并条件化可能包含答案的文本,因此称为“开卷”。[RS20]最近证明,一个大型语言模型可以在不依赖辅助信息的情况下,以惊人的速度直接回答问题。他们将这种限制性更强的评估设置称为“闭卷”。他们的研究表明,更高容量的模型也可以表现得更好,我们用GPT-3测试了这一假设。
我们在[RS20]中的三个数据集上评估GPT-3:Natural Questions[KPR+19]、WebQuestions[BCFL13]和TriviaQA[JCWZ17],使用相同的分割。请注意,我们使用的few-shot、one-shot和zero-shot评估比以前的闭卷QA工作更为严格:除了不允许外部内容辅助外,也不允许对问答数据集本身进行微调。
GPT3和一些SOTA模型的对比如下表三所示:
在这里插入图片描述

表三

可以看到,在TriviaQA数据集上,GPT3甚至超过了fintune的模型和"开卷"的模型。
但是在NAtrualQS和WebQS数据集上,效果要差一些,而且我们发现从zero-shot到few-shot,效果提升十分明显。我们猜测可能是GPT3的训练数据分布和这两个数据集差距较大,所以效果较差,而且通过few-shot,GPT3也在努力试图适应这两个数据集的分布。

3 Translation

如第上一篇文章所述,我们的大部分数据都是从原始Common Crawl中导出的,只有基于质量的过滤。尽管GPT-3的训练数据仍然主要是英语(按字数计算占93%),但它也包含7%的其他语言文本。这些语言记录在补充材料中。为了更好地理解翻译能力,我们还扩展了我们的分析,以包括另外两种常用语言,德语和罗马尼亚语。

现有的无监督机器翻译方法通常将一对单语数据集上的预处理与反向翻译[SHB15]结合起来,以受控的方式桥接两种语言。相比之下,GPT-3从以自然方式将多种语言混合在一起的训练数据中学习,在单词、句子和文档级别将它们组合在一起。GPT-3还使用一个单独的训练目标,该目标不是为任何任务特别定制或设计的。然而,我们的一次/几次拍摄设置与之前的无监督工作没有严格的可比性,因为它们使用了少量成对的示例(1或64)。这对应于多达一页或两页的上下文训练数据。(个人理解这段话,就是说GPT3不是专门拿来做翻译任务的,所以和专门的翻译模型进行对比不太公平,而且GPT3训练语料是多国语言,且英语占了绝大部分,所以效果差是很正常的。

结果见表四。zero-shot的GPT-3,仅接收任务的自然语言描述,仍然不如最近的无监督NMT结果。然而,仅为每个翻译任务提供一个示例演示,就可以将性能提高7个BLEU以上,并与之前的工作接近竞争性能。GPT-3在few-shot下进一步提高了另一个4 BLEU,达到先前的无监督NMT工作的平均性能。GPT-3在性能上有明显的偏差,这取决于语言方向。对于所研究的三种输入语言,GPT-3在翻译成英语时显著优于先前的无监督NMT工作,但在另一方向翻译时表现不佳。En-Ro的性能是一个明显的异常值,比之前的无监督NMT工作差很多。由于重复使用GPT-2的字节级BPE标记器,这可能是一个弱点,GPT-2是为几乎完全英语的训练数据集开发的。对于Fr-En和De-En来说,few-shot的GPT-3能够超过我们所能找到的最佳监督结果,但由于我们对文献的不熟悉,以及这些是非竞争性基准,我们怀疑这些结果是否代表了真正的技术水平。对于Ro-En,few-shotGPT-3只比SOTA少不到0.5BLEU,这是通过组合无监督预训练、对608K标记示例的监督微调和反向翻译实现的[LHCG19b]。
在这里插入图片描述

表四

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/351519.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue2快速入门(三)前端项目架构搭建、Axios、Vue-Router

文章目录VueCli 4.3搭建前端项目架构创建vue项目前端项目目录结构添加axios添加cube-ui依赖创建新目录http客户端Axios什么是Axios?GET请求方式POST请求方式Axios封装通用后端请求API模块Vue-Router开发前端项目路由什么是vue-router?配置项目路由VueCli…

Hive SQL语言:DDL建库、建表

Hive SQL语言:DDL建库、建表 Hive数据模型总览 Hive SQL之数据库与建库 SQL中DDL语法的作用 ⚫ 数据定义语言(Data Definition Language, DDL),是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言&#xff…

《反电信网络诈骗法》实行,Galaxybase图平台成为电信反诈黑科技

电信网络诈骗在当前的数字化生活中始终是一个高频讨论词。 近年来,随着互联网技术发展迅速,线上交易趋于频繁化,以电信网络诈骗为代表的新型网络犯罪行为也变得越来越高发。根据中国信通院《新形势下电信网络诈骗治理研究报告(20…

交互式推荐在外卖场景的探索与应用

外卖场景的用户停留时长低于传统电商,对用户实时需求的理解和反馈有更高的要求。针对业务问题,外卖推荐团队从2021年起开始持续投入,最终摸索出了一套适用于外卖场景的交互式推荐架构和策略,并取得了较好的收益。下文将详细介绍外…

论文:拖曳线列阵拖曳噪声抑制的试验研究,阅读笔记

目录摘要目前的噪声来源和抑制的方法1.来源2.抑制方法针对流致振动引起的间接噪声提出解决方法1.结构减振优化设计2.扩大水听器与护套的间距实验1.如何划分对象组2.实验装置实验结果实验组1:结构减振优化设计的效果实验组2:扩大水听器与护套的间距的效果…

跨境电商卖家敦煌、雅虎、乐天、亚马逊测评自养号的重要性!

作为亚马逊、敦煌、乐天、雅虎等跨境的卖家,这两年以来,面对流量越来越贵的现实,卖家需要更加珍惜每次访问listing页面的流量,把转化做好,把流量尽可能转化为更多的订单。 提升转化率的技巧 提升产品转化率&#xff0…

springsecurity最基础的授权过程

​ 在SpringSecurity中,会使用默认的FilterSecurityInterceptor来进行权限校验。在FilterSecurityInterceptor中会从SecurityContextHolder获取其中的Authentication,然后获取其中的权限信息。当前用户是否拥有访问当前资源所需的权限。 ​ 所以我们在项…

【JAVA八股文】JVM虚拟机相关

JVM虚拟机相关1. JVM 内存结构2. JVM 内存参数3. JVM 垃圾回收4. 内存溢出5. 类加载6. 四种引用7. finalize1. JVM 内存结构 结合一段 java 代码的执行理解内存划分 执行 javac 命令编译源代码为字节码执行 java 命令 创建 JVM,调用类加载子系统加载 class&#xf…

使用 ChatGPT 、Stable Diffuison、React和NodeJS构建网站图库

本文译者为360奇舞团前端开发工程师原文标题:Building a website gallery with ChatGPT, Stable Diffusion, React and NodeJS原文作者:Nevo David原文地址:https://javascript.plainenglish.io/building-a-website-gallery-with-chatgpt-sta…

Apollo Planning规划算法仿真调试(15):使用Vscode断点调试apollo的方法更新版

前言 使用Vscode断点调试apollo的方法之前在该专栏写过一篇分享,后台很多粉丝留言希望写的更详细一点,所以更新一版,尽量将配置过程详细描述,并且附上完整的配置文档。 Vscode 作为轻量化的调试工具深受广大开发者的青睐,虽然大家都用它来看新闻逛论坛炒股,但是用它开发…

【郭东白架构课 模块一:生存法则】01|模块导学:是什么在影响架构活动的成败?

你好,我是郭东白。这节课是我们模块一的导入部分,我会先来介绍模块的主要内容,以及为什么我要讲生存法则这个话题。 一名软件架构师要为相对复杂的业务制定,并且引导实施一个结构化的软件方案。这个发现最终方案和推动实施的过程&…

智加科技上市箭在弦上,头部自动驾驶技术企业何去何从?

/ 导读 /受禾赛科技美股上市成功的影响,中国商用车自动驾驶技术公司智加科技也传出了即将拆分在美股上市的消息。其中,智加科技的中国部分据传将被满帮收购,并且将并入自动驾驶卡车公司挚途科技。至于美国部分,将寻求独立上市。对…

python切片总算搞明白了

不会python已久矣! 简单切片 简单切片指的是这样的切片形式:a[start:stop], 左闭右开 负索引可以直接代表那个值 >>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a[2:3][2]>>> a[5:9][5, 6, 7, 8]>>> a[5…

电商导购CPS,拼多多(多多进宝)如何跟单实现用户和订单绑定

前言 大家好,我是小悟 做过自媒体的小伙伴都知道,不管是发图文还是发短视频,直播也好,可以带货。在你的内容里面挂上商品,你自己都不需要囤货,如果用户通过这个商品下单成交了,自媒体平台就会…

Cortex-M0中断控制和系统控制

目录1.NVIC和系统控制块特性2.中断使能和清除使能3.中断挂起和清除挂起4.中断优先级5.中断控制的通用汇编代码使能和禁止中断设置和清除中断挂起状态设置中断优先级6.异常屏蔽寄存器(PRIMASK)7.中断输入和挂起行为8.中断等待9.系统异常的控制寄存器10.系…

JuiceFS 在火山引擎边缘计算的应用实践

火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算、网络、存储、安全、智能为核心能力的新一代分布式云计算解决方案。边缘存储主要面向适配边缘计算的典型业务场景&#…

Python seek()和tell()函数详解

在讲解 seek() 函数和 tell() 函数之前,首先来了解一下什么是文件指针。我们知道,使用 open() 函数打开文件并读取文件中的内容时,总是会从文件的第一个字符(字节)开始读起。那么,有没有办法可以自定指定读…

分布式事务实现机制及二阶段提交

注:本文章引自终于把分布式事务讲明白了! 分布式事务 分布式事务是指在分布式环境下事务,一个事务由多个数据库节点共同完成。分布式事务也必须要保证事务的ACID的特性。 实现分布式事务原子性的通常做法就是采用两阶段提交协议&#xff0c…

07- Rossmann商店销售预测 (Xgboost集成算法) (项目七)

查看数据是否为空: train.isnull().sum()查看特征元素: train[StateHoliday].unique() # array([0, a, b, c], dtypeobject)绘制热力图: sns.heatmap(df_train.corr(),cmap RdYlGn_r,annotTrue,vmin -1,vmax1)合并商店信息和销售数据: train pd.merge(train, store, on …

高校房产管理系统有哪些管理功能范围?

数图互通高校房产管理系统是基于公司自主研发的FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发的一套标准产品;通过在中国100多所高校的成功实施和迭代,形成了一套成熟、完善、全生命周期的房屋资源管理解决方案。…