1746-NI4
1746-NI4
数据依赖关系分析
此部分主要分析挖掘模型中可流水化以及可并行化的计算。流水化的设计可以提高加速器中的计算单元利用率,并行化的计算可以在同一时刻利用尽量多的计算单元。
关于流水,分析部分包括数据从DDR加载到FPGA片上SRAM的操作与PE进行计算的流水,通过此项优化将内存访问的时间overlap;DSP计算整列的计算控制过程,保证DSP利用率的提升。
关于并行,需要重点分析PE计算阵列与激活、pooling以及归一化等“后处理”模块之间的并行关系,如何确定好数据依赖关系以及防止冲突是此处设计关键。在IncepTIon中,可以从其网络结构中看到,branch a/b/c的1x1的卷积计算与branch d中的pooling是可以并行计算的,两者之间并不存在数据依赖关系。通过此处优化,3x3 max pooling layer的计算就可以被完全overlap。
模型优化
在设计中主要考虑两个方面:寻找模型结构优化以及支持动态精度调整的定点化。
FPGA是支持大量计算并行的器件,从模型结构上寻找更高维度的并行性,对于计算效率以及减少内存访问都有意义。在IncepTIon V1中,我们可以看到branch a\ branch b\ branch c的层1x1卷积层,其输入数据完全一致,且卷积layer的stride以及pad均一致。那我们是否可以在output feature map维度上对齐进行叠加?叠加后对input data的访存需求就降低到了原来的1/3。
另一方面,为了充分发挥FPGA硬件加速的特性,模型的Inference过程需要对模型进行定点化操作。在fpga中,int8的性能可以做到int16的2倍,但是为了使公司内以及腾讯云上的客户可以无感知的部署其训练的浮点模型,而不需要retrain int8模型来控制精度损失,我们采用了支持动态精度调整的定点化int16方案。通过此种方法,用户训练好的模型可以直接通过编译器进行部署,而几乎无任何精度损失。
1746-NI4 · 成就客户—我们致力于每位客户的满意和成功。
· 创业创新—我们追求对客户和公司都至关重要的创新,同时快速而高效地推动其实现。
· 诚信正直—我们秉持信任、诚实和富有责任感,无论是对内部还是外部。
· 多元共赢—我们倡导互相理解,珍视多元性,以视野看待我们的文化。
--------------------
联系人:欧工
手机:18030229050
电话:0592-5709821
QQ 3151326358
邮箱 3151326358@qq.com
140CPU21300 140CPU42401 140CPU42402 140CPU43412A
140CPU43412 140CPU53414A 140CPU53414B 140CPU53414 140CPU65160
140CRA21110 140CRA21120 140CRA21210 140CRA93100 140CRA93101
140CRA93200 140CRP81100 140CRP93100 140CRP93200 140DAI34000
140DAI35300 140DAI44000 140DAI45300 140DAI54000 140DAI54300
140DAI55300 140DAI74000 140DAI75300 140DAM59000 140DAO84000
140DAO84010 140DAO84200 140DAO84210 140DAO84220 140DAO85300
140DDI15310 140DDI35300 140DDI35310 140DDI36400 140DDI67300
140DDI75300 140DDI84100 140DDI84300 140DDI85300 140DDM39000
140DDM69000 140DDO15310 140DDO35300 140DDO35310 140DDO36400
140DDO84300C 140DDO84300 140DDO88500 140DRA84000 140DRC83000
140DVO85300 140EHC10500 140EHC20200 140ESI06210
140HLI34000 140IFC020 140MMB10200 140MSB10100 140MSC10100
140NOA61110 140NOE21100 140NOE21110 140NOE25100 140NOE25110
140NOE31100 140NOE77100 140NOE77101 140NOE77110
140NOE77111 140NOL91120 140NOM21100 140NOM21100 140NOM21200
140NOP91100 140Q8PENETSW01 140QSPXM 140SHS94500 140xBE10000
140XBP00300 140XBP00400 140XBP00600 140XBP01000 140XBP01600
140xCA71703 140XCP40100 140XCP51000 140XSM00200 140XSM01000
140XTS00100 140XTS00200 140XTS00203 140XTS00206 140XTS00212
140XTS01206 140XTS01212 140XTX00200
140CPU67160 140CPU65160 140CPU65150