作者 | kaiyuan   整理 | NewBeeNLP

一篇来自ICLR2020,facebook人工智能实验室的论文,关于改进Transformer推理速度的。

  • 论文地址:https://arxiv.org/abs/1910.10073

写在前面

大模型在困难任务上表现非常好,而小模型也可以在比较简单的任务上表现出色。但是目前大模型在应用简单任务时的运算量同复杂任务一样,这就导致了不必要的资源浪费,此外还会导致推理速度变慢。对此,提出了一种depth-adaptive transformer,可以在推理阶段针对不同的token自动选择在合适的层进行停止并输出,在不损失模型效果的同时大大提高推理速度。

Anytime Prediction

传统的transformer decoder,所有的token都需要经过N个block,且最后的分类器是唯一的。但是一些简单的任务并不需要推理如此多步,可能在第




层模型已经得出结果了,再往上走并没有意义,于是可以选择在第




层就输出,这称为「动态计算(Dynamic Computation)」

并且,每一层的分类器









可以选择不同或者相同。接下去就是怎么去实现上面的想法,即对于每个输入token,如何自动确定其在哪一层退出?文中提出了两种策略:

Aligned training

对齐训练会同时优化所有分类器,并假设当前状态之前的所有状态




























均可以被看见,然后计算




项loss,如下图(a)








































其中,










是第




层所有









损失和,
























的加权平均(论文附录A实验说明平均加权的效果最好)。

Mixed training

但是上述对齐训练是不好实现的,因为不是所有token都在同一层输出,那么当有的token在较早的层输出后,在后续层计算时就无法看见它。解决这个问题一个直观的想法就是将已经输出的单元直接copy到上面一层即可,如下图(b)。对输入序列采样




个退出序列 ,并对每个退出序列计算损失,






































































Adaptive Depth Estimation

自适应深度估计。上文还有一个问题待解决:如何采样退出序列?提出了两种策略:

  • 「sequence-specific」:对应于aligned training,所有token都在同一层退出;

  • 「token-specific」:对应于mixed training,每个token可能在不同的层退出;











表示第




步对应的退出层参数分布,其中












表示









在第




层退出并得到预测









的概率,












表示真实分布,使用下式优化:

总体的损失函数为:

Sequence-Specific Depth

在该种模式下,所有token都在同一层退出,所以我们不考虑time-step




。通过将encoder输出的平均值




送到多项式分类器,我们得到分布






























接下来怎么得到真实分布












呢?本文提出了两种策略:

  • 「Likelihood-based」:基于每个块之后整个序列的似然性,并且以Dirac delta为中心对退出进行了优化,从而使序列似然性最高,

并且还可以加入正则项鼓励更低的退出层

  • 「Correctness-based」:基于似然的方式无法判断最大的似然是不是正确的序列,因此基于正确性的方式选择正确字符最大分数的最低的层。具体来说,对每个层,我们计算在该层上所有正确预测的字符数,然后选择最大正确数的一层,并同样加上正则项:

Token-Specific Depth

基于token的方式对每个token自动学习在哪一层退出,提出两种exit distribution









的计算方式:

  • 「Multinomial」:多项分布,












    表示第一层decoder的输出

  • 「Poisson Binomial」:泊松二项分布,












    表示停止概率(halting probability),其对应有一个阈值









    ,当












    超过这个阈值时即退出否则继续往上走直至结束

接下去也是对真实分布的计算,提出了三种策略:

  • 「Likelihood-based」:基于似然的方式在每一步选择似然最大的层退出,

但是显然,这种方法是贪心做法,我们还想要考虑未来的字符,所以本文考虑一个光滑化(smoothed)似然,它考虑附近的几个字符:

















































  • 「Correctness-based」:基于正确性的方式,

  • 「Confidence thresholding」:基于自信度阈值,定义了一个自信度阈值









    ,当当前输出


























    的最大得分超过阈值时,即选择退出。其中




    是通过验证集确定的。

上述几种方法的示意图:

一些结论

  • Aligned training效果要优于Mixed training;

  • 用对齐训练方法得到的模型,在






    的时候,差不多就能超过baseline模型(传统Transformer),而Possion方法大体上比多项分布好;

  • 更多更详细的实验分析推荐阅读reference里的作者PPT分享;

  • 整体感觉和之前介绍过的Universal Transformer很像,都是采用dynamic computation的思想。但是很多细节还是不同,比如没有大型共享的Transformer层,并且本文主要关注动态停止策略设计等等:

There are a number of differences to universal transformer (UT): UT repeatedly applies the same layer for a number of steps, while as our approach applies different layers at every step. The dynamic computation in UT considers a single type of mechanism to estimate the number of steps (=network depth) while as we consider a number of mechanisms and supervision regimes. Moreover, dynamic computation was not actually used for the machine translation experiments in the UT paper (it was used for other tasks though), the authors used a fixed number of steps for every input instead.

  • Open Review[1]DAT作者PPT分享[2]

本文参考资料

[1]

Open Review: https://openreview.net/forum?id=SJg7KhVKPH

[2]

DAT作者PPT分享: http://elbayadm.github.io/assets/talks/anytime/decore_04102019.pdf

END -

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/yFQV7am本站qq群1003271085。加入微信群请扫码进群:

【论文解读】ICLR2020 | 深度自适应Transformer相关推荐

  1. transformer论文解读_【论文解读】ICLR2020 | 深度自适应Transformer

    作者 | kaiyuan   整理 | NewBeeNLP 一篇来自ICLR2020,facebook人工智能实验室的论文,关于改进Transformer推理速度的.论文地址:https://arxi ...

  2. ACL 2018 论文解读 | 基于深度强化学习的远程监督关系抽取

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  3. Nature论文解读:深度学习助力毫秒之间识别癌细胞

    论文动机 流式细胞仪作为一种生物医学诊断技术,可以准确测量细胞特性.当前仪器已经实现了细胞的分类识别,但由于数据处理耗时的问题,尚不能对细胞进行实时分选. 基于之前的工作,本文作者提出采用深度学习来解 ...

  4. Nature论文解读 | 基于深度学习和心脏影像预测生存概率

    作者丨Peter 单位丨某基因科技公司生物信息工程师 研究方向丨生物信息 本文解读的文章来自今年 2 月份的 Nature 杂志新子刊 Machine Intelligence,标题为:Deep-le ...

  5. 【论文解读】深度学习目标检测的开山鼻祖 |R-CNN详解 | 两阶段目标检测代表

    目录 前言 目标检测近年里程碑 深度学习目标检测 1 R-CNN简介 1.1 何为R-CNN? 1.2 摘要 1.2.1 论文综述 1.2.2 优点汇总 1.2.3 缺点汇总 2. RCNN网络结构解 ...

  6. 论文解读:《自适应非局部随机游动用于图像超像素分割》

    论文解读:<Adaptive Nonlocal Random Walks for Image Superpixel Segmentation> 1.文章概述 2.背景 2.1 现有的超像素 ...

  7. FastFormers 论文解读:可以使Transformer 在CPU上的推理速度提高233倍

    自Transformers诞生以来,紧随其后的是BERT,在几乎所有与语言相关的任务中,无论是问题回答,情感分析,文本分类还是文本生成,都占据着NLP的主导地位. 与RNN和LSTM消失的梯度问题(不 ...

  8. 论文解读PCT: Point Cloud Transformer(用于点云处理的Transformer)

    最近几年transformer越来越火,在NLP.CV等领域都取得了很大的成功.这篇文章作者利用了transformer能够处理无序数据的特点,将transformer应用到点云的处理上.它的想法是基 ...

  9. 【论文解读】深度强化学习基石论文:函数近似的策略梯度方法

     导读:这篇是1999 年Richard Sutton 在强化学习领域中的经典论文,论文证明了策略梯度定理和在用函数近似 Q 值时策略梯度定理依然成立,本论文奠定了后续以深度强化学习策略梯度方法的基石 ...

最新文章

  1. SNS 好像遇到了拐点?
  2. PHP并发验证,PHP接口并发测试的方法(推荐)
  3. Web服务器 - Apache配置介绍
  4. 一文了解树在前端中的应用,掌握数据结构中树的生命线
  5. JavaWeb: Redis存储Session方案
  6. python上网行为分析_python实战练手项目---获取谷歌浏览器的历史记录,分析一个人的上网行为...
  7. oracle是CLOB类型mybatis,Mybatis之Oracle增删查改示例(含Date、Clob数据类型操作)
  8. 经常看到一种说法,说未来普通人翻身,将会越来越难
  9. html设计有项目的页面,HTML+CSS项目开发经验总结(推荐)
  10. CodeForces - 468A 24 Game
  11. SecoClient接收返回码超时
  12. delphi获取本机IP地址
  13. 计算机的基本储存单元电路,DRAM的存储单元电路.PPT
  14. web api(基于NFine框架) 中接口跳转数据格式错误解决方案
  15. Android调用摄像头--农民伯伯原文
  16. 参会指南 | 5月20日WAVE SUMMIT 2021,一起和AI来场约会吧!
  17. vue手把手教你实现论坛bbs——(二)创建组件
  18. 性别符号php,树也分男女?给6万棵杨树画上性别符号,原来是因为…
  19. 计算机公式求时间差公式,24时间差计算公式 excel中计算24小时
  20. 函数参数*arg和参数**arg区别

热门文章

  1. 手机和邮箱的正则表达式
  2. doctype是什么?
  3. 统计学习导论 基于R应用——作业 3
  4. Inherits、CodeFile、CodeBehind
  5. 如何在程序中添加iAd广告
  6. XML编辑器之XMLSpy2005
  7. 【算法30】从数组中选择k组长度为m的子数组,要求其和最小
  8. 把数据导出Excel
  9. [转]JS中判断鼠标按键判断
  10. 多個excel文件合并到一個excel文件