CN111062471B - 用于加速bert神经网络运算的深度学习加速器 - Google Patents

用于加速bert神经网络运算的深度学习加速器 Download PDF

Info

Publication number
CN111062471B
CN111062471B CN201911160365.XA CN201911160365A CN111062471B CN 111062471 B CN111062471 B CN 111062471B CN 201911160365 A CN201911160365 A CN 201911160365A CN 111062471 B CN111062471 B CN 111062471B
Authority
CN
China
Prior art keywords
neural network
network
chip
bert
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911160365.XA
Other languages
English (en)
Other versions
CN111062471A (zh
Inventor
刘诗玮
张怡云
史传进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN201911160365.XA priority Critical patent/CN111062471B/zh
Publication of CN111062471A publication Critical patent/CN111062471A/zh
Application granted granted Critical
Publication of CN111062471B publication Critical patent/CN111062471B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Logic Circuits (AREA)

Abstract

本发明属于集成电路技术领域,具体为一种用于加速BERT神经网络运算的深度学习加速器。本发明加速器包括:三个矩阵乘阵列,用于计算乘累加操作;一个Softmax与点积计算单元,用于计算Softmax概率函数,并对分支网络输出进行点乘得到输出特征值;三个特征存储器,用于存储输入、输出特征值;两个权重存储器;一个控制器和片上片外接口,用于控制片外DRAM中的数据与片上数据进行交互。本发明针对神经网络中的分支网络结构进行优化,有效减少中间数据的存储空间,降低片外片上数据交互次数,降低功耗;同时通过配置存储单元与计算单元间可重构的数据互联,满足BERT神经网络中的分支网络结构计算要求,可用于端到端的神经网络计算。

Description

用于加速BERT神经网络运算的深度学习加速器
技术领域
本发明属于集成电路技术领域,具体涉及一种用于加速BERT神经网络运算的深度学习加速器。
背景技术
随着BERT神经网络的发展,其被广泛应用于自动问答、文本翻译、文本分类、语音识别等自然语言处理任务上。BERT神经网络包括分支结构的多头注意力(Multi-headattention)神经网络部分与端到端的前馈预测神经网络部分。前者用于提取上下文之间的关联特征,后者根据提取到的特征对下一时刻语音或文本输出进行预测。
当前的计算平台CPU/GPU或传统定制设计的神经网络加速器,只能加速处理端到端的神经网络。对于分支结构的神经网络,其只能依次计算出各分支的输出特征值后,再对其进行后处理得到分支网络结构最终的输出特征值。各分支的输出特征值在不参与后处理时必须暂存在特定的存储空间中,浪费了存储单元。
发明内容
本发明的目的在于提供一种能够减少特征值存储空间、降低计算时间和功耗的用于加速BERT神经网络运算的深度学习加速器。
本发明提供的用于加速BERT神经网络运算的深度学习加速器,包括:
三个矩阵乘阵列,用于计算神经网络中的乘累加操作;
一个Softmax与点积计算单元,用于计算神经网络的Softmax概率函数,并对分支网络的输出进行点乘,得到最终的输出特征值;
三个特征存储器,用于存储输入、输出特征值;
两个权重存储器;用于存储网络的权重;
一个控制器和片上片外接口,用于控制片外DRAM中的数据与片上数据进行交互。
所述特征存储器与矩阵乘阵列输入端之间通过配置可重构的互联结构,可根据BERT中的分支网络结构或端对端网络结构特点,高效向矩阵乘阵列传输输入特征值。
所述特征存储器与矩阵乘阵列输出端之间通过配置可重构的互联结构,可并行传输BERT中的分支网络结果或端对端网络结构的输出特征值。
所述特征值存储器同时存储当前正在处理的神经网络层的输入特征值与输出特征值。中间层网络的输出特征值可立刻作为下一层网络的输入,中间层的计算结果不必传输到片外DRAM存储器中,减少片上片下存储单元之间的数据交互,降低功耗。
本发明中,当计算BERT神经网络中分支网络部分时,三个特征存储器存储相同输入通道的三块数据。特征存储器中输入特征值依次广播到三个矩阵乘阵列中,完成三个分支的乘累加运算。
本发明中,当计算BERT神经网络中端到端网络部分时,根据该层神经网络的输入、输出通道数量,特征值存储器的特征值可依次广播到三个乘矩阵阵列,完成神经网络一个输入通道、三个输出通道的乘累加运算;或三个特征存储器中的特征值与三个乘矩阵阵列点对点连接,完成三个输入通道、一个输出通道计算。
本发明中,当计算BERT神经网络中端到端网络部分时,Softmax与点积计算单元不参与计算,此时关闭以减少计算功耗。
本发明中,权重特征存储器采用乒乓(ping-pong)的传输方式从片外DRAM中的权重中读取权重。
本发明将各分支同时计算并将产生的输出特征值及时进行后处理,实现了针对加速BERT神经网络运算的深度学习加速器。解决了BERT神经网络中分支结构输出特征值存储浪费存储空间的问题。与CPU/GPU或传统的神经网络加速器相比,本发明加速器可减少特征值存储所需空间,降低片内与片外以及片内不同单元的数据交互,降低计算时间和功耗。本发明同时通过配置存储单元与计算单元间可重构的数据互联,满足BERT神经网络中的分支网络结构计算要求同时,可用于端到端的神经网络计算。
附图说明
图1是本发明顶层电路框图。
图2是本发明加速的BERT神经网络计算流程图。
具体实施方式
在下文中结合图示在参考实施例中更完全地描述本发明,本发明提供优选实施例,但不应该被认为仅限于在此阐述的实施例。
实施例是一个用于加速BERT神经网络运算的深度学习加速器,图1是其顶层电路框图。
所述加速器包括三个特征值存储器,两个权重存储器,三个矩阵乘阵列,一个Softmax与点积计算单元,一个控制器与片上片外接口。
图2是加速的BERT神经网路计算流程图。其主要包括两部分:多头注意力分支神经网络结构与前馈端到端神经网络结构。在进行多头注意力神经网络计算时,相同的输入分别与三个分支的权重进行矩阵乘预算,得到的输出特征值在后处理时经过Softmax概率函数与点积运算得到最终该部分网路的输出特征值,并作为前馈端到端神经网络的输入。
在计算多头注意力网络时,三个特征存储器存储相同输入通道的三块数据。特征存储器中输入特征值依次广播到三个矩阵乘阵列中。同时,三个乘累加阵列分别接收来自权重存储器的三个分支的权重,完成乘累加操作。每一个时钟周期产生的输出特征值立刻进入Softmax与点积计算单元完成后处理运算得到最终的输出特征值。输出特征值不同通道一次传输到三个特征值存储器中,作为前馈网络的输入。
在计算前馈网络时,根据该层神经网络的输入、输出通道数量,特征值存储器的特征值可依次广播到三个乘矩阵阵列,完成神经网络一个输入通道、三个输出通道的乘累加运算;或三个特征存储器中的特征值与三个乘矩阵阵列点对点连接,完成三个输入通道、一个输出通道计算。
在上述计算过程中,若权重存储器不能存储网络中的全部权重。其采用乒乓的方式,经过片上片外接口读取片外DRAM中的权重。保证权重能及时读取到片上。避免因等待权重传输而暂停计算造成的计算延时。
以上通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

Claims (5)

1.一种用于加速BERT神经网络运算的深度学习加速器,其特征在于,包括:
三个矩阵乘阵列,用于计算神经网络中的乘累加操作;
一个Softmax与点积计算单元,用于计算神经网络的Softmax概率函数,并对分支网络的输出进行点乘得到最终的输出特征值;
三个特征存储器,用于存储输入、输出特征值;
两个权重存储器,用于存储网络的权重;
一个控制器和片上片外接口,用于控制片外DRAM中的数据与片上数据进行交互;
所述特征存储器与矩阵乘阵列输入端之间通过配置可重构的互联结构,可根据BERT中的分支网络结构或端对端网络结构特点,高效向矩阵乘阵列传输输入特征值;
所述特征存储器与矩阵乘阵列输出端之间通过配置可重构的互联结构,可并行传输BERT中的分支网络结果或端对端网络结构的输出特征值;
所述特征存储器同时存储当前正在处理的神经网络层的输入特征值与输出特征值;中间层网络的输出特征值可立刻作为下一层网络的输入,中间层的计算结果不必传输到片外DRAM存储器中,减少片上片下存储单元之间的数据交互,降低功耗。
2.根据权利要求1所述的加速BERT神经网络运算的深度学习加速器,其特征在于,当计算BERT神经网络中分支网络部分时,三个特征存储器存储相同输入通道的三块数据;特征存储器中输入特征值依次广播到三个矩阵乘阵列中,完成三个分支的乘累加运算。
3.根据权利要求1所述的加速BERT神经网络运算的深度学习加速器,其特征在于,当计算BERT神经网络中端到端网络部分时,根据该层神经网络的输入、输出通道数量,特征值存储器的特征值可依次广播到三个乘矩阵阵列,完成神经网络一个输入通道、三个输出通道的乘累加运算;或三个特征存储器中的特征值与三个乘矩阵阵列点对点连接,完成三个输入通道、一个输出通道计算。
4.根据权利要求3所述的加速BERT神经网络运算的深度学习加速器,其特征在于,当计算BERT神经网络中端到端网络部分时,Softmax与点积计算单元不参与计算,此时关闭以减少计算功耗。
5.根据权利要求1所述的加速BERT神经网络运算的深度学习加速器,其特征在于,权重存储器采用乒乓的传输方式从片外DRAM中的权重中读取权重。
CN201911160365.XA 2019-11-23 2019-11-23 用于加速bert神经网络运算的深度学习加速器 Active CN111062471B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911160365.XA CN111062471B (zh) 2019-11-23 2019-11-23 用于加速bert神经网络运算的深度学习加速器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911160365.XA CN111062471B (zh) 2019-11-23 2019-11-23 用于加速bert神经网络运算的深度学习加速器

Publications (2)

Publication Number Publication Date
CN111062471A CN111062471A (zh) 2020-04-24
CN111062471B true CN111062471B (zh) 2023-05-02

Family

ID=70298109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911160365.XA Active CN111062471B (zh) 2019-11-23 2019-11-23 用于加速bert神经网络运算的深度学习加速器

Country Status (1)

Country Link
CN (1) CN111062471B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113159309B (zh) * 2021-03-31 2023-03-21 华南理工大学 一种基于nand闪存的低功耗神经网络加速器存储架构

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107817708A (zh) * 2017-11-15 2018-03-20 复旦大学 一种高兼容性可编程神经网络加速阵列
CN108446761A (zh) * 2018-03-23 2018-08-24 中国科学院计算技术研究所 一种神经网络加速器及数据处理方法
CN109447257A (zh) * 2018-09-18 2019-03-08 复旦大学 一种通道自组织的深度神经网络加速芯片的运算装置
CN109472356A (zh) * 2018-12-29 2019-03-15 南京宁麒智能计算芯片研究院有限公司 一种可重构神经网络算法的加速装置及方法
CN109948774A (zh) * 2019-01-25 2019-06-28 中山大学 基于网络层捆绑运算的神经网络加速器及其实现方法
CN110428047A (zh) * 2018-05-01 2019-11-08 半导体组件工业公司 神经网络系统以及用于实施神经网络的加速器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9153230B2 (en) * 2012-10-23 2015-10-06 Google Inc. Mobile speech recognition hardware accelerator

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107817708A (zh) * 2017-11-15 2018-03-20 复旦大学 一种高兼容性可编程神经网络加速阵列
CN108446761A (zh) * 2018-03-23 2018-08-24 中国科学院计算技术研究所 一种神经网络加速器及数据处理方法
CN110428047A (zh) * 2018-05-01 2019-11-08 半导体组件工业公司 神经网络系统以及用于实施神经网络的加速器
CN109447257A (zh) * 2018-09-18 2019-03-08 复旦大学 一种通道自组织的深度神经网络加速芯片的运算装置
CN109472356A (zh) * 2018-12-29 2019-03-15 南京宁麒智能计算芯片研究院有限公司 一种可重构神经网络算法的加速装置及方法
CN109948774A (zh) * 2019-01-25 2019-06-28 中山大学 基于网络层捆绑运算的神经网络加速器及其实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王俊松 ; 高志伟.基于RBF神经网络的网络流量建模及预测.《计算机工程与应用》.2008,(第undefined期),6-7、11. *

Also Published As

Publication number Publication date
CN111062471A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
Zhao et al. F-CNN: An FPGA-based framework for training convolutional neural networks
CN109409510B (zh) 神经元电路、芯片、系统及其方法、存储介质
CN111459877B (zh) 基于FPGA加速的Winograd YOLOv2目标检测模型方法
US10949736B2 (en) Flexible neural network accelerator and methods therefor
CN109325591B (zh) 面向Winograd卷积的神经网络处理器
CN111178518A (zh) 一种基于fpga的软硬件协同的加速方法
US11663444B2 (en) Pipelined neural network processing with continuous and asynchronous updates
KR20200111948A (ko) 인공 신경망을 처리하는 방법 및 이를 위한 전자 장치
Sun et al. A high-performance accelerator for large-scale convolutional neural networks
CN111047045B (zh) 机器学习运算的分配系统及方法
CN113222133A (zh) 一种基于fpga的压缩lstm加速器及加速方法
Pradeep et al. Edgenet: Squeezenet like convolution neural network on embedded fpga
CN111062471B (zh) 用于加速bert神经网络运算的深度学习加速器
Zhang et al. η-lstm: Co-designing highly-efficient large lstm training via exploiting memory-saving and architectural design opportunities
Xiyuan et al. A Review of FPGA‐Based Custom Computing Architecture for Convolutional Neural Network Inference
CN117744759A (zh) 文本信息的识别方法、装置、存储介质及电子设备
CN111930681B (zh) 一种计算装置及相关产品
Liu et al. A 1D-CRNN inspired reconfigurable processor for noise-robust low-power keywords recognition
KR20220131124A (ko) 인공 신경망에서 학습을 통한 로드 밸런싱 방법 및 시스템
Xia et al. PAI-FCNN: FPGA based inference system for complex CNN models
CN115222028A (zh) 基于fpga的一维cnn-lstm加速平台及实现方法
CN113238976B (zh) 缓存控制器、集成电路装置及板卡
CN114217688A (zh) 一种基于神经网络结构的npu功耗优化系统和方法
CN111126593B (zh) 可重构的自然语言深度卷积神经网络加速器
CN113238975A (zh) 优化深度神经网络的参数的内存、集成电路及板卡

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant