大型语言模型:RoBERTa — 一种鲁棒优化的 BERT 方法

news2024/11/18 12:29:19

一、介绍

        BERT模型的出现导致了NLP的重大进展。BERT的架构源自Transformer,在各种下游任务上实现了最先进的结果:语言建模,下一句预测,问答,NER标记等。

大型语言模型:BERT — 来自变压器的双向编码器表示

了解BERT如何构建最先进的嵌入

towardsdatascience.com

        尽管BERT具有出色的性能,但研究人员仍在继续试验其配置,以期获得更好的指标。幸运的是,他们成功地提出了一种名为RoBERTa的新模型 - 稳健优化的BERT方法。

        在本文中,我们将参考官方的RoBERTa论文,其中包含有关该模型的深入信息。简而言之,RoBERTa由对原始BERT模型的几个独立改进组成 - 包括架构在内的所有其他原则保持不变。本文将介绍和解释所有改进。

二、RoBERTa功能介绍

2.1. 动态遮罩

        从BERT的架构中,我们记得在预训练期间,BERT通过尝试预测一定比例的屏蔽令牌来执行语言建模。原始实现的问题在于,为跨不同批次的给定文本序列选择的掩码标记有时是相同的。

        更准确地说,训练数据集被复制 10 次,因此每个序列仅以 10 种不同的方式被屏蔽。请记住,BERT运行40个训练时期,每个具有相同掩码的序列被传递给BERT四次。正如研究人员发现的那样,使用动态掩蔽稍微好一些,这意味着每次将序列传递给BERT时都会唯一地生成掩码。总体而言,这导致训练期间重复的数据较少,使模型有机会处理更多不同的数据和掩码模式。

        静态屏蔽与动态屏蔽

2.2. 下一句预测

        该论文的作者进行了研究,以找到一种最佳方法来模拟下一个句子预测任务。因此,他们发现了几个有价值的见解:

  • 删除下一句预测损失会导致性能稍好。
  • 传递由多个句子组成的序列相比,将单个自然句子传递到 BERT 输入会损害性能。解释这种现象的最可能的假设之一是模型很难仅依靠单个句子学习长期依赖关系。
  • 通过从单个文档而不是多个文档中采样连续句子 来构建输入序列更有益。通常,序列总是由单个文档的连续完整句子构造而成,因此总长度最多为 512 个标记。当我们到达文档的末尾时,问题就出现了。在这方面,研究人员比较了是否值得停止对此类序列的句子进行采样,或者是否值得对下一个文档的前几个句子进行额外采样(并在文档之间添加相应的分隔符标记)。结果表明,第一种选择更好。

最终,对于最终的RoBERTa实现,作者选择保留前两个方面,省略第三个方面。尽管观察到第三个见解背后的改进,但研究人员并没有不继续下去,否则,这将使以前实现之间的比较更加成问题。发生这种情况是因为到达文档边界并在那里停止意味着输入序列将包含少于 512 个标记。为了在所有批次中具有相似数量的令牌,在这种情况下需要增加批大小。这导致了批次大小的变化和更复杂的比较,这是研究人员想要避免的。

2.3. 增加批量大小

        NLP的最新进展表明,随着学习率和训练步骤数量的适当减少,批量大小的增加通常会提高模型的性能。

        提醒一下,BERT基础模型在256个序列的批量大小上进行了一百万步的训练。作者尝试在2K和8K的批量大小上训练BERT,并选择后一个值来训练RoBERTa。相应的训练步数和学习率值分别变为31K和1e-3。

同样重要的是要记住,批量大小的增加会导致通过称为“梯度累积”的特殊技术更容易并行化。

2.4. 字节文本编码

        在NLP中,存在三种主要类型的文本标记化:

  • 字符级标记化
  • 子词级标记化
  • 单词级标记化

        原始的BERT使用词汇量为30K的子词级标记化,这是在输入预处理和使用几种启发式方法后学习的。RoBERTa使用字节而不是Unicode字符作为子词的基础,并将词汇表大小扩展到50K,而无需任何预处理或输入标记化。这导致BERT基础和BERT大型模型分别有15M和20M的附加参数。RoBERTa中引入的编码版本显示出比以前稍差的结果。

        然而,与BERT相比,RoBERTa中的词汇量增长允许在不使用未知标记的情况下对几乎任何单词或子单词进行编码。这给RoBERTa带来了相当大的优势,因为该模型现在可以更全面地理解包含生僻词的复杂文本。

三、预训练

        除此之外,RoBERTa应用了上述所有四个方面,具有与BERT large相同的架构参数。RoBERTa的参数总数为355M。

        RoBERTa在五个海量数据集的组合上进行预训练,总共产生160 GB的文本数据。相比之下,BERT large 仅在 13 GB 的数据上进行预训练。最后,作者将训练步骤的数量从100K增加到500K。

        因此,RoBERTa在最流行的基准测试中在XLNet上的表现优于BERT。

四、RoBert版本

        与BERT类似,研究人员开发了两个版本的RoBERTa。基本版和大型版本中的大多数超参数都是相同的。下图显示了主要差异:

  • RoBERTa中的微调过程类似于BERT。
  • 五、结论

  •         在本文中,我们研究了BERT的改进版本,该版本通过引入以下方面来修改原始训练程序:
  • 动态遮罩
  • 省略下一句预测目标
  • 较长句子的训练
  • 增加词汇量
  • 使用更大的数据批次进行更长时间的训练
  • 由此产生的RoBERTa模型在顶级基准测试上似乎优于其祖先。尽管配置更复杂,但RoBERTa仅添加了15M个附加参数,保持了与BERT相当的推理速度。
  • 资源

  • RoBERTa:一种鲁棒优化的BERT预训练方法
  • 维亚切斯拉夫·叶菲莫夫

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

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

相关文章

Java反射(一)--- 类的实例化

文章目录 一、整理框架二、Java反射机制提供的功能三、反射相关的主要API四、相关代码:1.Person类2.反射之前,对于Person类的操作3.反射之后,对于Person类的操作 提示:以下是本篇文章正文内容,下面案例可供参考 一、整…

数据库 explain 关键字解析

目录 1. explain 概述 2. explain 关键字的使用方式 3. explain 的版本迭代 4. explain 只分析SQL语句,不执行SQL语句 5. explain 输出结果中各个字段的含义 6. type 表示检索表数据的方式 7. key_len表示使用的索引的长度 8. rows 表示预估读取到的行数 9…

2023年10月9日历史上的今天大事件早读

1740年10月09日红溪惨案 1874年10月09日万国邮政联盟成立 1912年10月09日第一次巴尔干战争爆发 1913年10月09日武昌起义元勋蒋翊武被害 1924年10月09日近代翻译家林纾(林琴南)逝世 1934年10月09日南斯拉夫国王遇刺身亡 1936年10月09日红军三大主力会师 1941年10月09日第…

瑜伽馆微信小程序怎么制作约课系统

在瑜伽馆微信小程序中,约课系统是一个重要的功能模块,可以帮助用户便捷地预约和取消预约瑜伽课程。下面将介绍如何制作一个约课系统,让瑜伽馆微信小程序更加完善。 一、确定约课系统的功能 在制作约课系统前,需要明确其功能和特点…

基于Python+Selenium的web自动化测试框架详解

简介 随着Web应用程序的广泛应用和不断发展,Web自动化测试已经成为软件质量保证中的一个重要环节。而PythonSelenium作为一组强大的工具和框架,已经成为Web自动化测试领域中的热门技术之一。PythonSelenium可以帮助我们快速、准确地模拟用户行为和操作&…

Airtest自动化测试工具

一开始知道Airtest大概是在年初的时候,当时,看了一下官方的文档,大概是类似Sikuli的一个工具,主要用来做游戏自动化的,通过截图的方式用来解决游戏自动化测试的难题。最近,移动端测试的同事尝试用它的poco库…

彩虹商城全新SUP模板 知识付费模板 卡卡云模板源码

2023彩虹商城全新SUP模板 | 知识付费模板 | 卡卡云模板源码 图片:

如何更好的使用结构化工艺文件编制软件?——青创智通

青创智通结构化工艺文件编制软件包括文件创建、文件编制、文件修改、文件复制、文件引用、标准文件库、工艺路线、工艺资源库管理、审批管理、文件导出、文件清单汇总、接口管理等功能。具有以下优势及亮点。 1.集中工艺数据管理 以PLM系统平台为核心的结构化工艺数据支撑平台…

动画圆圈文字标志效果

效果展示 CSS 知识点 实现圆圈文字animation 属性回顾 实现思路 从效果的实现思路很简单,其实就是两个圆圈就可以实现。外层大圆(灰色)用于圆圈文字的展示,而内圆(藏青色)主要用于存放 Logo 图片。布局采…

万兆光模块的速度到底有多快?

万兆光模块的速度到底有多快?相信这是很多人都想知道的问题。首先,让我们来了解一下万兆光模块的工作原理。万兆光模块是一种高速率的光电转换模块,发送端把电信号转换成光信号,通过光纤传送后,接收端再把光信号转换成…

php+html+js+ajax实现文件上传

phphtmljsajax实现文件上传 目录 一、表单单文件上传 1、上传页面 2、接受文件上传php 二、表单多文件上传 1、上传页面 2、接受文件上传php 三、表单异步xhr文件上传 1、上传页面 2、接受文件上传php 四、表单异步ajax文件上传 1、上传页面 2、接受文件上传ph…

Scala第二十章节

Scala第二十章节 scala总目录 文档资料下载 章节目标 理解Akka并发编程框架简介掌握Akka入门案例掌握Akka定时任务代码实现掌握两个进程间通信的案例掌握简易版spark通信框架案例 1. Akka并发编程框架简介 1.1 Akka概述 Akka是一个用于构建高并发、分布式和可扩展的基于事…

彻底关闭Win10/Win11关闭自动更新

在自己电脑上发现可以关闭win11系统自动更新,以后效果就不知道了 1.在开始菜单搜索框输入“注册表编辑器”并打开,如图所示 2.在注册表上方输入一下路径,如图所示 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings …

SAP FI BSEG-VBUND 贸易伙伴在过账中使用

主要的配置是在OBA7 主要是通过公司间记账&输入贸易伙伴来控制 第一种情况,两者都不勾选 如果在总账行项目,客户,供应商主记录中维护了贸易伙伴,贸易伙伴会被带入到所有的各自的行项目里面 第二种情况,公司间记账…

全网最细,真实企业性能测试落地实施,一文带你快速打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、什么是性能测试…

墨西哥专线适合企业大批量寄送吗?

随着全球经济一体化的发展,企业间的交流与合作日益密切。跨境物流服务作为企业开展国际贸易的重要基础设施,其重要性不言而喻。墨西哥专线作为一种高效、快速的跨境物流解决方案,受到了越来越多企业的关注。那么,墨西哥专线是否适…

软件测试面试必问:为什么要选择软件测试?

经常会遇到一些面试官没事的时候问,为什么选择软件测试? 我都在这个行业,你怎么还问我为什么选择软件测试? 错误回答一:我觉得软件测试收入较高。 我们都知道软件测试收入是很高,但是这也不是你面试回答的点…

MATLAB导入EXCEL数据做曲线拟合

MATLAB导入EXCEL数据做曲线拟合 导入数据 导入的EXCEL格式为如下,有一列模拟数据和对应的实测数据 打开之后改个名,方便后续处理导入之和关掉该页面,可以看到已经生成了一个表格数据 然后新建变量 将该列数据复制到fanyan变量中&#x…

如何列出 Ubuntu 和 Debian 上已安装的软件包

当你安装了 Ubuntu 并想好好用一用。但在将来某个时候,你肯定会遇到忘记曾经安装了那些软件包。 这个是完全正常。没有人要求你把系统里所有已安装的软件包都记住。但是问题是,如何才能知道已经安装了哪些软件包?如何查看安装过的软件包呢&a…

智慧工地:数字革命下的建筑业新趋势

在当今建筑领域,智慧工地正迅速崭露头角。这个概念不仅代表了技术进步,还预示着建筑行业的数字化和智能化未来。从多个角度来看,智慧工地都具有深远的意义,它正在改变着我们建筑的方式和未来。 提高工程效率 智慧工地利用物联网&…