CN110390383A - 一种基于幂指数量化的深度神经网络硬件加速器 - Google Patents

一种基于幂指数量化的深度神经网络硬件加速器 Download PDF

Info

Publication number
CN110390383A
CN110390383A CN201910554531.8A CN201910554531A CN110390383A CN 110390383 A CN110390383 A CN 110390383A CN 201910554531 A CN201910554531 A CN 201910554531A CN 110390383 A CN110390383 A CN 110390383A
Authority
CN
China
Prior art keywords
data
weight
input
buffer area
quantization
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.)
Granted
Application number
CN201910554531.8A
Other languages
English (en)
Other versions
CN110390383B (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.)
Southeast University
Original Assignee
Southeast 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 Southeast University filed Critical Southeast University
Priority to CN201910554531.8A priority Critical patent/CN110390383B/zh
Priority to PCT/CN2019/105532 priority patent/WO2020258527A1/zh
Publication of CN110390383A publication Critical patent/CN110390383A/zh
Priority to US17/284,480 priority patent/US20210357736A1/en
Priority to PCT/CN2020/071150 priority patent/WO2020258841A1/zh
Application granted granted Critical
Publication of CN110390383B publication Critical patent/CN110390383B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Neurology (AREA)
  • Mathematical Optimization (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于幂指数量化的深度神经网络硬件加速器,涉及深度神经网络卷积计算硬件加速的处理器结构,属于计算、推算、计数的技术领域。硬件加速器包括:AXI‑4总线接口、输入缓存区、输出缓存区、权重缓存区、权重索引缓存区、编码模块、可配置状态控制器模块、PE阵列。输入缓存区和输出缓存区设计成行缓存结构;编码器依据有序量化集对权重编码,该量化集存放所有权重量化后的绝对值可能取值。加速器计算时,PE单元从输入缓存区、权重索引缓存区读取数据进行移位计算,将计算结果送至输出缓存区。本发明用移位运算代替浮点乘法运算,降低了对计算资源、存储资源以及通信带宽的要求,进而提高了加速器计算效率。

Description

一种基于幂指数量化的深度神经网络硬件加速器
技术领域
本发明公开了一种基于幂指数量化的深度神经网络硬件加速器,涉及深度神经网络卷积计算硬件加速的处理器结构,属于计算、推算、计数的技术领域。
背景技术
近年来,人工智能已经渗透到生活的各个领域且对世界经济和社会活动产生了重大影响。深度学习是机器学习研究中的一个热点领域,被广泛地应用于主流的人工智能算法中,深度卷积神经网络(Deep Convolutional Neural Network,DCNN)作为深度学习的一种技术,目前广泛用于许多人工智能(Artificial Intelligence,AI)应用,深度卷积神经网络在计算机视觉、语音识别和机器人等技术领域特别是图像识别领域取得了一些显著的成果。
深度卷积神经网络往往具有数十乃至数百亿的参数,这使得其在准确性上的表现优于其它现有的机器学习算法,但是巨大的计算能力和存储需求令其难以搭载在资源有限的移动通信设备、物联网设备、可穿戴设备和机器人等小型设备上。为了减少对计算、存储器和通信带宽的需求,一些研究人员已经对CNN模型的压缩进行了大量努力,试图训练具有低精度的CNN模型数据,BinaryNet、XNOR-net和DeRaFa-net都是已经经过压缩处理的CNN模型,但是,压缩后的模型仍然是浮点精度数据,并不特别有利于硬件的设计。一种对硬件友好的量化方案是将模型数据量化为二次幂表示,实践已经表明使用对数数据表示可以将CNN量化为低至3比特而没有任何显着的精度损失。此外,研究人员还提出了增量网络量化的量化方案,将CNN模型量化到4比特而没有任何精度下降。将模型数据量化为二次幂表示的量化方案可以把大多数计算要求高的乘法运算转换为有效的逐位移位运算,这降低了计算和存储要求,本申请旨在提出一种采用该量化方案的神经网络硬件加速器,从硬件设计上简化移位运算的实现,进而减小深度神经网络复杂乘法运算对硬件资源的消耗。
发明内容
本发明的发明目的是针对上述背景技术的不足,提供了一种基于幂指数量化的深度神经网络硬件加速器,通过基于对神经网络参数幂指数量化的结果设计了实现移位运算的硬件加速器,避免使用复杂的乘法电路实现浮点乘法运算,降低了处理器功耗和芯片面积,解决了实现深度神经网络卷积运算的现有处理器电路复杂、需要庞大的存储空间且功耗大的技术问题。
发明为实现上述发明目的采用如下技术方案:
利用增量网络量化的方法训练深度神经网络,把权重量化为二的幂的形式(由软件完成),使神经网络的乘法运算可以通过移位实现。硬件加速器包括:AXI-4总线接口、输入缓存区、输出缓存区、权重缓存区、权重索引缓存区、编码模块、可配置状态控制器模块、PE阵列。PE阵列包含R*C个PE单元,每个PE单元用二进制移位操作代替浮点乘法运算;输入缓存区和输出缓存区设计成行缓存结构,输入缓存区和权重缓存区分别用于缓存通过AXI-4总线从外部存储器DDR中读取的输入数据以及幂指数量化后的权重数据,AXI-4总线接口可以将加速器挂载到任意使用AXI-4协议的总线设备上工作;输出缓存区用于缓存PE阵列输出的计算结果;可配置状态控制器模块用于控制加速器工作状态,实现工作状态间的转换;编码器根据有序量化集对量化后的权重数据编码得到包含权重正负和权重在有序量化集中位置信息的权重索引值,该有序量化集中存放所有权重量化后的绝对值的可能取值(二的幂形式)。加速器计算时,PE单元从输入缓存区、权重索引缓存区读取数据进行计算,计算完成后将计算结果送至输出缓存区。
因设计中利用移位运算代替乘法运算,乘法器DSP使用较少,硬件资源充足,脉动阵列具有较高的并行度,可很大程度上提高加速器的吞吐量,所以PE阵列设计成了脉动阵列的形式。数据从输入缓存区中加载到PE阵列的最左列,每一个时钟周期,输入数据向右移动一步;PE阵列中每一列并行输出同一输出通道的不同点,不同列输出不同输出通道的数据。
PE单元利用权重索引值判断权重数据量化值的正负以及输入数据的移动位数及移动方向,当权重索引值为正数则权重数据量化值为正数,然后利用权重索引值的绝对值查找移位表(移位表中数据由有序量化集中各二的幂的指数确定,排列顺序与量化集中数据顺序一致)确定移动方向以及移动位数。
基于上述技术方案,输入缓存区的行数由深度神经网络当前层卷积核大小、卷积核步长、输出特征图大小确定。
基于上述技术方案,有序量化集的数据范围是由权重量化精度和未量化的绝对值权重的最大值确定的。有序量化集中的数据按一定的顺序排列,存放的数值是量化后的绝对值。例如权重量化成5bit,则量化集可能为 {2,0,2-1,2-2,2-3}。
基于上述技术方案,根据存储在PE单元中的移位表确定输入数据在进行移位运算时移位的方向和大小,移位表中对应的值为正则左移输入数据,为负的时候则右移输入数据,移位表中各元素的绝对值代表位移的大小。当权值索引值为正时直接进行移位运算,权值索引值为负时则对输入数据取反后再进行移位运算。
基于上述技术方案,编码后得到的权重索引值由两部分组成:符号和索引,符号代表量化后的权重数据的正负,索引代表权重数据的绝对值在有序量化集中的位置。
基于上述技术方案,AXI4总线接口将多个数据拼接成一个数据发送,提高运算速度。
本发明采用上述技术方案,具有以下有益效果:
(1)本发明在加速器计算时用移位运算替代乘法运算,通过脉动的PE阵列实现二进制移位操作,避免使用复杂的乘法电路,降低了对计算资源、存储资源以及通信带宽的要求,进而提高了加速器计算效率;
(2)PE单元通过查找对应于幂指数量化后的指数的移位表实现二进制移位运算,硬件易于实现且占用面积较小,减少了硬件资源的消耗且降低了能耗,实现了较高的计算性能;
(3)将本申请涉及的硬件加速器用于基于幂指数量化的神经网络,在幂指数量化结果的基础上通过二进制位移卷积运算,替代了传统的浮点乘运算,降低卷积运算的计算量,降低了神经网络参数的精度进而减少了神经网络参数的存储量,提高神经网络计算速率的同时减小神经网络复杂运算对硬件资源的消耗,为压缩后的神经网络在小型嵌入式终端设备等硬件上的应用创造可能。
附图说明
图1是本发明公开的硬件加速器的结构示意图。
图2是本发明公开的PE单元的结构示意图。
图3是行缓存结构的示意图。
图4(a)是权重编码的示意图,图4(b)是权重索引值查表法的示意图。
图5是可配置状态控制器切换硬件加速器工作状态的示意图。
具体实施方式
下面结合附图对发明的技术方案进行详细说明。
本发明设计的深度神经网络加速器硬件结构如图1所示,以PE阵列大小为16*16、卷积核大小3*3、卷积核步长1为例阐述其工作方式:加速器通过AXI-4总线把输入数据和幂指数量化后的权重数据缓存到输入缓存区和权重缓存区,根据PE阵列的大小,AXI-4总线要从DDR中读取16个卷积核数据存储在权重缓存区,以便并行输入16个权重索引值到PE阵列。存入权重缓存区的卷积核数据被读取到编码模块,然后根据幂指数量化后的权重数据的正负以及在有序量化集中的位置,按照一定方式对权重数据进行编码,以便在PE单元中进行移位计算。计算时,输入缓存区按行并行输出16个数据,并行输入到PE阵列每行的第一个PE单元中进行计算,并依次传递给每列相邻的PE单元,输入数据缓存在每个PE单元的输入子缓存区中;权重索引值通过16个权重索引子缓冲区并行输入至PE阵列每列第一个PE单元中,并依次传递给每列相邻的PE单元,最终缓存在PE单元中的权重索引子缓存区。每个PE单元从其权重索引子缓存区读取权重索引值,通过查找表的方法即查找建立的移位表确定数据位移的方向和大小。
每个PE单元如图2所示,输入数据被缓存在输入子缓存区,编码后的卷积核数据(权重索引值)缓存在权重索引子缓存区;PE控制单元根据权重索引的信息生成用于配置PE单元移位运算方式的标志位S1S0,代表取反操作的标志位S0根据权重正负生成,代表移位方向的标志位S1根据权重在有序量化集中位置信息生成,并从权重索引子缓冲区和输入子缓冲区中读取数据进行数据处理;利用权重索引值的绝对值查找移位表,确定输入数据进行移位运算时位移的方向和大小。PE单元设置两个标志位S1、S0,S0为0时说明权重为负数,取与数据A符号相反的数据进行移位运算,反之,数据A直接进行移位运算;S1为0时说明移位表中对应的数值b为正则输出数据b进入数据左移单元进行移位运算,S1为1时说明数值b为负则输出数据b进入数据右移单元进行移位运算。移位数值b对应的绝对值代表位移的大小。
输入缓存区和输出缓存区采用了图3所示的行缓存结构。当输入特征图被分块存入输入缓存区时,相邻的分块之间共享(r-1)*n个数据,r为卷积核列数,n为输入特征图分块后的行数。为了重用数据,在片上存储器上设置n+m个行缓存区(m为卷积核步长),每个输入行缓存区的数据为M*W,其中,M代表输入特征图的通道个数,W代表输入特征图的宽度;每个输出行缓存区的数据为N*C,其中,N代表输出特征图的通道个数,C代表输出特征图的宽度。行缓存区为循环缓冲器,加速器从行缓存区读取n行数据进行计算,同时,加速器从外部存储器DDR中读取数据加载到其余m行缓存区中,n行数据的计算和m行数据的缓存并行执行。n行数据计算完毕后,加速器跳过m行数据继续读取接着的n行数据进行计算,跳过的m行由外来数据覆盖。
编码后的卷积核数据(权重索引值)由两部分组成:如图4(a)所示的符号和图4(b)所示的索引,符号代表幂指数量化后的权重数据的正负,索引代表幂指数量化后的权重数据在有序量化集中的位置。编码后的卷积核数据通过查找表的方法确定位移的方向和大小。例如:量化集{2,0,2-1,2-2,2-3},移位表{1,0,-1,-2,-3},量化后的权重数据2编码后为0,查找移位表后得到1,则向右移1位。
如图5所示,加速器工作时有五种状态,由可配置状态控制器切换,五个状态依次为:等待(idle)、发输入数据(map)、发卷积核数据(weight)、数据计算(cal)、计算结果发送(send)。初始化后加速器进入等待状态(idle状态),等待状态信号flag,当flag为001时,进入发送输入数据状态,当flag为010时,进入发送卷积核数据状态,当flag为10000时,进入数据计算状态状态。当计算结束后,自动跳入发送计算结果状态,并在发送完成后返回等待状态,等待下一次数据写入。
发送输入数据(map) 状态:当flag为001时,加速器通过AXI-4总线从DDR中读取数据,从输入特征图中读取16行数据缓存到输入缓存区中,因把输入缓存区设计成了行缓存区的形式,则一个时钟周期内可以从输入缓存区的16个行缓存区中并行输出16个数据,并行输入到PE阵列的每行的输入子缓存区中,每个时钟周期,数据在PE阵列中向右移动。
发送卷积核数据(weight) 状态:当flag为010时,加速器从DDR中读取16个卷积核数据(幂指数量化后的权重数据)存放在权重缓存区中,并对权重索引区的数据进行编码得到权重索引,存放权重索引在权重索引缓存区。一个时钟周期内,权重索引缓存区并行输出16个数据至PE阵列的每一列16个PE单元中,最终缓存在各PE单元的权重索引子缓存区中。
数据计算(cal) 状态:当flag为010时,根据权重索引子缓存区中的权重数据表征的位置信息查找移位表确定输入数据的位移方向及大小,当进行了3*3*输入通道数次移位运算后,标志着所有数据都已计算完成,下个时钟将跳入发送计算结果状态。
计算结果发送(send) 状态:计算结果从16个计算结果缓存区中依次读出,将每个计算结果缓存区中的第一个输出通道数据取出,每四个拼凑成一个64位输出数据,通过AXI-4总线接口发送到外部存储器DDR,依次将16个输出通道数据都发送到外部存储器DDR中,加速器跳回等待状态。
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想在技术方案基础上所做的任何改动均落入本发明保护范围之内。

Claims (8)

1.一种基于幂指数量化的深度神经网络硬件加速器,其特征在于,包括:
输入缓存器,缓存从外部存储器读入的输入特征图数据,
权重缓存器,缓存从外部存储器读入的幂指数形式的卷积核权重数据,
编码器,对权重数据编码得到表征权重正负以及权重在有序量化集中位置信息的权重索引值,
权重索引缓存器,缓存有表征卷积核权重数据正负以及卷积核权重数据在有序量化集中位置信息的权重索引数据,
PE阵列,从输入缓存器和权重索引缓存器读取输入特征图数据和权重索引数据,依据权重索引数据在有序量化集中的位置信息查找移位表确定移位方向和位数后对输入特征图数据进行移位操作,输出移位操作结果
输出缓存区,缓存PE阵列输出的移位操作结果,及,
状态控制器,生成切换加速器处于等待状态、发输入数据状态、发卷积核数据状态、数据计算状态、计算结果发送状态的切换指令。
2.根据权利要求1所述一种基于幂指数量化的深度神经网络硬件加速器,其特征在于,所述PE阵列为每一列并行输出同一输出通道的不同点而不同列输出不同输出通道数据的脉动阵列,输入特征图数据在初始时钟周期加载在PE阵列的最左列而在初始时钟周期之后的每一个时钟周期内向当前列的右侧移动一步。
3.根据权利要求1所述一种基于幂指数量化的深度神经网络硬件加速器,其特征在于,所述深度神经网络硬件加速器还包括AXI-4总线接口,输入缓存器和权重缓存器通过AXI-4总线接口从外部存储器读入输入特征图数据及幂指数形式的卷积核权重数据。
4.根据权利要求1所述一种基于幂指数量化的深度神经网络硬件加速器,其特征在于,所述输入缓存区和输出缓存区均为包含n+m个行缓存区的行缓存结构,PE阵列从输入缓存区读取n行数据进行移位操作,同时,输入缓存区从外部存储器读入m行输入特征图数据加载到其余m个行缓存区中,n为输入特征图分块后的行数,m为卷积核步长。
5.根据权利要求1所述一种基于幂指数量化的深度神经网络硬件加速器,其特征在于,所述有序量化集存储有所有卷积核权重数据幂指数量化值的绝对值。
6.根据权利要求2所述一种基于幂指数量化的深度神经网络硬件加速器,其特征在于,所述PE阵列中的PE单元,包括:
输入子缓存区,缓存从输入缓存区读入的输入特征图数据,
权重索引子缓存区,缓存从权重索引缓存器读入的权重索引数据,
PE控制单元,从输入子缓存区和权重索引子缓存器读入输入特征图数据和权重索引数据,根据权重正负生成取反操作的标志位,根据权重在有序量化集中位置信息查找移位数据并生成与之对应的移位方向的标志位,
第一数据选择器,其地址输入端接取反操作的标志位,其一数据输入端接输入特征图数据,其另一数据输入端接输入特征图数据的相反数,在权重为正数时输出输入特征图数据,在权重为负数时输出输入特征图数据的相反数,
第二数据选择器,其地址输入端接移位方向的标志位,其数据输入端接移位数据,在移位数据为正数时输出对移位数据左移的指令,在移位数据为负数时输出对移位数据的相反数右移的指令,及,
移位单元,接收第一数据选择器和第二数据选择器的输出信号,按照第二数据选择器输出的指令对输入特征图数据或其相反数进行移位操作。
7.根据权利要求3所述一种基于幂指数量化的深度神经网络硬件加速器,其特征在于,所述AXI-4总线接口数据位宽大于单个卷积核权重数据或输入特征图数据的位宽。
8.根据权利要求5所述一种基于幂指数量化的深度神经网络硬件加速器,其特征在于,所述移位表由有序量化集中各元素的幂指数顺序排列构成。
CN201910554531.8A 2019-06-25 2019-06-25 一种基于幂指数量化的深度神经网络硬件加速器 Active CN110390383B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910554531.8A CN110390383B (zh) 2019-06-25 2019-06-25 一种基于幂指数量化的深度神经网络硬件加速器
PCT/CN2019/105532 WO2020258527A1 (zh) 2019-06-25 2019-09-12 一种基于幂指数量化的深度神经网络硬件加速器
US17/284,480 US20210357736A1 (en) 2019-06-25 2020-01-09 Deep neural network hardware accelerator based on power exponential quantization
PCT/CN2020/071150 WO2020258841A1 (zh) 2019-06-25 2020-01-09 一种基于幂指数量化的深度神经网络硬件加速器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910554531.8A CN110390383B (zh) 2019-06-25 2019-06-25 一种基于幂指数量化的深度神经网络硬件加速器

Publications (2)

Publication Number Publication Date
CN110390383A true CN110390383A (zh) 2019-10-29
CN110390383B CN110390383B (zh) 2021-04-06

Family

ID=68285777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910554531.8A Active CN110390383B (zh) 2019-06-25 2019-06-25 一种基于幂指数量化的深度神经网络硬件加速器

Country Status (3)

Country Link
US (1) US20210357736A1 (zh)
CN (1) CN110390383B (zh)
WO (2) WO2020258527A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062472A (zh) * 2019-12-11 2020-04-24 浙江大学 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法
CN111488983A (zh) * 2020-03-24 2020-08-04 哈尔滨工业大学 一种基于fpga的轻量级cnn模型计算加速器
CN112073225A (zh) * 2020-08-25 2020-12-11 山东理工职业学院 一种基于校园网速设计的加速器系统以及流程
WO2020258841A1 (zh) * 2019-06-25 2020-12-30 东南大学 一种基于幂指数量化的深度神经网络硬件加速器
CN112200301A (zh) * 2020-09-18 2021-01-08 厦门星宸科技有限公司 卷积计算装置及方法
CN112786021A (zh) * 2021-01-26 2021-05-11 东南大学 一种基于分层量化的轻量级神经网络语音关键词识别方法
CN113095471A (zh) * 2020-01-09 2021-07-09 北京君正集成电路股份有限公司 一种提高检测模型效率的方法
WO2021147602A1 (zh) * 2020-01-21 2021-07-29 上海商汤智能科技有限公司 数据处理装置、人工智能芯片
CN113298236A (zh) * 2021-06-18 2021-08-24 中国科学院计算技术研究所 基于数据流结构的低精度神经网络计算装置及加速方法
CN113627600A (zh) * 2020-05-07 2021-11-09 合肥君正科技有限公司 一种基于卷积神经网络的处理方法及其系统
CN113869494A (zh) * 2021-09-28 2021-12-31 天津大学 基于高层次综合的神经网络卷积fpga嵌入式硬件加速器

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111240640B (zh) * 2020-01-21 2022-05-10 苏州浪潮智能科技有限公司 基于硬件环境的数据量化方法、装置及可读存储介质
KR20220114890A (ko) * 2021-02-09 2022-08-17 한국과학기술정보연구원 뉴럴 네트워크 연산 방법 및 이를 위한 장치
WO2022235517A2 (en) * 2021-05-05 2022-11-10 Uniquify, Inc. Implementations and methods for processing neural network in semiconductor hardware
JP2024517707A (ja) * 2021-05-05 2024-04-23 ユニークファイ, インク 半導体ハードウェアにおいてニューラルネットワークを処理するための実装および方法
CN114139693A (zh) * 2021-12-03 2022-03-04 安谋科技(中国)有限公司 神经网络模型的数据处理方法、介质和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180341495A1 (en) * 2017-05-26 2018-11-29 Purdue Research Foundation Hardware Accelerator for Convolutional Neural Networks and Method of Operation Thereof
CN109359735A (zh) * 2018-11-23 2019-02-19 浙江大学 深度神经网络硬件加速的数据输入装置与方法
CN109598338A (zh) * 2018-12-07 2019-04-09 东南大学 一种基于fpga的计算优化的卷积神经网络加速器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160379109A1 (en) * 2015-06-29 2016-12-29 Microsoft Technology Licensing, Llc Convolutional neural networks on hardware accelerators
US10621486B2 (en) * 2016-08-12 2020-04-14 Beijing Deephi Intelligent Technology Co., Ltd. Method for optimizing an artificial neural network (ANN)
CN109284822B (zh) * 2017-07-20 2021-09-21 上海寒武纪信息科技有限公司 一种神经网络运算装置及方法
CN107894957B (zh) * 2017-11-14 2020-09-01 河南鼎视智能科技有限公司 面向卷积神经网络的存储器数据访问与插零方法及装置
CN108171317B (zh) * 2017-11-27 2020-08-04 北京时代民芯科技有限公司 一种基于soc的数据复用卷积神经网络加速器
US10831702B2 (en) * 2018-09-20 2020-11-10 Ceva D.S.P. Ltd. Efficient utilization of systolic arrays in computational processing
CN110390383B (zh) * 2019-06-25 2021-04-06 东南大学 一种基于幂指数量化的深度神经网络硬件加速器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180341495A1 (en) * 2017-05-26 2018-11-29 Purdue Research Foundation Hardware Accelerator for Convolutional Neural Networks and Method of Operation Thereof
CN109359735A (zh) * 2018-11-23 2019-02-19 浙江大学 深度神经网络硬件加速的数据输入装置与方法
CN109598338A (zh) * 2018-12-07 2019-04-09 东南大学 一种基于fpga的计算优化的卷积神经网络加速器

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020258841A1 (zh) * 2019-06-25 2020-12-30 东南大学 一种基于幂指数量化的深度神经网络硬件加速器
CN111062472A (zh) * 2019-12-11 2020-04-24 浙江大学 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法
CN113095471A (zh) * 2020-01-09 2021-07-09 北京君正集成电路股份有限公司 一种提高检测模型效率的方法
CN113095471B (zh) * 2020-01-09 2024-05-07 北京君正集成电路股份有限公司 一种提高检测模型效率的方法
CN113222126A (zh) * 2020-01-21 2021-08-06 上海商汤智能科技有限公司 数据处理装置、人工智能芯片
WO2021147602A1 (zh) * 2020-01-21 2021-07-29 上海商汤智能科技有限公司 数据处理装置、人工智能芯片
CN111488983B (zh) * 2020-03-24 2023-04-28 哈尔滨工业大学 一种基于fpga的轻量级cnn模型计算加速器
CN111488983A (zh) * 2020-03-24 2020-08-04 哈尔滨工业大学 一种基于fpga的轻量级cnn模型计算加速器
CN113627600A (zh) * 2020-05-07 2021-11-09 合肥君正科技有限公司 一种基于卷积神经网络的处理方法及其系统
CN113627600B (zh) * 2020-05-07 2023-12-29 合肥君正科技有限公司 一种基于卷积神经网络的处理方法及其系统
CN112073225A (zh) * 2020-08-25 2020-12-11 山东理工职业学院 一种基于校园网速设计的加速器系统以及流程
CN112200301A (zh) * 2020-09-18 2021-01-08 厦门星宸科技有限公司 卷积计算装置及方法
CN112200301B (zh) * 2020-09-18 2024-04-09 星宸科技股份有限公司 卷积计算装置及方法
CN112786021A (zh) * 2021-01-26 2021-05-11 东南大学 一种基于分层量化的轻量级神经网络语音关键词识别方法
CN112786021B (zh) * 2021-01-26 2024-05-14 东南大学 一种基于分层量化的轻量级神经网络语音关键词识别方法
CN113298236A (zh) * 2021-06-18 2021-08-24 中国科学院计算技术研究所 基于数据流结构的低精度神经网络计算装置及加速方法
CN113869494A (zh) * 2021-09-28 2021-12-31 天津大学 基于高层次综合的神经网络卷积fpga嵌入式硬件加速器

Also Published As

Publication number Publication date
CN110390383B (zh) 2021-04-06
WO2020258527A1 (zh) 2020-12-30
US20210357736A1 (en) 2021-11-18
WO2020258841A1 (zh) 2020-12-30

Similar Documents

Publication Publication Date Title
CN110390383A (zh) 一种基于幂指数量化的深度神经网络硬件加速器
CN109902818B (zh) 一种面向深度学习训练任务的分布式加速方法及系统
CN110390385B (zh) 一种基于bnrp的可配置并行通用卷积神经网络加速器
CN106529670B (zh) 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN109447241B (zh) 一种面向物联网领域的动态可重构卷积神经网络加速器架构
CN109948774B (zh) 基于网络层捆绑运算的神经网络加速器及其实现方法
CN107239823A (zh) 一种用于实现稀疏神经网络的装置和方法
CN110516801A (zh) 一种高吞吐率的动态可重构卷积神经网络加速器架构
CN109598338A (zh) 一种基于fpga的计算优化的卷积神经网络加速器
CN110348574B (zh) 一种基于zynq的通用卷积神经网络加速结构及设计方法
CN107689948A (zh) 应用于神经网络硬件加速系统的高效数据访存管理装置
CN108764466A (zh) 基于现场可编程门阵列的卷积神经网络硬件及其加速方法
CN107169563A (zh) 应用于二值权重卷积网络的处理系统及方法
CN111325321A (zh) 基于多神经网络融合的类脑计算系统及指令集的执行方法
CN109934336A (zh) 基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台
CN109840154A (zh) 一种移动云环境下基于任务依赖的计算迁移方法
CN112465110A (zh) 一种卷积神经网络计算优化的硬件加速装置
CN110163355A (zh) 一种计算装置及方法
CN109146065A (zh) 二维数据的卷积运算方法及装置
CN111860773B (zh) 处理装置和用于信息处理的方法
Shahshahani et al. Memory optimization techniques for fpga based cnn implementations
CN113254391B (zh) 一种神经网络加速器卷积计算和数据载入并行方法及装置
CN110377874A (zh) 卷积运算方法及系统
CN113516236A (zh) 基于zynq平台的vgg16网络并行加速处理方法
CN116822600A (zh) 一种基于risc-v架构的神经网络搜索芯片

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