一种基于VisionTransformer神经网络的硬件加速器及加速方法技术

技术编号:38329440 阅读:12 留言:0更新日期:2023-07-29 09:12
一种基于VisionTransformer神经网络的硬件加速器及加速方法,其加速器是将VisionTransformer神经网络部署在ZYNQ开发平台上;其加速方法是:ARM处理器获取特征图片存到DDR存储器,读取的数据分散到输入缓存和权重缓存,处理完的特征图片输入到片上缓存单元,处理好的数据发送到PL端,对PL端的硬件IP进行配置,同时进行读写操作,获得最终计算结果,写入DDR存储器,将DDR存储器中的数据取出并完成概率运算,将概率运算结果传输给PC机,PetaLinux操作系统对VisionTransformer神经网络的硬件加速器系统进行移植,从PC机得到推理的预测结果;本发明专利技术通过采取多输入多输出通道的并行方法,对神经网络结构进行优化,使计算速度快、硬件资源占用低、识别准确率高,可高效完成图像分类任务。效完成图像分类任务。效完成图像分类任务。

【技术实现步骤摘要】
一种基于Vision Transformer神经网络的硬件加速器及加速方法


[0001]本专利技术涉及硬件加速
,具体涉及一种基于Vision Transformer神经网络的硬件加速器及加速方法。

技术介绍

[0002]随着科学技术的发展,人工智能技术逐渐受到人们的关注,基于深度学习的人工智能技术是当前科学界研究的重点,传统的CNN卷积神经网络由于自身算法结构的特点,其感受野仅限于局部范围,无法对目标整体进行捕捉,因此在一定程度上传统的CNN卷积神经网络的发展到达了瓶颈。而Transformer一经推出便在各大数据集排行榜问鼎,自注意力机制使其感受野扩大到目标整体,在图像分类领域,更是超越了传统的CNN卷积神经网络。
[0003]VisionTransformer在一些图像分类任务上表现出了与当前最先进的卷积神经网络模型相当甚至更好的性能,同时还具有更好的可解释性和迁移性,然而VisionTransformer的训练代价相对较高,需要更大的计算资源和更长的训练时间,利用FPGA实现对Transformer神经网络的硬件加速具有较高的研究价值。现有的Transformer神经网络加速设计方案,是通过HLS(高层次综合)来描述神经网络的计算流程,基于Xilinx(赛灵思)ZYNQ开发平台,在ZYNQ中,将Transformer网络中重复出现的神经元设计为固定的硬件加速IP,通过软件处理器根据Transformer算法层级对各个计算模块对ZYNQ进行配置,根据Transformer网络模型的结构在不同时刻多次执行硬件加速IP,从而实现Transformer模型的推理计算,并最终部署到Xilinx(赛灵思)ZCU102开发套件中。
[0004]ZYNQ是由Xilinx(赛灵思)公司推出的一款基于ARM Cortex

A9处理器和FPGA的SoC(系统片上集成电路)产品系列,ZYNQ系列芯片结合了传统的处理器和可编程逻辑的优势,可以提供高性能、低功耗、可编程、可扩展的处理能力,其中,Cortex

A9处理器提供高性能的应用处理能力,可编程逻辑(FPGA)提供高灵活性和可扩展性,可以针对不同的应用场景进行优化和调整,同时,ZYNQ芯片还配备了多种接口和外设,如PCIe、USB、Ethernet、SD卡等,方便连接各种外围设备。ZYNQ芯片主要用于高性能、低功耗、实时计算和信号处理领域,广泛应用于机器视觉、无人机、工业控制、网络通信等领域。ZYNQ系列产品还提供了不同级别的型号,以满足不同应用场景的需求。
[0005]现有的针对Transformer硬件加速方案,通常是使用HLS(高层次综合)的方式进行神经网络硬件部署,一部分在软件处理器(PS部分,主要是Arm核和CPU核),以软件的形式实现,另一部分在可编程逻辑单元(PL部分)中以硬件的形式实现,由于该方案同时存在软件资源和硬件资源,且由于硬件资源的天生优势,即计算速度远大于软件资源的计算速度,因此在整个系统的内部会存在软硬件执行时间不匹配的问题,从而会产生硬件资源频繁出现空闲等待的无效状态,因此,该方案适合应用于单一,且模型固定,对于时间,功耗,面积等有一定约束,需要确保系统软硬件使用合理性的场景。
[0006]专利号为[CN202110807193.1],名称为“基于ZYNQ平台的VGG16网络并行加速处理
方法”的专利申请,提供了一种基于ZYNQ平台的VGG16网络并行加速处理方法,将卷积神经网络部署到ZYNQ开发板上,利用卷积计算模块提取特征图片,并将提取到的信息通过池层和全连层等进行处理,最终实现对输入特征图片分类的目的;由于随着研究的深入,以VGG为代表的卷积神经网络的算法层数越来越大,有且仅有通过对计算层数的堆叠才能获得更好的分类效果,但目前的硬件资源明显不足以支撑无限制增长的计算层增加,因此具有卷积神经网络占用硬件资源大且输入特征图分类准确度不高的缺点。

技术实现思路

[0007]为了克服上述现有技术的缺点,本专利技术的目的在于提供一种基于Vision Transformer神经网络的硬件加速器及其实现方法,通过将VisionTransformer神经网络部署在ZYNQ开发平台上,采取多输入多输出通道的并行方法,并针对VisionTransformer神经网络结构对其进行优化,具有计算速度快、硬件资源占用低且特征图识别准确率高的特点,进而可以高效的完成图像分类任务。
[0008]为了实现上述目的,本专利技术采用的技术方案是:
[0009]一种基于Vision Transformer神经网络的硬件加速器,将VisionTransformer神经网络部署在ZYNQ开发平台上,所述的ZYNQ开发平台包括:PS端和PL端;
[0010]所述的PS端,包括:
[0011]ARM处理器:负责对片外存储器SD卡的读写,对PL端的硬件IP进行驱动,对输入图片进行预处理,包括切片编码、像素格式转换;
[0012]片上缓存单元:用于对PS端或PL端计算数据的保存以提供ARM处理器对其数据进行读取;
[0013]所述的PL端,包括:
[0014]数据输入模块:ARM处理器通过AXI高速总线把DDR存储器中特征图片的输入数据通过输入缓存送入PL端进行计算,特征图片的权重数据通过权重缓存送入PL端进行计算;
[0015]输入缓存:对输入数据进行暂存处理;
[0016]权重缓存:对权重数据进行暂存处理;
[0017]逻辑计算单元包括:对输入缓存的输入数据和权重缓存的权重数据进行处理;
[0018]输出缓存:对逻辑计算单元的结算结果进行暂存处理;
[0019]数据输出模块:ARM处理器通过AXI高速总线把PL端计算好的数据传递到PS端。
[0020]所述的切片编码:对输入特征图片进行切片,并把切片后得到的图片进行编码处理;
[0021]像素格式转换:将RBG像素格式的图片转化为BRG;
[0022]卷积切片模块:把二维序列的图片切成一维排列的图片;
[0023]LayNorm层:对输入的数据,进行正则化处理;
[0024]SoftMax层:对输入的数据,归一化处理;
[0025]多头乘法QK:对输入Q矩阵和K矩阵相乘;
[0026]多头乘法QKV:将Q矩阵、K矩阵和V矩阵进行自注意计算到自注意力结果;
[0027]2D全连接层:对特征图片进行线性变换;
[0028]2D加法:在二维平面对矩阵向量进行加法操作;
[0029]Gelu激活层:对输入的数据使用Gelu激活函数进行激活计算;
[0030]3D加法:在三维空间对矩阵向量进行加法操作;
[0031]最值提取层:对最大的计算结果进行抽取。
[0032]所述的数据输出模块可采用数据聚集模式或数据分散模式:
[0033]所述的数据聚集模式为:通过输出缓存将PL端计算好的数据通过多本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于VisionTransformer神经网络的硬件加速器,其特征在于,将VisionTransformer神经网络部署在ZYNQ开发平台上,所述的ZYNQ开发平台包括:PS端和PL端;所述的PS端,包括:ARM处理器:负责对片外存储器SD卡的读写,对PL端的硬件IP进行驱动,对输入图片进行预处理,包括切片编码、像素格式转换;片上缓存单元:用于对PS端或PL端计算数据的保存以提供ARM处理器对其数据进行读取;所述的PL端,包括:数据输入模块:ARM处理器通过AXI高速总线把DDR存储器中特征图片的输入数据通过输入缓存送入PL端进行计算,特征图片的权重数据通过权重缓存送入PL端进行计算;输入缓存:对输入数据进行暂存处理;权重缓存:对权重数据进行暂存处理;逻辑计算单元:对输入缓存的输入数据和权重缓存的权重数据进行处理;输出缓存:对逻辑计算单元的结算结果进行暂存处理;数据输出模块:ARM处理器通过AXI高速总线把PL端计算好的数据传递到PS端。2.根据权利要求1所述的一种基于Vision Transformer神经网络的硬件加速器,其特征在于,所述的逻辑计算单元具体包括:切片编码:对输入特征图片进行切片,并把切片后得到的图片进行编码处理;像素格式转换:将RBG像素格式的图片转化为BRG;卷积切片模块:把二维序列的图片切成一维排列的图片;LayNorm层:对输入的数据,进行正则化处理;SoftMax层:对输入的数据,归一化处理;多头乘法QK:对输入Q矩阵和K矩阵相乘;多头乘法QKV:将Q矩阵、K矩阵和V矩阵进行自注意计算到自注意力结果;2D全连接层:对特征图片进行线性变换;2D加法:在二维平面对矩阵向量进行加法操作;Gelu激活层:对输入的数据使用Gelu激活函数进行激活计算;3D加法:在三维空间对矩阵向量进行加法操作;最值提取层:对最大的计算结果进行抽取。3.根据权利要求1所述的一种基于Vision Transformer神经网络的硬件加速器,其特征在于,所述的数据输出模块可采用数据聚集模式或数据分散模式:所述的数据聚集模式为:通过输出缓存将PL端计算好的数据通过多个输出通道利用直接存储器DMA通过AXI总线按照顺序往DDR中写入数据,累计消耗的BRAM资源计算如下:其中,Buffer
out
是输出一组数据的大小,C
out
是输出通道数,W
data
是数据宽度,36Kb为单个BRAM的存储大小;Buffer
out
需要根据不同层的参数来决定,其计算公式如下:
B...

【专利技术属性】
技术研发人员:王树龙刘伯航曹宪法李宇航陈栋梁李嘉睿潘锦斌
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1