一种提升AI计算芯片超分运算性能的方法技术

技术编号:37302300 阅读:7 留言:0更新日期:2023-04-21 22:47
本申请提供一种提升AI计算芯片超分运算性能的方法,属于存内超分运算性能领域,方法采用第一预设神经网络训练生成查找表,并将查找表预先存储至AI计算芯片中的SRAM存储器;按照预设的内存分配比例将SRAM存储器切分为输入内存、中间内存和输出内存;利用所述查找表对Real ESRGAN超分模型的输出插值算子进行优化,优化后的算子在推理的时候就可以合理排布到所述输入内存、中间内存和输出内存;获取待处理LR图像并输入所述AI计算芯片,依据芯片内部预设的组件排布运算流程对待处理LR图像进行推理运算,输出最终的HR图像。本申请提升了芯片的运算速度、降低了总线传输延时和芯片部署成本。署成本。署成本。

【技术实现步骤摘要】
一种提升AI计算芯片超分运算性能的方法


[0001]本申请属于存内超分运算性能领域,具体涉及一种提升AI计算芯片超分运算性能的方法。

技术介绍

[0002]现主流的超分模型都采用输入为LR图像,对LR图像做特征提取,最后输出Interpolate(插值)为HR,如比较典型的SR模型
‑‑‑
Real

ESRGAN,RealESRGAN的网络结构包含依次连接的输入层、RRDB模块和输出层。其中,如图2所示,RRDB模块(ResidualinResidualDenseBlock,中文简称残差密集块)的网络结构具体包括多个串联拼接的DenseBlock模块,每个DenseBlock模块中有五层结构,每层结构中均包含conv算子,前四层结构中还设有Lrelu算子。
[0003]传统冯
·
诺依曼架构下存储单元和运算单元分离,数据需在计算和存储单元之间频繁移动,数据搬运的时间甚至会达到计算时间的数百倍,并在此过程造成占比逾60%

90%的功耗。存内计算通过对存储器件进行改造,将存储单元与计算单元融合,使存储器件可直接参与计算,能从根本上突破这些瓶颈。存内计算的方法极大地降低了数据搬运的能耗和延时,提升了计算的能效比。基于ReRAM存算一体的AI计算芯片目前是国内外的研究热点。
[0004]基于ReRAM存算一体的AI计算芯片的计算过程需要精心排布才能充分利用算力,在典型的存算一体架构中,算子在这些硬件上的耗时无法简单地用计算量除以算力获得,更多要看各个组件间的排布情况,相同任务用不同的计算流水排布效率差别巨大,甚至看似相近的计算输入可能要求的计算流水排布也会相差很大。典型的AI存算一体加速架构和CGRA(粗粒度可重构架构)相似,一般包括两个运算单元和一个L1SRAM单元,第一个运算单元是ReRAM,权重参数在初始化阶段预先写入ReRAM运算单元,静态权重相关的卷积运算都在此单元执行;第二个运算单元是VPU运算单元,所有非静态权重相关的运算都在此运算单元运行;L1SRAM单元配置为两个运算单元的输入/中间/输出三部分。
[0005]RealESRGAN超分模型在存算一体芯片上部署时,出于成本考虑,一般L1SRAM配置为512K,为提升排布性能,512K的L1SRAM须切分为Inputs/Intern/Output(输入/中间/输出)三部分,大概比例为1:4:1,大致的内存空间分配情况(下列划分的内存大小仅仅是示例性划分获得的)如下:

输入:40+40=80KB

中间:160+160=320KB

输出:40+40=80KB按上面的分配比例,为满足RealESRGAN超分模型在存算一体芯片中的正常排布,需要将输入1080P的图片切分为48*24=1152份,切分后图片的分辨率大小为(40,45),RealESRGAN超分模型的Input层,RRDB模块及Output层的TensorSize(张量大小)详见下表1所示:表1超分模型的张量表
[0006]表1中内存大小的单位是byte,张量大小通过现有张量计算工具计算可得。由于卷积后面都会带Lrelu,Lrelu算子并未在表1中示出,表1中第一列示出的张量为Real ESRGAN超分模型的主要算子。这样切分后,Input和RRDB模块的张量大小可以正常部署到L1 SRAM中,但从第一个Interpolate1算子到最后HR conv算子运算过程中的输入数据占用的内存空占用的内存空间较大,影响排布的排布效率;如把这些算子拆分,以放大倍数= 4为例,各算子需要拆分成如下表格2中数量,即220个,才能满足512K L1 SRAM容量的要求以及乒乓缓存的设置。
[0007]表2 算子拆分数量结果表
[0008]这样算子拆分方式的存在以下缺点:1、要想充分利用算力,拆分后算子部署需大量的Tile,光拆分部分需要的Tile数量 = 220/4(55个),如每个芯片包含32Tile,则输出部分就需要两颗芯片,芯片之间还需数据交互,存内部署成本高。
[0009]2、不仅插值层需拆分,配套的三个Conv算子和三个Lrelu算子也需要配合同步拆分,整个输出部分运算过程的排布较复杂。
[0010]3、不同Tile之间的数据通过DMA传输,算子拆分后的运算数据通过DMA传输的次数
也会大大增加,数据传输延时的增加也会降低推理运算性能。

技术实现思路

[0011]为此,本申请提供了一种提升AI计算芯片超分运算性能的方法,有助于解决现有AI存内计算芯片进行存内超分运算时,流程排布效率较低,总线传输延时和芯片部署成本较高的问题。
[0012]为实现以上目的,本申请采用如下技术方案:本申请提供一种提升AI计算芯片超分运算性能的方法,包括:S1:采用第一预设神经网络训练生成查找表,并将所述查找表预先存储至AI计算芯片中的SRAM存储器;S2:按照预设的内存分配比例将所述SRAM存储器切分为输入内存、中间内存和输出内存;S3:利用所述查找表对Real ESRGAN超分模型的输出插值算子进行优化,将优化后的算子在推理的时候排布至所述输入内存、中间内存和输出内存;S4:获取待处理LR图像并输入所述AI计算芯片,依据芯片内部预设的组件排布运算流程对所述待处理LR图像进行推理运算,输出最终的HR图像。
[0013]进一步地,所述采用第一预设神经网络训练生成查找表,并将所述查找表预先存储至AI计算芯片中的SRAM存储器具体包括:先利用预设的训练集对第一预设神经网络进行训练,获得具有小感受野的轻量级深度SR网络;所述第一预设神经网络具体为6个卷积层组成的深度网络;依据预设的采样间隔对LR训练图像的原始像素输入范围进行下采样处理;以下采样处理后LR训练图像的像素输入值作为查找表的索引,将预设LR图像的像素输入值输入所述轻量级深度SR网络进行学习,计算出对应的HR输出值并存储至所述查找表。
[0014]进一步地,所述利用所述查找表对Real ESRGAN超分模型的输出插值算子进行优化,将优化后的算子在推理的时候排布至所述输入内存、中间内存和输出内存包括:利用查表法对Real ESRGAN超分模型的输出插值算子进行优化,将输出插值算子的运算方式设置为查表,依据输出插值算子的输入值在所述查找表中查找出对应的输出值,并将查找出的输出值作为输出插值算子的运算结果;所述输出插值算子具体包括第一Lrelu算子、第二Lrelu算子、第三Lrelu算子、第一Upconv算子、第二Upconv算子、HRconv算子、第一Interpolate算子和第二Interpolate算子;将第一Interpolate算子和第二Interpolate算子进行两次拆分放大优化,并将所述Real ESRGAN超分模型中的TrunkConv算子拆分为两个;将优化后的算子在推理的时候排布至所述输入内存、中间内存和输出内存,同时将Real ESRGAN超分模型的权重参数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提升AI计算芯片超分运算性能的方法,其特征在于,包括:采用第一预设神经网络训练生成查找表,并将所述查找表预先存储至AI计算芯片中的SRAM存储器;按照预设的内存分配比例将所述SRAM存储器切分为输入内存、中间内存和输出内存;利用所述查找表对Real ESRGAN超分模型的输出插值算子进行优化,优化后的算子在推理的时排布至所述输入内存、中间内存和输出内存;获取待处理LR图像并输入所述AI计算芯片,依据芯片内部预设的组件排布运算流程对所述待处理LR图像进行推理运算,输出最终的HR图像。2.根据权利要求1所述的一种提升AI计算芯片超分运算性能的方法,其特征在于,所述采用第一预设神经网络训练生成查找表,并将所述查找表预先存储至AI计算芯片中的SRAM存储器具体包括:先利用预设的训练集对第一预设神经网络进行训练,获得具有小感受野的轻量级深度SR网络;所述第一预设神经网络具体为6个卷积层组成的深度网络;依据预设的采样间隔对LR训练图像的原始像素输入范围进行下采样处理;以下采样处理后LR训练图像的像素输入值作为查找表的索引,将预设LR图像的像素输入值输入所述轻量级深度SR网络进行学习,计算出对应的HR输出值并存储至所述查找表。3.根据权利要求1所述的一种提升AI计算芯片超分运算性能的方法,其特征在于,所述按照预设的内存分配比例将所述SRAM存储器切分为输入内存、中间内存和输出内存具体包括:依据所述SRAM存储器的内存大小,按照预设的内存分配比例将所述SRAM存储器内存空间切分为输入内存、中间内存和输出内存;所述预设的内存分配比例为1:4:1。4.根据权利要求1所述的一种提升AI计算芯片超分运算性能的方法,其特征在于,所述利用所述查找表对Real ESRGAN超分模型的输出插值算子进行优化,优化后的算子在推理的时排布至所述输入内存、中间内存和输出内存,具体包括:利用查表法对Real ESRGAN超分模型的输出插值算子进行优化,将输出插值算子的运算方式设置为查表,依据输出插值算子的输入值在所述查找表中查找出对应的输出值,并将查找出的输出值作为输出插值算子的运算结果;所述输出插值算子具体包括第一Lrelu算子、第二Lrelu算子、第三Lrelu算子、第一Upconv算子、第二Upconv算子、HRc...

【专利技术属性】
技术研发人员:章锦腾胡建伟周兵熊大鹏李涛
申请(专利权)人:亿铸科技杭州有限责任公司
类型:发明
国别省市:

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

1