论文:Ham, Tae Jun, et al. “A^ 3: Accelerating Attention Mechanisms in Neural Networks with Approximation.” 2020 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 2020.

SJTU-CS7331-高级计算机系统架构 阅读材料

HPCA,CCF-A体系结构顶会。

随着神经网络计算需求的增长,学术界已经提出了许多用于神经网络的硬件加速器。这种现有的神经网络加速器通常专注于流行的神经网络类型,例如卷积神经网络(CNN)和递归神经网络(RNN)。但是,注意力机制(Attention Mechanism)并没有引起太多关注,注意力机制是一种新兴的神经网络原语,它使神经网络能够从知识库,外部存储器或过去的状态中检索最相关的信息。注意机制已被许多先进的神经网络广泛采用,用于计算机视觉,自然语言处理和机器翻译,并且占总执行时间的很大一部分。

作者设计了一种称为A3的专用硬件加速器,该加速器的目标是利用近似势能的神经网络中的注意力机制。尤其是,A3的工作确定了新兴的神经网络原语的重要性,并通过软件-硬件协同设计使其加速,从而实现了比常规硬件更高数量级的能效提升。此外,A3还为近似注意力机制设计了专用的硬件流水线,同时推出了台积电40nm的测试芯片。实验结果表明,与传统硬件相比,该加速器可实现显着的性能和能效提升。

在章节Ⅱ-A和章节Ⅱ-B部分中,论文表明注意机制是大多数先进的神经网络(如Word2Vec,Glove和FastText)中广泛使用的策略,用于识别和检索与输入有关的数据,即可区分的基于内容的相似性搜索。大多数网络都在自然语言处理,计算机视觉和推荐系统领域。详细分析了注意机制中点积,softmax归一化和权重和的计算过程。此后,本文得出的结论是,在矩阵矢量乘法中执行的大多数计算对最终输出几乎没有影响,因为大多数得分值在softmax归一化之后可以近似并优化为接近零。因此,A3加速器指日可待。

文章介绍了A3的两个不同版本:Base-A3(第III部分)和Approx-A3(第IV和V部分)。 对于前者,每个模块的硬件设计都直接映射到其计算。后者提出了近似机制,因此后者更值得讨论。

特别是,有关如何设计近似注意力的想法有两个关键步骤。一种是通过有限的计算来识别与注意力机制中的查询相关的候选者。另一个是避免计算可能是不相关的行。有一个关键的直觉:如果我们能以某种方式识别出一些最大和最小的分量相乘结果,就可以用很少的计算来计算估计的注意力得分。

对于Approx-A3,作者设计了一组新的硬件加速器模块,用于候选者选择和评分后逼近。它使用天真的想法,即加法比乘法好。例如,给定大小为n x d的矩阵,Approx-A3首先对存储在SRAM中的矩阵的每一列进行排序。然后,大小为1乘d的两个指针的目的是要获取m次排序列中的max和min个元素,以更新估计的注意力,代替查询向量和排序矩阵的逐元素乘法。因此,该算法仅执行2 x m的乘法,比n x d小得多。简而言之,该算法每次迭代更新两个估计的注意力得分:最大和最小分量相乘结果。最后,经过m次迭代后具有正估计注意力得分的行将成为近似注意力的候选对象。

操作图:

加速器结构:

本文演示了一些评估A3加速器的实验。选择VI分为四个部分:A(工作量),B(准确性评估),C(性能结果)和D(面积,功率,能量和测试芯片)。

从性能结果可以看出,近似可以进一步提高吞吐量(2.6-7.0倍)和等待时间(1.6-8.0倍)。因此,在面积和能源效率方面,可以节省更多的能源(比CPU效率高> 10,000倍)。结果证明,Approx-A3的先前设计非常有效。如果在忽略管芯尺寸的情况下将这种技术应用于移动终端,则这是有用的。此外,应该注意的是,大多数能量都花费在输出计算和候选选择上,这很容易理解,因为逐个元素的乘法被近似值代替。但是,我们都知道近似方案会影响端到端模型的准确性。根据VI-B,结果表明,保守近似方案损失了约1-1.6%的精度指标,而积极近似方案损失了约8-9%的精度指标。此外,选择的前几项的数量表明,激进近似法可能会错过一些注意力得分较高的项目。

更多内容访问 omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2020 • OmegaXYZ-版权所有 转载请注明出处

速读-A3基于注意力机制的神经网络处理器相关推荐

  1. 空间注意力机制sam_一种基于注意力机制的神经网络的人体动作识别方法与流程...

    本发明属于计算机视觉领域,具体来说是一种基于注意力机制的神经网络的人体动作识别的方法. 背景技术: 人体动作识别,具有着非常广阔的应用前景,如人机交互,视频监控.视频理解等方面.按目前的主流方法,可主 ...

  2. Nat.Commun.|使用基于注意力机制的多标签神经网络预测并解释12种RNA修饰

    今天介绍来自西交利物浦大学和福建医科大学的Zitao Song, Daiyun Huang等人六月份发表在Nature Communication的文章"Attention-based mu ...

  3. 基于注意力机制的循环神经网络对 金融时间序列的应用 学习记录

    摘要: 概况论文内容,包含解决的问题,解决的方法,成果 金融时间序列由于高噪声性以及序列间的相关性,导致传统模型的预测精度和泛化能力往往较低.为了克服这一问题,提出一种基于注意力机制的循环神经网络预测 ...

  4. PyTorch中文教程 | (14) 基于注意力机制的seq2seq神经网络翻译

    Github地址 在这个项目中,我们将编写一个把法语翻译成英语的神经网络. [KEY: > input, = target, < output]> il est en train d ...

  5. 【论文速读】基于投影方法的激光雷达点云处理比较

    点云PCL免费知识星球,点云论文速读. 文章:LiDAR point-cloud processing based on projection methods: a comparison 作者:Gui ...

  6. 【论文速读】基于图像的伪激光雷达三维目标检测

    点云PCL免费知识星球,点云论文速读. 标题:End-to-End Pseudo-LiDAR for Image-Based 3D Object Detection 作者:Rui Qian, Divy ...

  7. 基于注意力机制的图卷积网络预测药物-疾病关联

    BIB | 基于注意力机制的图卷积网络预测药物-疾病关联 智能生信 人工智能×生物医药 ​关注 科学求真 赢 10 万奖金 · 院士面对面 9 人赞同了该文章 今天给大家介绍华中农业大学章文教授团队在 ...

  8. 可视化神经机器翻译模型(基于注意力机制的Seq2seq模型)

    可视化神经机器翻译模型(基于注意力机制的Seq2seq模型)   序列到序列模型是深度学习模型,在机器翻译.文本摘要和图像字幕等任务中取得了很大的成功.谷歌翻译在2016年底开始在生产中使用这样的模型 ...

  9. ciaodvd数据集的简单介绍_基于注意力机制的规范化矩阵分解推荐算法

    随着互联网技术的发展以及智能手机的普及, 信息超载问题也亟待解决.推荐系统[作为解决信息超载问题的有效工具, 已被成功应用于各个领域, 包括电子商务.电影.音乐和基于位置的服务等[.推荐系统通过分析用 ...

  10. 论文浅尝 | 用于学习知识图谱嵌入的一种基于注意力机制的新型异构 GNN 框架HRAN...

    笔记整理 | 李爽,天津大学 链接:http://hfbix45521e79b0484907sowxo0fubpp9b6xwx.fiiz.eds.tju.edu.cn/stamp/stamp.jsp? ...

最新文章

  1. 那天,我被拉入一个Redis群聊···
  2. FPGA之道(77)静态时序分析(三)同步时序逻辑的分析原理
  3. [LeetCode] Permutations II 全排列之二
  4. 计算机音乐刚好遇见你乐谱,刚好遇见你曲谱_刚好遇见你乐谱
  5. 【英语学习】【Daily English】U11 Work L01 Would you like a tour of the office?
  6. 最新易商支付源码/代付系统PHP源码+功能超级强大
  7. 算法系列——遗传算法matlab编程详解
  8. 如何利用python下载电影_一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接...
  9. box-sizing属性介绍
  10. 台式计算机怎么开声音,台式机如何设置声音
  11. jqGrid双击事件,并获取双击行的各个属性值
  12. 注册表知识:HKEY_LOCAL_MACHINE根键详解
  13. python随机排列图片_更改图片中的随机像素,python
  14. php留言板的简单编写
  15. 一维,二维条形码/条码的编码规则
  16. 软件公司的项目经理岗位职责
  17. [debug004]_GPIO对地短路问题
  18. 装系统出现0xc000000f该怎么办?
  19. 程序员命名必备网站|变量命名
  20. hibernate 学习 并且与spring 整合

热门文章

  1. 每天一道剑指offer-二叉搜索数的后序遍历序列
  2. python截图保存到内存卡_没有长截图功能,一招即可截下来!
  3. PHP导航栏管理,zblog导航栏管理设置的几种方法
  4. element做树形下拉_Element input树型下拉框的实现代码
  5. springsecurity 登录失败_145-Spring Security
  6. vue中的事件绑定v-on指令
  7. 阿里巴巴商学院计算机考研,2017年杭州师范大学阿里巴巴商学院826计算机基础之C程序设计考研仿真模拟题...
  8. 自然语言处理_人工智能自然语言处理技术拉动产业升级引擎
  9. python函数支持哪些参数类型_如何记录python函数参数类型?
  10. logstash 获取多个kafka_日志工程Logstash日志采集入门篇