0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Transformer模型的上下文嵌入何时真正值得使用?

深度学习自然语言处理 来源:深度学习自然语言处理 作者: Victor Karlsson 2020-08-28 10:44 次阅读

不知道大家在平时使用时有没有发现,BERT的上下文嵌入非常『昂贵』,并且可能无法在所有情况下带来价值。分享一篇ACL2020的论文,介绍了一些思路。

论文:Contextual Embeddings: When Are They Worth It?

代码:https://github.com/HazyResearch/random_embedding

写在前面

诸如BERT或其改进后代之类的SOTA模型,使用起来十分"昂贵"。仅仅是预训练的『BERT-base』模型(用今天的标准几乎可以认为是很小的模型),也需要在16个TPU芯片上花费了超过4天的时间,而这需要花费数千美元。这甚至都没有考虑对模型进行进一步的微调或最终使用,这两者都只会增加最终的总成本。

与其尝试找出创建更小的Transformer模型的方法(如何修剪BERT达到加速目的?理论与实现),不如退后一步去问:「基于Transformer模型的上下文嵌入何时真正值得使用?」在什么情况下,使用GloVe或甚至是随机嵌入等计算成本较低的非上下文嵌入(non-contextual embeddings ),可能达到类似的性能?

这些是Arora等人提出的一些问题,而答案就在他们的研究中:Contextual Embeddings: When Are They Worth It[1]?本文将概述他们的研究并重点介绍他们的主要发现。

研究内容

该研究分为两个部分,首先检查训练数据量的影响,然后检查这些数据集的语言特性。

训练数据大小

作者发现,在决定BERT-embedding和Glove-embedding的效果性能方面,训练数据量起着关键作用。通过使用更多的训练数据,非上下文嵌入很快得到了改善,并且在使用所有可用数据时,通常能够在BERT模型用时的5-10%之内完成。

另一方面,作者发现在某些情况下,可以用少于16倍的数据来训练上下文化嵌入,同时仍然与非上下文化嵌入所获得的最佳性能相当。这就需要在推理(计算和内存)和标记数据的成本之间进行了权衡,或者如Arora等人所说:

ML practitioners may find that for certain real-world tasks the large gains in efficiency [when using non-contextual embeddings] are well worth the cost of labelling more data. ——— Arora et al

数据集的语言特性

对训练数据量的研究表明,在某些任务中,上下文嵌入比非上下文嵌入的表现要好得多,而在其他情况下,这些差异要小得多。这些结果激发了作者们的思考,是否有可能找到并量化语言特性,以表明这种情况何时发生。

为此,他们定义了三个度量标准,用于量化每个数据集的特征。根据设计,这些度量没有给出一个单一的定义,而是用来编码哪些特征影响模型性能的直觉。这使得我们可以对它们进行解释,然后对它们进行严格的定义,以用于我们研究的任务。因此,下面以命名实体识别数据集举例作者提出的指标:

文本结构的复杂性:表示一个句子中词与词之间的依赖性。在NER中表现为每个实体跨越的token数量,如“George Washington”横跨两个token。

词义模糊:每个token在训练数据集中分配的不同标签的数量,如“Washington”可以指定人员、地点和组织,这需要考虑到它的背景。

未出现词的流行度:表示在训练过程出现从未见过词的概率。在NER中定义为token出现次数的倒数。

这些指标被用来给数据集中的每一项打分,以便我们将它们分成“困难”和“容易”。这使得我们能够比较来自同一数据集的这两个分区的嵌入性能。

如果这些指标是非信息性的,那么这两个分区的性能差异将是相等的。幸运的是,作者们发现并非如此。相反,他们观察到,在42个案例中,有30个案例,上下文嵌入和非上下文嵌入之间的差异在困难分区‍上高于简单分区。

这意味着,这些指标可以作为一个代理,来自BERT之类模型的上下文嵌入将优于非上下文嵌入!然而,从另一个角度来看,它可能更有用——用于指示来自glove的非上下文嵌入何时足以达到最先进的性能。

结论

在研究Contextual Embeddings: When Are They Worth It? 中,Arora等人强调了数据集的关键特征,这些特征指示上下文嵌入何时值得使用。首先,训练数据集大小决定了非上下文化嵌入的潜在有用性,即越多越好。其次,数据集的特征也起着重要作用。作者定义了三个指标,即文本结构的复杂性,词汇使用的模糊性,以及未出现词的流行度,这有助于我们理解使用上下文嵌入可能带来的潜在好处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3229

    浏览量

    48810
  • 数据集
    +关注

    关注

    4

    文章

    1208

    浏览量

    24690
  • 文本
    +关注

    关注

    0

    文章

    118

    浏览量

    17082
  • Transformer
    +关注

    关注

    0

    文章

    143

    浏览量

    5995

原文标题:ACL2020 | 什么时候值得用BERT上下文嵌入

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么transformer性能这么好?Transformer上下文学习能力是哪来的?

    为什么 transformer 性能这么好?它给众多大语言模型带来的上下文学习 (In-Context Learning) 能力是从何而来?在人工智能领域里,transformer
    的头像 发表于 09-25 12:05 1360次阅读
    为什么<b class='flag-5'>transformer</b>性能这么好?<b class='flag-5'>Transformer</b>的<b class='flag-5'>上下文</b>学习能力是哪来的?

    关于进程上下文、中断上下文及原子上下文的一些概念理解

    开讲之前,咱们有必要看看这两个概念:a -- 上下文 上下文是从英文context翻译过来,指的是一种环境。相对于进程而言,就是进程执行时的环境; 具体来说就是各个变量和数据,包括所有的寄存器变量
    发表于 09-06 09:58

    进程上下文与中断上下文的理解

    来源 网络一.什么是内核态和用户态内核态:在内核空间执行,通常是驱动程序,中断相关程序,内核调度程序,内存管理及其操作程序。用户态:用户程序运行空间。 二.什么是进程上下文与中断上下文1.进程上下文
    发表于 12-11 19:45

    JavaScript的执行上下文

    JavaScript执行上下文之执行上下文
    发表于 05-29 16:12

    进程上下文/中断上下文及原子上下文的概念

    为什么会有上下文这种概念进程上下文/中断上下文及原子上下文的概念
    发表于 01-13 07:17

    中断中的上下文切换详解

    接口的实现,在中断上下文中的信号量post动作,调用的是isrRtxSemaphoreRelease接口,此接口调用osRtxPostProcess进行真正的post动作,在isr_queue_put
    发表于 03-23 17:18

    基于多Agent的用户上下文自适应站点构架

    自适应站点很少考虑对用户环境的自适应。为此,提出用户上下文自适应站点的概念,给出基于多Agent威廉希尔官方网站 的用户上下文自适应站点构架模型。阐述用户上下文获取、挖掘过程以及站
    发表于 04-11 08:49 13次下载

    基于交互上下文的预测方法

    传统的上下文预测是在单用户的上下文基础上进行的,忽视了实际普适计算环境中由于用户交互活动导致的上下文变化因素。为了合理、有效地解决上述局限性问题,该文提出基
    发表于 10-04 14:08 7次下载

    终端业务上下文的定义方法及业务模型

    该文针对业务上下文仅关注业务质量较少考虑用户终端环境的现状,提出终端业务上下文的概念,为普适业务的开展提供必要的信息支撑。给出一种终端业务上下文的通用定义方法
    发表于 03-06 11:06 11次下载

    基于Pocket PC的上下文菜单实现

    介绍了基于 Pocket PC 中的点按操作概念, 论述了在Pocket PC 中上下文菜单的实现原理及方法, 并给出了基于MFC 下的Windows CE 应用程序实现上下文菜单的步骤和代码实例。
    发表于 07-25 18:26 17次下载

    基于Pocket PC的上下文菜单实现

    本文介绍了基于 Pocket PC 中的“点按”操作概念 论述了在 Pocket PC 中上下文菜单的实现原理及方法 并给出了基于 MFC 下的 Windows CE 应用程序实现上下文菜单的步骤和代码实例 。
    发表于 04-18 10:46 0次下载

    基于上下文相似度的分解推荐算法

    模型,再对目标用户的K个邻居用户建立移动用户一上下文一移动服务三维张量分解模型,获得目标用户的移动服务预测值,生成移动推荐。实验结果显示,与余弦相似性方法、Pearson相关系数方法和Cosinel改进相似度
    发表于 11-27 17:42 0次下载

    Web服务的上下文的访问控制策略模型

    的访问控制策略模型模型的核心思想是将各种与访问控制有关的信息统一抽象表示为一个上下文概念,以上下文为中心来制定和执行访问控制策略,上下文
    发表于 01-05 16:32 0次下载

    初学OpenGL:什么是绘制上下文

    初学OpenGL,打开红宝书,会告诉你OpenGL是个状态机,OpenGL采用了客户端-服务器模式,那时觉得好抽象,直到后来了解了绘制上下文才把这些联系起来。我们可以认为每一个硬件GPU是个服务器
    发表于 04-28 11:47 2455次阅读

    如何分析Linux CPU上下文切换问题

    在我的上一篇文章:《探讨 Linux CPU 的上下文切换》中,我谈到了 CPU 上下文切换的工作原理。快速回顾一下,CPU 上下文切换是保证 Linux 系统正常运行的核心功能。可分为进程
    的头像 发表于 05-05 20:11 1941次阅读