(文章来源:粤讯)
人工智能领域边缘侧的应用场景多种多样,在功能、性能、功耗、成本等方面存在差异化的需求,因此一款优秀的人工智能边缘计算平台,应当具备灵活快速适配全场景的能力,能够在安防、医疗、教育、零售等多维度行业应用中实现快速部署。
百度大脑edgeboard嵌入式ai解决方案,以其丰富的硬件产品矩阵、自研的多并发高性能通用cnn(convolution neural network)设计架构、灵活多样的软核算力配置,搭配移动端轻量级paddle lite高效预测框架,通过百度自定义的moda (model driven architecture)工具链,依据各应用场景定制化的模型和算法特点,向用户提供高性价比的软硬一体的解决方案,同时和百度大脑模型开发平台(aistudio、easydl)深度打通,实现模型的训练、部署、推理等一站式服务。
edgeboard是基于xilinx 16nm工艺zynq ultrascale+ mpsoc的嵌入式ai解决方案,采用xilinx异构多核平台将四核arm cortex-a53处理器和fpga可编程逻辑集成在一颗芯片上,高性能计算板卡上搭载了丰富的外部接口和设备,具有开发板、边缘计算盒、抓拍机、小型服务器、定制化解决方案等表现形态。
edgeboard计算卡产品可以分为fz9、fz5、fz3三个系列,是基于xilinx xczu9eg、xazu5ev、xazu3eg研发而来,分别具有高性能,视频硬解码,低成本等特点,同时还有不同的ddr容量版本。以上三个版本ps侧同样采用四核cortex-a53 、双核cortex-r5、以及gpu mali-400mp2等处理器配置,ps到pl的接口均为12x32/64/128b axi ports,主要的区别在于pl侧拥有的芯片逻辑资源大小不同。
采用上述三种标准产品的硬件板卡或者一致的硬件参考设计,用户可无缝适配运行edgeboard公开发布的最新版标准镜像,也可根据自身项目需求定制相关的硬件设计,并进一步根据性能、成本和功耗要求,以及其他功能模块的集成需求,对软核的算力和资源进行个性化配置。
edgeboard的cnn加速软核(整体的加速方案称之为软核)提供了一套计算资源和性能优化的ai软件栈,由上至下分别包括应用层软件api、计算加速单元的sdk调度管理、paddle lite预测框架基础管理器、linux操作系统、负责设备管理和内存分配的驱动层和cnn算子的专用硬件加速单元,用来完成卷积神经网络模型的加载、解析、优化和执行等功能。
专用计算加速单元基于fpga的可编程逻辑资源开发实现,采用arm cpu和fpga共享内存的方式,通过高带宽dma(direct memory access)实现二者数据的高速交互,共享内存也并作为异构计算平台各算子数据在cpu和fpga协同处理的桥梁,减少了数据在cpu与fpga之间的重复传输。此外,cnn算子功能模块可直接发起ddr读写操作,充分发挥了fpga的实时响应特性,减少了cpu中断等待的时间消耗。
作为cnn网络中比重最大、最为核心的卷积计算加速单元,是cnn软核性能加速的关键,也占用了fpga芯片的大部分算力分配和逻辑资源消耗。下面将针对edgeboard卷积计算加速单元的设计思路进行简要介绍,此章节也是理解cnn软核算力弹性配置的技术基础。
每一层网络的卷积运算,有m个输入图片(称之为feature map,对应着一个输入通道),n个输出feature map(n个输出通道),m个输入会分别进行卷积运算然后求和,获得一幅输出map。那么需要的卷积核数量就是m*n。
针对上述计算特点,edgeboard的卷积单元采用脉动阵列的数据流动结构,将数据在pe之间通过寄存器进行打拍操作,可以实现在第二个pe计算结果出来的同时完成和前一个pe的求和。这样可以使数据在运算单元的阵列中进行流动,减少访存的次数,并且结构更加规整,布线更加统一,提高系统工作频率,避免了采用加法树等并行结构所造成的高扇出问题。
sdk可以将一条滑窗链的feature map数据分成b块,并将分块数b和每个块的数据量告诉卷积计算加速单元,那么后者则可以分批依次从ddr读取b次feature map数据,每次的数据量是可以存入到image sram内。
sdk可以将kernel的数量分割成s份,使得分割后的每份kernel数量可以下发到pl侧的filter sram中,然后sdk分别调度s次卷积算子执行操作,所有的数据返回ddr后,再从通道(channel)维度做这s次计算结果的数据拼接(concat)即可。不过要注意的是,我们的filter sram虽然不需存储所有kernel的数据量,但至少要保证能够存储一个kernel的数据量。
由此看来,即使edgeboard三兄弟中最小的fz3拥有极其有限的片上存储资源,也是能够很好地完成大多数cnn网络的参数适配。
我们以卷积计算加速单元的核心矩阵乘加运算消耗dsp硬核(hard core)的个数作为cnn软核核心算力的考察指标。当然,这并不包括卷积前处理、后处理模块,以及其他算子加速单元或者用户自定义功能模块所消耗的dsp数量,因此这并不是整个解决方案在fpga芯片内部的dsp资源消耗。我们的设计可以支持window并行度1-8的任意整数,支持kernel并行度包括4,8,16。
目前,edgeboard公开版针对卷积计算加速单元window维度和kernel维度的并行度配置,以及核心矩阵乘加运算的dsp硬核消耗。
edgeboard的cnn软核以其灵活的算力搭配组合以及算子可定制化的特点,既可以根据具体模型的算子组合和所占比例,将一定成本和资源条件内的芯片性能发挥到极致,还可以在满足场景所要求性能的前提下减少不必要的功耗支出,此外还允许开发者缩减软核尺寸并将芯片资源应用于自定义功能的ip中,极大地增强了edgeboard人工智能多场景覆盖的能力。
机器人索菲娅手绘的“自画像”以近70万美元的价格售出
气体放电管和压敏电阻的原理及特性
基于AIC23语音接口及AGC方法的实现
网商银行、微众银行或加入数字人民币试点银行队伍
巧用RC吸收电路降低开关管损耗
人工智能之EdgeBoard中CNN架构的剖析
计算机控制系统中的四种电源介绍
怎么实现用多个运放并联电路做HiFi耳放
国产浪潮来临|该选择怎样的高可靠性机架式服务器
铁电存储器PB85RS2MC在温室智能环境采集系统中的应用
桥式整流无级调光电路图
CDMA国际标准的发展历程
IGBT在前,SiC在后,新能源汽车该如何选择?
维信诺合肥斥资440亿建第6代柔性AMOLED生产线
音质很好的耳机排行,调音师耳机才算“声”得人心
新能源汽车动力电池包温度监测的必要性分析
小鹏第二代飞行汽车曝光
传统 AC/DC 市场中的新创新电源解决方案
景嘉微制造出中国最先进的军用芯片
FLIR Axxx系列红外热像仪-产品研发过程的“金牌辅助”