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

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

3天内不再提示

CMU、谷歌大脑的研究者最新提出万用NLP模型Transformer的升级版

DPVg_AI_era 来源:lq 2019-01-14 09:17 次阅读

CMU、谷歌大脑的研究者最新提出万用NLP模型Transformer的升级版——Transformer-XL。这个新架构在5个数据集上都获得了强大的结果,在评估中甚至比原始Transformer快1800+倍。研究人员公开了代码、预训练模型和超参数。

Transformer是谷歌在2017年提出的一个革新性的NLP框架,相信大家对那篇经典论文吸睛的标题仍印象深刻:Attention Is All You Need。

自那以来,业内人士表示,在机器翻译领域,Transformer 已经几乎全面取代 RNN。总之 Transformer 确实是一个非常有效且应用广泛的结构,应该可以算是自 seq2seq 之后又一次 “革命”。

最近,CMU的Zihang Dai,Yiming Yang,Jaime Carbonell,Ruslan Salakhutdinov,以及谷歌的Zhilin Yang(杨值麟),William W. Cohen和Quoc V. Le等人提出了Transformer的升级版——Transformer-XL。这篇论文最初投给ICLR 2019,最新放在arXiv的版本更新了更好的结果,并公开了代码、预训练模型和超参数。

论文地址:

https://arxiv.org/pdf/1901.02860.pdf

Transformer网络具有学习较长期依赖关系的潜力,但是在语言建模的设置中受到固定长度上下文(fixed-length context)的限制。

作为一种解决方案,这篇论文提出一种新的神经网络结构——Transformer-XL,它使Transformer能够在不破坏时间一致性的情况下学习固定长度以外的依赖性。

具体来说,Transformer-XL由一个segment-level的递归机制和一种新的位置编码方案组成。这一方法不仅能够捕获长期依赖关系,而且解决了上下文碎片的问题。

实验结果表明, Transformer-XL学习的依赖关系比RNN长80%,比vanilla Transformer长450%,在短序列和长序列上都获得了更好的性能,并且在评估中比vanilla Transformer快1800+倍。

此外,Transformer-XL在5个数据集上都获得了强大的结果。研究人员在enwiki8上将bpc/perplexity的最新 state-of-the-art(SoTA)结果从1.06提高到0.99,在text8上从1.13提高到1.08,在WikiText-103上从20.5提高到18.3,在One Billion Word, 上从23.7提高到21.8,在Penn Treebank上从55.3提高到54.5。

他们公布了代码、预训练模型和超参数,在Tensorflow和PyTorch中都可用。

Transformer-XL模型架构

为了解决前面提到的固定长度上下文的限制,Transformer-XL这个新架构(其中XL表示extra long)将递归(recurrence)的概念引入到self-attention网络中。

具体来说,我们不再从头开始计算每个新的段(segment)的隐藏状态,而是重用(reuse)在前一段中获得的隐藏状态。被重用的隐藏状态用作当前段的memory,这就在段之间建立一个循环连接。

因此,建模非常长期的依赖关系成为可能,因为信息可以通过循环连接传播。同时,从上一段传递信息也可以解决上下文碎片(context fragmentation)的问题。

更重要的是,我们展示了使用相对位置编码而不是绝对位置编码的必要性,以便在不造成时间混乱的情况下实现状态重用。因此,我们提出了一个简单但更有效的相对位置编码公式,该公式可以推广到比训练中观察到的更长的attention lengths。

原始Transformer模型

为了将Transformer或self-attention应用到语言建模中,核心问题是如何训练Transformer有效地将任意长的上下文编码为固定大小的表示。给定无限内存和计算,一个简单的解决方案是使用无条件Transformer解码器处理整个上下文序列,类似于前馈神经网络。然而,在实践中,由于资源有限,这通常是不可行的。

图1:一个segment长度为4的vanilla model的图示

一种可行但比较粗略的近似方法是将整个语料库分割成可管理大小的更短的片段,只在每个片段中训练模型,忽略来自前一段的所有上下文信息。这是Al-Rfou et al(2018)提出的想法,我们称之为原始模型(vanilla model),它的图示如图1a。

在评估过程中,vanilla 模型在每个步骤都消耗与训练期间相同长度的一个segment,但是在最后一个位置只是进行一次预测。然后,在下一步中,这个segment只向右移动一个位置,新的segment必须从头开始处理。

如图1b所示,该过程保证了每个预测在训练过程中利用的上下文尽可能长,同时也缓解了训练过程中遇到的上下文碎片问题。然而,这个评估过程成本是非常高的。

接下来,我们将展示我们所提出的架构能够大大提高评估速度。

Transformer-XL

为了解决固定长度上下文的局限性,我们建议在Transformer架构中引入一种递归机制(recurrence mechanism)。

在训练过程中,对上一个segment计算的隐藏状态序列进行修复,并在模型处理下一个新的segment时将其缓存为可重用的扩展上下文,如图2a所示。

图2:一个segment长度为4的Transformer-XL模型

这种递归机制应用于整个语料库的每两个连续的segment,它本质上是在隐藏状态中创建一个segment-level 的递归。因此,所使用的有效上下文可以远远超出两个segments。

除了实现超长的上下文和解决碎片问题外,这种递归方案的另一个好处是显著加快了评估速度。

具体地说,在评估期间,可以重用前面部分的表示,而不是像普通模型那样从头开始计算。在enwiki8数据集的实验中,Transformer-XL在评估过程比普通模型快1800倍以上。

实验和结果

我们将Transformer-XL应用于单词级和字符级语言建模的各种数据集,与state-of-the-art 的系统进行了比较,包括WikiText-103 (Merity et al., 2016), enwiki8 (LLC, 2009), text8 (LLC, 2009), One Billion Word (Chelba et al., 2013), 以及 Penn Treebank (Mikolov & Zweig, 2012).

实验结果表明, Transformer-XL学习的依赖关系比RNN长80%,比vanilla Transformer长450%,在短序列和长序列上都获得了更好的性能,并且在评估中比vanilla Transformer快1800+倍。

表1:在WikiText-103上与SoTA结果的比较

表2:在enwiki8上与SoTA结果的比较

表3:在text8上与SoTA结果的比较

表4:在One Billion Word上与SoTA结果的比较

表5:在Penn Treebank上与SoTA结果的比较

Transformer-XL在5个数据集上都获得了强大的结果。研究人员在enwiki8上将bpc/perplexity的最新 state-of-the-art(SoTA)结果从1.06提高到0.99,在text8上从1.13提高到1.08,在WikiText-103上从20.5提高到18.3,在One Billion Word上从23.7提高到21.8,在Penn Treebank上从55.3提高到54.5。

评估速度

最后,我们将模型的评估速度与vanilla Transformer模型进行了比较。

如表9所示,与Al-Rfou et al. (2018).的架构相比,由于state reuse方案,Transformer-XL的评估速度加快了高达1874倍。

表9:评估时间比较

结论

我们提出了一种新的架构,Transformer-XL,这是一个超出了固定长度的上下文限制的self-attention的语言建模架构。

我们的主要技术贡献包括在一个纯粹的 self-attentive 模型中引入递归的概念,并推导出一种新的位置编码方案。这两种技术形成了一套完整的解决方案,因为它们中的任何一种单独都不能解决固定长度上下文的问题。

Transformer-XL是第一个在字符级和单词级语言建模方面都取得了比RNN更好结果的self-attention模型。Transformer-XL还能够建模比RNN和Transformer更长期的依赖关系,并且与vanilla Transformers相比在评估过程中取得了显著的加速。

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

    关注

    9

    文章

    1131

    浏览量

    40683
  • 谷歌
    +关注

    关注

    27

    文章

    6142

    浏览量

    105112
  • 神经网络
    +关注

    关注

    42

    文章

    4765

    浏览量

    100550

原文标题:谷歌、CMU重磅论文:Transformer升级版,评估速度提升超1800倍!

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    万用表的工作原理 万用表校准的方法

    万用表的工作原理 电压测量 : 万用表通过内部电路将被测电压与标准电压(例如1.5V或9V电池)进行比较,从而测量电压值。 对于交流电压,万用表使用整流电路将交流转换为直流,然后进行测量。 电流测量
    的头像 发表于 11-01 10:31 322次阅读

    万用表维修与保养技巧

    万用表是电子工程师和技术人员不可或缺的工具之一。它不仅能够测量电压、电流和电阻,还能检测电路中的故障。然而,不正确的使用和保养会导致万用表的损坏,影响测量结果的准确性。 一、万用表的正确使用 选择
    的头像 发表于 11-01 10:29 251次阅读

    数字万用表与模拟万用表的区别

    在电子工程和维修领域,万用表是一种不可或缺的工具。它能够测量电压、电流、电阻等多种电气参数。根据显示方式的不同,万用表可以分为数字万用表和模拟万用表。 一、显示方式 数字
    的头像 发表于 11-01 10:20 276次阅读

    万用表使用方法 如何选择万用

    万用表(multimeter)是一种多功能的测量仪器,可以测量电压、电流、电阻等多种电气参数。正确使用和选择万用表对于电气维修和测试工作至关重要。 万用表的使用方法 1. 了解万用表的
    的头像 发表于 11-01 10:19 190次阅读

    胜利万用表的各个型号

    胜利万用表是一款非常受欢迎的电子测量工具,广泛应用于电子、电气、通信、自动化等领域。在选择胜利万用表时,我们需要考虑多个因素,如测量范围、精度、功能、价格等。 胜利万用表的分类 胜利万用
    的头像 发表于 07-14 14:27 2389次阅读

    胜利万用表和优利德万用表哪个好

    优利德万用表和胜利万用表各有优缺点,具体哪个更好要根据实际的应用场景和需求来决定,以下是胜利万用表和优利德万用表的比较: 品牌知名度:优利德(UNI-T)是一家国际知名的电子测量仪器制
    的头像 发表于 07-14 14:21 6675次阅读

    Transformer语言模型简介与实现过程

    在自然语言处理(NLP)领域,Transformer模型以其卓越的性能和广泛的应用前景,成为了近年来最引人注目的技术之一。Transformer模型
    的头像 发表于 07-10 11:48 1362次阅读

    使用PyTorch搭建Transformer模型

    Transformer模型自其问世以来,在自然语言处理(NLP)领域取得了巨大的成功,并成为了许多先进模型(如BERT、GPT等)的基础。本文将深入解读如何使用PyTorch框架搭建
    的头像 发表于 07-02 11:41 1479次阅读

    指针式万用表与数字式万用表的区别

    万用表作为电子测量领域的基础工具,其重要性不言而喻。在万用表的两大类别中,指针式万用表和数字式万用表各有其独特之处。本文将对这两种万用表进行
    的头像 发表于 05-10 16:20 3885次阅读

    万用表怎么测漏电

    在使用万用表之前,应先进行“机械调零”,即在没有被测电量时,使万用表指针指在零电压或零电流的位置上。
    的头像 发表于 05-08 17:23 2750次阅读

    基于Transformer模型的压缩方法

    基于Transformer架构的大型模型在人工智能领域中发挥着日益重要的作用,特别是在自然语言处理(NLP)和计算机视觉(CV)领域。
    的头像 发表于 02-22 16:27 618次阅读
    基于<b class='flag-5'>Transformer</b><b class='flag-5'>模型</b>的压缩方法

    万用表怎么 万用表怎么测漏电和短路

    万用表是一种常见的电工仪器,用于检测电路中的电压、电流、电阻等基本参数。通过正确使用万用表,可以准确地检测漏电和短路这两个常见的电路故障。下面将详细介绍万用表的使用方法和测量漏电和短路的步骤。 一
    的头像 发表于 02-18 13:57 4070次阅读

    万用表的使用方法步骤 万用表的hFE功能怎么

    万用表是电子工程中常用的测量仪器,广泛应用于电路测试、电阻测量、电流测量等方面。下面将详细介绍万用表的使用方法步骤以及万用表的hFE功能使用方法。 万用表使用方法步骤: 准备工作:首先
    的头像 发表于 01-31 13:37 4224次阅读

    钳形万用表和一般万用表有什么区别

    设计的万用表,其主要特点是具有一个钳形回路,可以夹住待测电路中的导线,而不需要对电路进行断开。这使得在测量电压、电流等时,无需拆下元件或拆线,方便、快速且安全。钳形万用表的夹子部分由金属材料制成,能够保护测量免受
    的头像 发表于 01-03 15:29 1587次阅读

    大语言模型背后的Transformer,与CNN和RNN有何不同

      电子发烧友网报道(文/李弯弯)近年来,随着大语言模型的不断出圈,Transformer这一概念也走进了大众视野。Transformer是一种非常流行的深度学习模型,最早于2017年
    的头像 发表于 12-25 08:36 3831次阅读
    大语言<b class='flag-5'>模型</b>背后的<b class='flag-5'>Transformer</b>,与CNN和RNN有何不同