Primer: 针对语言模型的Transformer模型结构搜索

在我们之前的文章中,我们曾介绍过遗传算法在卷积模型结构搜索和Transformer结构搜索中的应用。如下:

今天我们介绍另外一种更进一步的尝试,即Primer。

Overall

谈到AutoML中的网络结构搜索,我们往往会强调搜索空间,搜索算法,搜索结果的分析等。

Primer, 是PRIMitives searched transfomER的缩写。primitive指的是使用Tensorflow中的原子API来作为搜索空间。

搜索算法则使用Regularized Evolution算法,这点在之前介绍过,传送门在AutoML - 遗传算法与网络结构搜索

搜索结果中,经过分析发现,Primer搜索得到的网络模型对于原始Transformer的改进主要在两个地方:

  • Squared ReLU

  • Q,K,V之后加Depthwise Convolution

基于Tensorflow API的搜索空间

在Primer的搜索空间中,只搜索Transformer的stackable decoder block部分,搜索的目标是优化自回归语言模型任务。输入预处理和权重的优化,不在primer的范围之内。

更具体来说,搜索的模型结构块的输入是长度n乘以维度d的矩阵,输出也是。其中最终的输出会被认为是对下一个位置的预测。

如下图所示,Tensorflow的操作会被组织成Instruction和TF Primitives Vocab,然后Primer在搜索的时候会把不同的操作给组合成subprogram,然后再组建模型。组建好的模型可以直接转化为TF的代码。

c41cdc7726066b03c0705d2618b40806.png

没有使用TF的eager mode,所以在构建好模型后,build graph的过程中会把对输出没有贡献的节点给去掉。如下图所示:

7016aa5ea58fd1d11fdd82d5c4a96567.png

模型组建会有一些先验知识的使用,比如,在添加卷积的时候,为了保证不看到后面的词语,卷积操作的位置会往前偏移。又比如,为了让搜索算法能生成multi-head attention的结构,引入了branch的概念。

搜索过程

之前的搜索算法往往都关注一个step的训练时间,Primer做了一个改进,即关注总时间而不是单步时间。这样,有些优化虽然单步耗时多,但是样本利用率高,也能更快的进行训练。

搜索过程中的参数配置不在此赘述了。

搜索结果

搜索出来的结构如下,被称为Primer

254b101ce843cf7aee7b9c5fb6f817ae.png


在搜索出来的结构中,发现了两个重要的改进,如下:

078fa1016df901299b5769772c489c2d.png


这两个改进非常通用,可以直接丢到现有的Transformer实现中去,一般都能带来提升。原始的Transformer加上这两个优化的结构,被称为Primer-EZ,实验部分会分别对它们进行测试。

实验

除了Primer模型和Primer-EZ外,论文设置了三个baseline

  • 原始的Transformer

  • Transformer+GELU

  • Transformer++: Transformer + RMS normalization, Swish activation, GLU multiplicative branch.

实验结果如下, 在训练速度上,达到原始Transformer训练24小时效果的加速比如下。

52b660d5c8533d7fc96f3233dd987607.png

训练时间和validation loss的关系如下:

7e2aa9c575a7dc4448ee680cd05701d2.png

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

9d344fd74bb6833de5f3b5e910c77fb6.png

参考文献

  • [1]. So, David R., et al. "Primer: Searching for Efficient Transformers for Language Modeling." arXiv preprint arXiv:2109.08668 (2021).

END -

b6f3e06767aca408fea386bec7d36537.png

f7e4d295c7d6caaf80bd44835981e609.png

2021最新 北京互联网公司

2021-10-24

0ea049ff91370a9c6b6b1c6cda25b5c5.png

『优势特征知识蒸馏』在淘宝推荐中的应用

2021-10-22

2e3c4bb19ef3d1f30f07552d56f7e612.png

【NLP保姆级教程】手把手带你RNN文本分类(附代码)

2021-10-22

ac7df37402f63fc46577ad7a0eb13a09.png

熬了一晚上,我从零实现了Transformer模型,把代码讲给你听

2021-10-21

44e422a9fa99c4a113de93dec5fdafcd.png

78e48387c7fc97d47aa652d80e9ae304.gif

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值