【中国智能制造网 产品评测】BM1682与BM1680使用了相同的深度学习算法的硬件加速模块,但相比BM1680而言,BM1682具有更强大的深度学习算法执行能力,此外BM1682还增加了视频处理子模块,以及适用于具体应用场景的诸多功能模块。
根据比特大陆一贯神秘务实的风格,相信基于BM1682的板卡、服务器也已经备好了。笔者在芯片行业浸淫十多年,尝试根据比特大陆公布的产品白皮书,来分析一下这两代人工智能芯片之间的异同,尝试谈一谈比特大陆在人工智能领域的意图和野心。
2017年第4季度,比特大陆正式推出了其人工智能品牌算丰(SOPHON),发布了首款公开发售的TPU(Tensor Processing Unit张量计算单元)芯片BM1680,专门用于人工智能中的深度学习加速。时隔不足一年,2018年3月,比特大陆又推出其第二款TPU芯片BM1682,根据初步披露的资料显示,BM1682是一块专门用于图像/视频处理方向的人工智能芯片。
BM1682与BM1680使用了相同的深度学习算法的硬件加速模块,但相比BM1680而言,BM1682具有更强大的深度学习算法执行能力,此外BM1682还增加了视频处理子模块,以及适用于具体应用场景的诸多功能模块。
下面我们对其两者进行一个具体的对比评测:
顶层架构——BM1682定位更细分
从顶层架构可以看出,BM1680和BM1682均集成了深度学习算法所用到的核心模块NPUs。NPU是比特大陆自行研发的深度学习算法硬件加速器,用于加速深度学习算法的执行速度。
从顶层架构图上可以看到,BM1680比BM1682额外集成了高度定制的BMDNN Chip Link Subsystem。该子模块可以在高速SerDes上提供稳定、灵活、低延迟的链路。用户可以通过该链路将多个BM1680芯片连接成一个统一的整体,使其协同工作,大大提高系统的运算能力。BM1682并没有集成此模块,这大概是基于BM1682专一化的市场应用定位,以及处理速度足够满足用户对图像/视频处理需求而考虑的。
从顶层架构图上可以看到与BM1680相比,BM1682芯片的整体架构发生了不小的变化,其定位则更加细分明确。从右上角增加的Video Subsystem模块可以明确看出,该款芯片定位于图像/视频处理方向。
(数据来自比特大陆)
模块细节——BM1682设计更丰富
BM1682的深度学习加速的核心功能模块与BM1680是相同的。两款芯片均包含了深度学习的核心单元—硬件加速器NPU Subsystem。两者的NPU Subsystem均各自集成了64个NPU单元,统一由NPU Schedule Engine进行调度(BM1682架构图中未体现),大化的提高了NPUs的效率,加快了深度学习算法inference (推演)与training (训练)的速度。根据初步资料显示,两者在MCU的配置上是有些许差异的,但由于资料不全面,故无法评断出两者的MCU处理能力的差别。
除了深度学习算法硬件加速模块(NPUs)、用于高速连接其余BM1680的Chip Link模块之外,BM1680还提供了4个独立的DDR4通道,高支持16GB的DDR3 或 DDR4 DRAM拓展,用于高速数据缓存读取,以提高系统的执行速度。BM1680还加入了Global DMA模块。DMA用于提供数据搬移功能,这可以在大块数据进行读写搬移时不占用MCU的资源,如在DDR4 的RAM中搬移数据时。对于大数据量的深度学习系统,DMA可以极大的提率。BM1680的Peripheral Subsystem 提供了UART、SPI、IIC与GPIO等接口,用于外接传感器,或与外界进行通讯、记录、控制等操作。这些接口都属于通用接口,可见BM1680的定位就是通用深度学习芯片,在外设上没有给与太多支持。
从架构图看,BM1682明显复杂了很多。其额外增加了AP (Application Processor) Subsystem和Video Subsystem(视频处理系统)。Video Subsystem(视频子系统)则主要专注于视频预处理的相关任务。
BM1682的Video Subsystem提供了2个H.264视频解码器,1个H.265解码器。H.264 /H.265均为视频编码方式,也是比较流行的视频编码的两种方式。相对而言,H.265视频编码比H.264具有更高的压缩比、更强的网络纠错适应能力,但考虑到现阶段在安防、智能家居和互联网视频领域中仍然还是以H.264编码的视频和视频设备为主,两者2:1的译码器数量在视频支持类型和解码带宽做了一个合适的权衡。比较贴心的是,BM1682提供了Video Post-Processing功能,该子模块用于对采用H.264或H.265编码的视频进行渲染处理,这些渲染处理主要包括颜色空间转换、视频剪裁、缩放操作、仿射变换、多帧拼接等常规操作。经过Video Post-Processing对外界进入的视频数据进行硬件加速预处理后,Video Subsystem会将处理后数据通过总线传输给NPUs、DRAM、AP System或外接存储设备,然后进行后续的深度学习处理等操作。
BM1682提供了丰富的外界交互接口,如高速接口PCIE、以太网、SDIO3.0、WIFI等。BM1682将数据处理完毕后可以很方便的通过PCIE接口、以太网接口、或者WIFI接口将数据传输到总服务器。若是条件限制没有网络接入点,用户可以选择通过接入SDIO3.0的eMMC存储器或是PCIE式存储器将数据存储到本地存储装置。可见,BM1682对其可能的应用场景做了充分的考虑并给予了硬件支持,用户可以根据需求,灵活方便的进行配置。
Peripheral Subsystem方面,BM1682比BM1680要丰富的多,这大大方便了用户进行系统拓展,如添加额外传感器等。BM1682的外设包括2个SPI接口、4个UART接口、4个IIC、4路PWM生成器、一块内嵌式SPI Flash、WDG、Timer、GPIO、PVT Sensor、Top Reg、Efuse、ROM。由给出的外设可以看到,BM1682的设计考虑了配置、存储、对外界系统实时控制、以及加密保护等功能,极大提高了系统的灵活性、安全性,省却了用户额外添加相关功能的开发成本。
性能分析——BM1682极大提升
NPU深度学习硬件加速器是人工智能的核心。两者NPUs模块集成了64个NPUs单元,通过NPU Schedule Engine进行调度。BM1682中每个NPU含有32个EUs,BM1680未知。根据BM1680、BM1682数据手册显示,单片BM1680单精度运算速度为2TFLops;单片BM1682单精度运算速度为3TFLops。BM1682的单片运算速度高出BM1680 50%。
BM1680单片的运行速度低于BM1682,但BM1680支持级联工作模式,数个BM1680可以通过高速的Chip Link Subsystem组成一个集群式的系统,进行更高处理量的运算处理任务。BM1682不具备级联功能。下图为BM1680芯片的级联连接示意图。
图|级联方式:每个Node代表一个BM1680
电学方面,根据两者的数据手册显示:满载工作时BM1680的TPD(Thermal Design Power热设计功耗)为41W;:满载工作时BM1682的TPD小于50W。从功耗角度分析,BM1680的2TFlops的NPUs速度应该是有所保留的。
(数据来自比特大陆)
开发生态——两代芯片都很到位
BM1680、BM1682均支持的主流的CNN/RNN/DNN深度学习架构,通过这两款TPU芯片进行硬件加速,可以极大的提高深度学习算法的执行速度。当然,BM1680和BM1682也可以通过基础的矩阵运算进行深度学习的模型、架构的搭建。
在开发生态方面,两款芯片的支持也是很到位的。BM1680、BM1682均对后端用户提供SDK;如果用户需要进行深度优化以获取算法优性能,可以联系厂家获得相关教学支持。
应用领域——BM1682更专注图像、视频处理
由前述分析可知,BM1680为通用性人工智能芯片,其应用方向没有偏向性,芯片内部主要集成了深度学习算法所需要的基本模块,应用各种人工智能的深度学习算法,通过添加相应的外围电路模块,BM1680可以搭建成适用于任一个领域的深度学习系统——像图片识别、自然语言处理、文本处理、金融、医学等等大小领域均可选择该芯片实现。BM1680更加具有灵活性。而且,BM1680可以进行级联,所以对于需要处理巨大数据量的人工智能深度学习系统,BM1680尤为合适。像企业级应用、海量数据处理等方面,通过简单的级联BM1680就可以获取相匹配的计算能力,灵活而强大。
而BM1682则是一个升级版的BM1680并配备了专门用于视频处理的集成系统,整个BM1682芯片搭载了视频处理所需要的全部核心模块,以及对其具体应用场景适应性的辅助模块。BM1682对于需要进行图像/视频处理的市场应用可谓是十分便捷了。BM1682的辅助功能配置模块自带有线与无线网络功能,对于视频监控方向的市场应用十分方便,无线功能更是省略了网线布线的繁琐施工,并且可用于实现远程监控。对于一些没有网络的场合,如科研领域的野外视频收集处理、闭路视频监控等,BM1682可以轻松的添加外置存储装置进行数据备份收集。BM1682作为图像/视频方向深度学习的SoC片上系统,市场前景很是广阔,这款新品还是很值得期待的。
(原标题:比特大陆第二代人工智能芯片BM1682测评:专门用于图像、视频处理)
我要评论