中文 英语
18lickc新利
的意见

新型神经处理器处理新兴的神经网络

加速数学密集的神经网络,同时保持区域效率和可编程。

受欢迎程度

十年前,运行在gpu上的深度学习卷积神经网络(CNN)模型AlexNet取代了更传统的视觉处理算法,赢得了ImageNet大规模视觉识别大赛(ILSVRC)。AlexNet及其后继者以高计算复杂度和大数据集为代价,在对象分类精度方面提供了显著改进。换句话说,它需要大量的数据移动和大量的乘法和累积才能达到这个破纪录的精度。在学术界,人们急于改进神经网络优化技术,以提高精度和性能,同时将功率和面积效率降至最低,以用于实际应用。

神经网络在现实应用中得到了广泛的应用,如自动驾驶汽车的行人检测,智能个人助理的语音识别,以及手机和笔记本电脑访问控制的面部识别(图1)。神经网络的优势在于它们在数据集中识别模式的能力——在某些情况下超过了人类的能力——即使数据有噪声或不完整。

图1:嵌入式神经网络应用实例。

gpu上的实现,比如AlexNet提交的ILSVRC,为模型训练和早期原型设计提供了一个很好的起点。对于性能和功耗至关重要的大容量、成本敏感的应用,设计人员已经转向具有可编程但优化的神经网络硬件加速的神经处理单元(npu)。NPU面临的挑战是如何优化,以加速数学密集的神经网络,提高面积效率,并且在新的神经网络技术或算法发布时,足够的可编程性。

从VGG16到变压器

第一个神经网络加速器于2014年开始出现,当时VGG16是一种在AlexNet基础上改进的神经网络模型,是一种广泛用于视觉分类任务的CNN架构。VGG16的架构相当简单。它使用3×3卷积,并使用一个简单的激活函数ReLU(图2)。激活函数通过将节点的输出推向1或0(从而激活或不激活输出)来帮助在有用和不那么有用的数据之间进行排序。VGG16在AlexNet上的准确性来自于增加的层,从而导致更大的复杂性和数据移动需求。

卷积——神经网络处理的核心——在过去十年中变得更加复杂。例如,MobileNet引入了深度可分离卷积。VGG16的3×3卷积让位于多种替代方案,特别是对1×1卷积的依赖增加。激活函数变得更加多样和复杂。尽管ReLU并不是2014年唯一使用的激活函数——sigmoid和tanh经常用于神经网络(rnn)——但它是cnn中最受欢迎的激活函数。不断发展的研究引入了多种新的激活功能。NPU必须仍然有效地支持ReLU,但它还必须支持十几种或更多的可选配置。图2显示了当今神经网络架构必须支持和优化的一些复杂性。

图2:左图显示了ReLU,这是一种计算效率高、非饱和、非线性的激活函数,用于许多早期的cnn。右图仅显示了最新npu需要支持的一些激活函数。

在过去的8年里,CNN架构的多次进步提高了性能、效率、准确性和带宽,但代价是增加了硬件的复杂性。为了最大化AlexNet、VGG16或其他早期ImageNet获奖模型而设计的硬件在今天不足以运行最新的神经网络模型(即。Yolo v5, EfficientNet),或者能够支持新兴的深度学习模型,如Transformers和推荐网络。

变压器神经网络是一种新型的深度学习架构,最初因其实现自然语言处理(NLP)的能力而受到关注。与rnn一样,变压器也被设计用来处理音频或语音等顺序输入数据。与rnn不同,rnn是串行处理数据,因此在硬件上受到带宽限制,变压器允许更多的并行性,从而提高效率和准确性,并允许在比以前可能的更大的数据集上进行训练。除了NLP,变压器现在也被应用到视觉应用中。

复杂的神经网络需要改进NPU

NPU的神经网络加速必须改进,以更好地支持最新的神经网络模型。它们必须从CNN引擎进化为更广泛的AI引擎。

推动NPU改进的不仅仅是神经网络模型的复杂性。现实应用对神经网络性能的要求越来越高。在过去几年里,手机的人工智能处理性能跃升了30倍。在过去几年中,自动驾驶汽车对神经网络处理的需求已经从10秒到100秒再到1000秒太运算/秒(TOPS)的性能增长,这得益于使用的摄像头数量的增加、更高的图像分辨率和更复杂的算法。L3级自治可能需要10秒的TOPS, L4级自治预计需要100秒的TOPS, L5级自治则需要1000秒的TOPS。

图3:自动系统监测驾驶环境和预期神经网络性能所需的自动驾驶级别。

提高神经网络加速器性能的最简单方法是增加乘法累加器(mac)的数量——构建块矩阵乘法。然而,虽然计算单元呈指数级增长,但将数据送入这些大型加速器所需的内存带宽却没有增长。神经网络设计者面临着很大的压力,他们必须想出方法来最小化带宽,以利用系统中的所有mac。

支持AI的soc设计人员需要能够跟上神经网络算法最新发展的神经网络IP,能够满足日益增长的对越来越高水平神经网络性能的需求,并且可以使用一套成熟的开发工具轻松编程。对于汽车和航空用例,满足不断提高的功能安全标准也很重要。

新简介ARC NPX6 NPU IP

为了跟上不断发展的神经网络进步和对更高性能日益增长的需求,Synopsys最近推出了ARC NPX6 NPU IP(图4)。NPX6 NPU IP地址为深度学习应用提供超低功耗的实时计算需求。NPX6 NPU IP是Synopsys的第六代神经网络加速器IP。

图4:ARC NPX6 NPU IP概要。

有多种尺寸的NPX6 NPU IP可供选择,以满足特定的应用性能要求。NPX6 NPU的可扩展架构基于单个核心,可以从4K mac扩展到96K mac。在最坏的情况下,单个NPX6处理器可以在1.3 GHz的5nm工艺上提供高达250个TOPS,或者通过使用新的稀疏性特征提供高达440个TOPS,这可以提高神经网络的性能并降低能量需求。

每个NPX6核心包括多达三个针对最新神经网络优化的计算单元。卷积加速器支持每时钟周期4,096 mac,用于矩阵乘法运算,包括卷积运算。张量加速器支持广泛的张量算符,适用于cnn, rnn和较新的网络,如Transformers。张量加速器还提供了一个可编程查找表(LUT),支持任何当前或未来的激活函数,包括ReLU, PReLU, ReLU6, tanh和sigmoid, MISH, SWISH等。张量浮点单元(TFPU)在神经处理硬件内部提供可选的16位浮点(FP16和BF16格式)支持,最大限度地提高层性能,并简化从用于AI原型的gpu到大容量功率和面积优化的soc的过渡。

这种计算块的可伸缩性由先进的带宽技术和内存层次结构支持,该结构支持每个核中的L1内存和核与外部DRAM之间的L2内存。通过高性能、低延迟互连,可扩展至24核。NPX系列中设计了许多硬件和软件特性,以帮助扩展TOPS,同时将外部内存带宽保持在可管理的范围内。其中包括DMA的动态压缩,利用图的稀疏性,高级缓冲区管理和多级平铺,以及层融合等等。

为了充分利用所有这些集成的硬件特性,并加速NPX处理器家族的应用软件开发,新的Synopsys ARC MetaWare MX开发工具包提供了一个全面的编译环境,具有自动神经网络算法分区,以最大限度地利用资源。NPX IP和高生产力编程工具一起优化了高性能soc的性能、功耗和面积,适用于广泛的嵌入式AI应用,包括高级驾驶辅助系统(ADAS)、监控、数字电视和摄像机,以及数据中心和边缘服务器推断。



留下回复


(注:此名称将公开显示)

Baidu