[NAS论文][Transformer]HAT: Hardware-Aware Transformers.....
[HAT: Hardware-Aware Transformers for Efficient Natural Language Processing]
作者:韩松、MIT大佬们【和Once-for-all那篇的人差不多,一个团队的估计】
论文地址:https://arxiv.org/abs/2005.14187
论文代码:https://github.com/mit-han-lab/hardware-aware-transformers.git
注:以下图片都来自论文原文、文字基于原文翻译和个人主观理解,作者水平很差,大家手下留情,如有错误欢迎大家指正,拜谢
【总览】
1、一个足够的设计空间中使用一个高效的权重共享SuperTransformer进行硬件感知的神经结构搜索[NAS],并发现高性能低延迟模型,消耗的成本比之前的Evolved Transformer少四个数量级
2、在评估Transformer的时候,往往有两个问题,1是FLOPs并不反映测量的latency。虽然在现有很多论文里,FLOPs被用作效率的衡量标准,但是其实在不同硬件下,FLOPs和latency之间并不完全对应,下图可见,同样的FLOPs模型的latency其实可以差很远。2是不同的硬件偏好的模型结构不同。ARM 对于Hidden Dim, Embedding Dim 和 Layer Num都比较敏感下图(a),大致呈线性关系。但是Intel CPU和NVIDIA GPU却基本只和layer num呈线性关系(下图bc),这也本文的动机,为不同的硬件提供他们喜欢的模型架构。
【方法】
为了使得Transformer可以变成超网络,提供可选的op,也就是从Transformer --> superTransformer这个过程,有两点改变:
1、Arbitrary Encoder-Decoder Attention
传统的transformer只从encoder最后一层抽取信息,迫使虽有的解码器只从高抽象层学习,而忽略了低级信息,形成了信息瓶颈。因此,本文对transformer做的第一个改变是允许每个解码器层可以选择多个编码器层,它允许关注不同的抽象级别,从而提高了模型的容量,如下图所示。
2、 Heterogeneous Transformer Layers
传统的transformer的hidden dim是embedding dim 的2倍、4倍,但这不是最优的,因为不同的层需要不同的能力,这取决于特征提取的难度
【superTransformer构建】
vector dim fixed as 512)通过划分头部数部分来共享,上述看下图。
【Evolutionary Search for SubTransformer】
【Result】
结果可以直接看图:,在机器翻译任务上,以transformer-big为基准,在GPU上可以加速2.7倍和1.8倍推理速度在WMT'14 En-De/WMT'14 EN-FR任务上
【结论分析】
1、从搜到的结果来看,GPU的网络搜到的网络偏向于又宽又浅,树莓派的则又窄又深
2、在搜索部分,作者做了一个消融实验来对比EA和random search的区别,结果表明,EA搜的结果比random search好:
- 点赞
- 收藏
- 关注作者
评论(0)