Switch Transformer: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity

下载地址:

https://arxiv.org/pdf/2101.03961.pdf

github 代码:https://github.com/tensorflow/mesh/blob/master/mesh_tensorflow/transformer/moe.py

公众号:AliceWanderAI

Introduction

作者在Introduction 中提出:

为了寻求更高的计算效率,我们提出了一种稀疏激活的专家模型:Switch Transformer。在我们的案例中,稀疏性来自为每个输入样本仅激活神经网络权重的子集

For seeking greater computational efficiency, we propose a sparsely-activated expert model: the Switch Transformer. In our case the sparsity comes from activating a subset of the neural network weights for each incoming example.

上面左图显示的是:sparse model 的参数数量级越高,其测试误差越低。

上面右图显示的是:使用同样的计算成本,基于各个数量级参数的Switch-Base模型与T5-Base模型进行比较,Switch-Base 16e参数的模型与T5-Base相比,随着训练的进行,Switch-Base 16e的负对数困惑度远远高于T5-Base,这表示什么意思呢?就是说,Switch-Base 16e模型的推测结果可信度更高(负对数困惑度越高,困惑度越小;困惑度越小,准确率越高)。

本论文贡献主要如下:

提出了Switch Transformer 架构,基于MoE模型进行了简化和改进;

- 对比专业微调T5模型的缩放属性和benchmark,使用同样的FLOPS/token,本文模型在与训练时有7倍左右的加速。在计算资源有限时,本文模型也有提升。

- 将稀疏的预训练和专业微调模型成功地蒸馏为小而密集的模型。我们将模型尺寸减少多达99%,同时保留了大型稀疏的30%的质量提升。

- 提升了预训练和微调的技术:a)可选精度训练,可进行bfloat16的训练,b)一种允许缩放大量expert的初始化机制.c) 增加了expert正则化,从而改进了稀疏模型的微调和多任务训练。

- 通过衡量多语言数据的预训练的收益,我们发现在所有101种语言上模型性能都有普遍的改进,其中91%的语言相比T5 base模型,有着4倍以上的加速。

- 通过有效地组合数据,模型和expert并行度, 来创建具有多达万亿个参数的模型,实现了神经语言模型的规模增加。这些模型对比专业微调的T5-XXL Base模型,其预训练速度提高了4倍。

上图展示了Switch Transformer的编码器模块。本文用了一个稀疏 Switch FFN (浅蓝色)替代了Transformer中的密集型的FFN模型。该层独立地运行于序列中的token。

两个token(x1="More", x1="Parameter")经过了四个FFN expert. 每条线独立处理每个token. 由一个router gate value来选择四个FFN 中的一个,然后Switch FFN层会返回选中的那个FFN的输出。

本篇文章就到这里。下一篇j将解读包含内容:

Switch Transformer

- Simplifying Sparse Routing

- Efficient Sparse Routing

- Putting It All Together: The Switch Transformer

- Improved Training and Fine-Tuning Techniques

Switch Transformer模型解读-Introduction相关推荐

  1. 谷歌NIPS论文Transformer模型解读:只要Attention就够了

    作者 | Sherwin Chen 译者 | Major,编辑 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 导读:在 NIPS 2017 上,谷歌的 Vaswani 等人提出了 T ...

  2. 16000亿!谷歌发布人类历史首个万亿级模型 Switch Transformer,中国还有机会赶超吗?...

    新年伊始,大规模预训练模型军备竞赛进入万亿参数时代.  文:梦佳.周寅张皓.贾伟 近日,Google Brain的研究人员William Fedus.Barret Zoph.Noam Shazeer等 ...

  3. 1.6万亿参数,秒杀GPT-3!谷歌推出超级语言模型Switch Transformer,比T5快4倍

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来源:外媒,新智元整理 编辑:Q.keyu [导读]继GPT-3问世仅仅不到一年的时间 ...

  4. 1.6万亿参数你怕了吗?谷歌大脑发布语言模型 Switch Transformer,速度碾压T5

    [编者按]『四个参数画大象,五个参数鼻子晃』 著名实验和理论物理学家.诺奖得主费米曾经这样引用冯诺依曼的话:"四个参数,我就能拟合出一个大象出来,用五个参数我就能让他的鼻子摆动". ...

  5. 深入解读首个万亿级语言模型Switch Transformer

    作者|AI Box 来源|RUC AI Box 本文深入解读了由 Google Brain 设计的名叫「Switch Transformer」的简化稀疏架构,可以将语言模型的参数量扩展至 1.6 万亿 ...

  6. Paper:Transformer模型起源—2017年的Google机器翻译团队—《Transformer:Attention Is All You Need》翻译并解读

    Paper:Transformer模型起源-2017年的Google机器翻译团队-<Transformer:Attention Is All You Need>翻译并解读 目录 <T ...

  7. 【NLP】Transformer模型深度解读

    " 本文对Transoformer模型进行了深度解读,包括整体架构,Attention结构的背景和细节,QKV的含义,Multi-head Attention的本质,FFN,Position ...

  8. Transformer模型深度解读

    " 本文对Transoformer模型进行了深度解读,包括整体架构,Attention结构的背景和细节,QKV的含义,Multi-head Attention的本质,FFN,Position ...

  9. 论文解读:《功能基因组学transformer模型的可解释性》

    论文解读:<Explainability in transformer models for functional genomics> 1.文章概括 2.背景 3.相关工作 4.方法 4. ...

  10. 手把手教你用Pytorch代码实现Transformer模型(超详细的代码解读)

    手把手教你用Pytorch代码实现Transformer模型(超详细代码解读)

最新文章

  1. 说说项目从0-1过程中的那点事儿
  2. idea用token登陆github_用python和她一起唐诗宋词
  3. java判断字符串中是否包含中文 过滤中文
  4. 重磅更新!YoloV4最新论文与源码!权重!结构!翻译!
  5. python animation 轨迹_Python实例:自动轨迹绘制
  6. 笔记本vm系统的分辨率不好调整_关于超高分辨率小动物超声成像系统(3100LT)和多模式、超高分辨率小动物光声/超声成像系统(2100)测试费价格调整通知...
  7. halcon相关的链接
  8. 为英文的windows 7打上简体中文语言包
  9. java 匿名类实现6_java匿名内部类,以及实现Comparato和Comparable接口实现对对象的排序...
  10. TCP/IP 选项TcpTimedWaitDelay设置
  11. 谷歌浏览器任务栏图标变白解决办法
  12. html导航栏固定在顶部,将导航栏始终固定在窗口顶部:
  13. qq传输文件为什么服务器忙,win10系统qq接收文件慢一直显示传输连接中的教程
  14. 【程序人生】这是 2017 关于程序员薪酬最详尽的调查报告
  15. 《云计算和大数据时代网络技术揭秘》读后感
  16. Problem E: 求方程ax^2+bx+c=0的实数根
  17. 线性回归的理解与公式推导
  18. java 月份缩写_关于java:如何将日期字符串解析为Date?
  19. 有符号数与无符号数的除法(转载)
  20. [翻译] 在 LaTeX 中对齐公式

热门文章

  1. android航拍效果,足不出户看遍大好河山!超震撼的航拍全景APP
  2. python教你生成动态二维码
  3. Assembler - 循环程序设计
  4. DOA算法3:Matrix Pencil
  5. Latex排版技巧:输入罗马数字
  6. cad多段线画圆弧方向_cad弧形多线(cad多段线怎么画弧线)
  7. 加点字符就能让qq昵称很酷的神奇代码?
  8. WMB Compute 节点访问数据库
  9. 微分方程c语言求解,使用C语言解常微分方程 C ODE.doc
  10. AES JS实现加密解密