人工智能的演进需要高适应性的推理平台(WP023)

最新更新时间:2021-07-07来源: EEWORLD关键字:人工智能  深度学习

人工智能的演进需要高适应性的推理平台(WP023)


模型大小不断增长给现有架构带来了挑战


深度学习对计算能力的需求正以惊人的速度增长,其近年来的发展速度已从每年翻一番缩短到每三个月翻一番。深度神经网络(DNN)模型容量的不断提升,表明从自然语言处理到图像处理的各个领域都得到了改进——深度神经网络是诸如自动驾驶和机器人等实时应用的关键技术。例如,Facebook的研究表明,准确率与模型大小的比率呈线性增长,通过在更大的数据集进行训练,准确率甚至可以得到进一步提高。


目前在许多前沿领域,模型大小的增长速度远快于摩尔定律,用于一些应用的万亿参数模型正在考虑之中。虽然很少有生产系统会达到同样的极端情况,但在这些示例中,参数数量对性能的影响将在实际应用中产生连锁反应。模型大小的增长给实施者带来了挑战。如果不能完全依靠芯片扩展路线图,就需要其他解决方案来满足对模型容量增加部分的需求,而且成本要与部署规模相适应。这种增长要求采用定制化的架构,以最大限度地发挥每个可用晶体管的性能。


image.png 

图1:模型大小的增长速度(来源:Linley Group)


Parameters (log scale):参数(对数刻度)

Image-processingmodels:图像处理模型

Language-processingmodels:语言处理模型


随着参数数量快速增长,深度学习架构也在快速演进。当深度神经网络继续广泛使用传统卷积、全连接层和池化层的组合时,市场上也出现了其它结构,诸如自然语言处理(NLP)中的自注意力网络。它们仍然需要高速矩阵和面向张量的算法,但是存储访问模式的变化可能会给图形处理器(GPU)和当前现有的加速器带来麻烦。


结构上的变化意味着诸如每秒万亿次操作(TOps)等常用指标的相关性在降低。通常情况下,处理引擎无法达到其峰值TOps分数,因为如果不改变模型的处理方式,存储和数据传输基础设施就无法提供足够的吞吐量。例如,批处理输入样本是一种常见的方法,因为它通常可以提高许多架构上可用的并行性。但是,批处理增加了响应的延迟,这在实时推理应用中通常是不可接受的。


数值灵活性是实现高吞吐量的一种途径


提高推理性能的一种途径是使计算的数值分辨率去适应各个独立层的需求,这也代表了与架构的快速演进相适应。一般来说,与训练所需的精度相比,许多深度学习模型在推理过程中可以接受明显的精度损失和增加的量化误差,而训练通常使用标准或双精度浮点算法进行。这些格式能够在非常宽的动态范围内支持高精度数值。这一特性在训练中很重要,因为训练中常见的反向传播算法需要在每次传递时对许多权重进行细微更改,以确保收敛。


通常来说,浮点运算需要大量的硬件支持才能实现高分辨率数据类型的低延迟处理,它们最初被开发用来支持高性能计算机上的科学应用,完全支持它所需的开销并不是一个主要问题。


许多推理部署都将模型转换为使用定点运算操作,这大大降低了精度。在这些情况下,对准确性的影响通常是最小的。事实上,有些层可以转换为使用极其有限的数值范围,甚至二进制或三进制数值也都是可行的选择。


然而,整数运算并不总是一种有效的解决方案。有些滤波器和数据层就需要高动态范围。为了满足这一要求,整数硬件可能需要以24位或32位字长来处理数据,这将比8位或16位的整数数据类型消耗更多的资源,这些数据类型很容易在典型的单指令多数据(SIMD)加速器中得到支持。


一种折衷方案是使用窄浮点格式,例如适合16位字长的格式。这种选择可以实现更大的并行性,但它并没有克服大多数浮点数据类型固有的性能障碍。问题在于,在每次计算后,浮点格式的两部分都需要进行调整,因为尾数的最高有效位没有显式存储。因此,指数的大小需要通过一系列的逻辑移位操作来调整,以确保隐含的前导“1”始终存在。这种规范化操作的好处是任何单个数值都只有一种表示形式,这对于用户应用程序中的软件兼容性很重要。然而,对于许多信号处理和人工智能推理常规运算来说,这是不必要的。


这些操作的大部分硬件开销都可以通过在每次计算后无需标准化尾数和调整指数来避免。这是块浮点算法所采用的方法,这种数据格式已被用于标准定点数字信号处理(DSP),以提高其在移动设备的音频处理算法、数字用户线路(DSL)调制解调器和雷达系统上的性能。

 

image.png

图2:块浮点计算示例


mantissa:尾数

block exponent:块指数


使用块浮点算法,无需将尾数左对齐。用于一系列计算的数据元素可以共享相同的指数,这一变化简化了执行通道的设计。对占据相似动态范围的数值进行四舍五入造成的精度损失可被降到最小。在设计时就要为每个计算块选择合适的范围。在计算块完成后,退出函数就可以对数值进行四舍五入和标准化处理,以便在需要时将它们用作常规的浮点值。


支持块浮点格式是机器学习处理器(MLP)的功能之一。Achronix的Speedster®7tFPGA器件和Speedcore™eFPGA架构提供了这种高度灵活的算术逻辑单元。机器学习处理器针对人工智能应用所需的点积和类似矩阵运算进行了优化。相比传统浮点,这些机器学习处理器对块浮点的支持提供了实质性的改进。16位块浮点运算的吞吐量是传统的半精度浮点运算的8倍,使其与8位整数运算的速度一样快,与仅以整数形式的运算相比,有功功耗仅增加了15%。


另一种可能很重要的数据类型是TensorFloat 32(TF32)格式,与标准精度格式相比,该格式的精度有所降低,但保持了较高的动态范围。TF32也缺乏块指数处理的优化吞吐量,但对于一些应用是有用的,在这些应用中,使用TensorFlow和类似环境所创建的模型的易于移植性是很重要的。Speedster7t FPGA中机器学习处理器所具有的高度灵活性使得使用24位浮点模式来处理TF32算法成为可能。此外,机器学习处理器的高度可配置性意味着可以支持一个全新的、块浮点版本的TF32,其中四个样本共享同一个指数。机器学习处理器支持的块浮点TF32,其密度是传统TF32的两倍。

 

image.png

图3:机器学习处理器(MLP)的结构


Wireless:无线

AI/ML:人工智能/机器学习

InputValues:输入值

InputLayer:输入层

HiddenLayer 1:隐藏层1

HiddenLayer 2:隐藏层2

OutputLayer:输出层


处理灵活性优化了算法支持


虽然机器学习处理器能够支持多种数据类型,这对于推理应用而言是至关重要的,但只有成为FPGA架构的一部分,它的强大功能才能释放出来。可轻松定义不同互连结构的能力使FPGA从大多数架构中脱颖而出。在FPGA中同时定义互连和算术逻辑的能力简化了构建一种平衡架构的过程。设计人员不仅能够为自定义数据类型构建直接支持,还可以去定义最合适的互连结构,来将数据传入和传出处理引擎。可重编程的特性进一步提供了应对人工智能快速演进的能力。通过修改FPGA的逻辑可以轻松支持自定义层中数据流的变化。


FPGA的一个主要优势是可以轻松地在优化的嵌入式计算引擎和由查找表单元实现的可编程逻辑之间切换功能。一些功能可以很好地映射到嵌入式计算引擎上,例如Speedster7t MLP。又如,较高精度的算法最好分配给机器学习处理器(MLP),因为增加的位宽会导致功能单元的大小呈指数增长,这些功能单元是用来实现诸如高速乘法之类的功能。


较低精度的整数运算通常可以有效地分配给FPGA架构中常见的查找表(LUT)。设计人员可以选择使用简单的位串行乘法器电路来实现高延迟、高并行性的逻辑阵列。或者,他们可以通过构建进位保存和超前进位的加法器等结构来为每个功能分配更多的逻辑,这些结构通常用来实现低延迟的乘法器。通过Speedster7tFPGA器件中独特的LUT配置增强了对高速算法的支持,其中LUT提供了一种实现Booth编码的高效机制,这是一种节省面积的乘法方法。


结果是,对于一个给定的位宽,实现整数乘法器所需的LUT数量可以减半。随着机器学习中的隐私和安全性等问题变得越来越重要,应对措施可能是在模型中部署同态加密形式。这些协议通常涉及非常适合于LUT实现的模式和位域操作,有助于巩固FPGA作为人工智能未来验证技术的地位。


数据传输是吞吐量的关键


为了在机器学习环境中充分利用数值自定义,周围的架构也同样重要。在越来越不规范的图形表示中,能随时在需要的地方和时间传输数据是可编程硬件的一个关键优势。但是,并非所有的FPGA架构都是一样的。


传统FPGA架构的一个问题是,它们是从早期应用演变而来的;但在早期应用中,其主要功能是实现接口和控制电路逻辑。随着时间的推移,由于这些器件为蜂窝移动通信基站制造商提供了一种从愈发昂贵的ASIC中转移出来的方法,FPGA架构结合了DSP模块来处理滤波和信道估计功能。原则上,这些DSP模块都可以处理人工智能功能。但是,这些模块最初设计主要是用于处理一维有限冲激响应(1D FIR)滤波器,这些滤波器使用一个相对简单的通道通过处理单元传输数据,一系列固定系数在该通道中被应用于连续的样本流。


传统的处理器架构对卷积层的支持相对简单,而对其他的则更为复杂。例如,全连接层需要将一层中每个神经元的输出应用到下一层的所有神经元上。其结果是,算术逻辑单元之间的数据流比传统DSP应用中的要复杂得多,并且在吞吐量较高的情况下,会给互连带来更大的压力。


尽管诸如DSP内核之类的处理引擎可以在每个周期中生成一个结果,但FPGA内部的布线限制可能导致无法足够快速地将数据传递给它。通常,对于专为许多传统FPGA设计的、通信系统中常见的1D FIR滤波器来说,拥塞不是问题。每个滤波阶段所产生的结果都可以轻松地传递到下一个阶段。但是,张量操作所需的更高的互连以及机器学习应用较低的数据局部性,使得互连对于任何实现而言都更加重要。

 

image.png

图4:滤波器和人工智能数据流


MemoryCascadeOut:存储级联输出

OperandCascadein:操作数级联

RegisterFile:寄存器文件

Fracturable:可分割

Adder/Accumulator:加法器/累加器

MemoryCascadein:存储级联


机器学习中的数据局部性问题需要注意多层级的互连设计。由于在最有效的模型中参数数量庞大,片外数据存储通常是必需的。关键要求是可以在需要时以低延迟传输数据的机制,并使用靠近处理引擎的高效便笺式存储器,以最有效地利用预取以及其他使用可预测访问模式的策略,来确保数据在合适的时间可用。


在Speedster7t架构中,有以下三项用于数据传输的创新:


•优化的存储层次结构

•高效的本地布线技术

•一个用于片内和片外数据传输的高速二维片上网络(2D NoC)


传统的FPGA通常具有分布在整个逻辑架构上的片上RAM块,这些RAM块被放置在距离处理引擎有一定距离的地方。对于典型的FPGA设计来说,这种选择是一种有效的架构,但在人工智能环境中,它带来了额外的和不必要的布线开销。在Speedster7t架构中,每个机器学习处理器(MLP)都与一个72kb的双端口块RAM(BRAM72k)和一个较小的2kb的双端口逻辑RAM(LRAM2k)相关联,其中LRAM2k可以作为一个紧密耦合的寄存器文件。

可以通过FPGA布线资源分别访问机器学习处理器(MLP)及其相关联的存储器。但是,如果一个存储器正在驱动关联的MLP,则它可以使用直接连接,从而卸载FPGA布线资源并提供高带宽连接。


在人工智能应用中,BRAM可以作为一个存储器,用于存储那些预计不会在每个周期中发生变化的值,诸如神经元权重和激活值。LRAM更适合存储只有短期数据局部性的临时值,诸如输入样本的短通道以及用于张量收缩和池化活动的累积值。


该架构考虑到需要能够将大型复杂的层划分为可并行操作的段,并为每个段提供临时数据值。BRAM和LRAM都具有级联连接功能,可轻松支持机器学习加速器中常用的脉动阵列的构建。

 

image.png

图5:具有存储和级联连接功能的MLP


MLP可以从逻辑阵列、共享数据的级联路径以及关联的BRAM72k和LRAM2k逐周期驱动。这种安排能够构建复杂的调度机制和数据处理通道,使MLP持续得到数据支持,同时支持神经元之间尽可能广泛的连接模式。为MLP持续提供数据是提高有效TOps算力的关键。

MLP的输出具有同样的灵活性,能够创建脉动阵列和更复杂的布线拓扑,从而为深度学习模型中可能需要的每种类型的层提供优化的架构。

 

image.png

图6:具有端点和I/O块的NoC


Multiplier / multiplicandfractionsafterconvertinginputstohavethe same exponent:将输入转换为具有相同指数后的乘数/被乘数分数

Multiplierblockexponent:乘数块指数

Multiplicandblockexponent:被乘数块指数

IntegerMultiply / AddTree:整数乘法/加法树:

ConverttoFloatingPoint:转换为浮点

FloatingPointAccumulation:浮点累加

Roundto desired precision:四舍五入到所需精度


Speedster7t架构中的2D NoC提供了从逻辑阵列的可编程逻辑到位于I/O环中的高速接口子系统的高带宽连接,用于连接到片外资源。它们包括用于高速存储访问的GDDR6和诸如PCIe Gen5和400G以太网等片内互连协议。这种结构支持构建高度并行化的架构,以及基于中央FPGA的高度数据优化的加速器。


通过将高密度数据包路由到分布在整个逻辑阵列上的数百个接入点,2D NoC使得大幅增加FPGA上的可用带宽成为可能。传统的FPGA必须使用数千个单独编程的布线路径来实现相同的吞吐量,而这样做会大量吃掉本地的互连资源。通过网络接入点将千兆数据传输到本地区域,2D NoC缓解了布线问题,同时支持轻松而快速地将数据传入和传出MLP和基于LUT的定制化处理器。


相关的资源节省是相当可观的——一个采用传统FPGA软逻辑实现的2D NoC具有64个NoC接入点(NAP),每个接入点提供一个运行频率为400MHz的128位接口,将消耗390kLUT。相比之下,Speedster 7t1500器件中的硬2D NoC具有80个NAP,不消耗任何FPGA软逻辑,并且提供了更高的带宽。


使用2D NoC还有其他的一些优势。由于相邻区域之间互连拥塞程度较低,因此逻辑设计更易于布局。因为无需从相邻区域分配资源来实现高带宽路径的控制逻辑,因此设计也更加有规律。另一个好处是极大地简化了局部性重新配置——NAP支持单个区域成为有效的独立单元,这些单元可以根据应用的需要进行交换导入和导出。这种可重配置的方法反过来又支持需要在特定时间使用的不同模型,或者支持片上微调或定期对模型进行再训练这样的架构。


结论


随着模型增大和结构上变得更加复杂,FPGA正成为一种越来越具吸引力的基础器件来构建高效、低延迟AI推理解决方案,而这要归功于其对多种数值数据类型和数据导向功能的支持。但是,仅仅将传统的FPGA应用于机器学习中是远远不够的。机器学习以数据为中心的特性需要一种平衡的架构,以确保性能不受人为限制。考虑到机器学习的特点,以及不仅是现在,而且在其未来的开发需求,Achronix Speedster7t FPGA为AI推理提供了理想的基础器件。


关键字:人工智能  深度学习 编辑:张工 引用地址:http://news.eeworld.com.cn/gykz/ic541217.html

上一篇:罗克韦尔自动化收购“云智造”Plex Systems
下一篇:达明机器人华北培训中心落成于天津罗升总部

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Achronix和Signoff携手为人工智能/机器学习提供FPGA和eFPGA IP服务
Achronix和Signoff半导体携手为人工智能/机器学习应用提供FPGA和eFPGA IP设计服务双方的合作将加快基于Speedster7t FPGA和SpeedcoreeFPGA IP的解决方案的开发中国深圳市,2021年8月31日–高性能现场可编程逻辑门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)领域的领导性企业Achronix半导体公司,与在FPGA和专用集成电路(ASIC)领域中提供从规格制定到芯片完成设计服务的Signoff Semiconductors公司宣布建立合作伙伴关系,为人工智能和机器学习(AI/ML)应用提供专业的FPGA和eFPGA IP设计服务解决方案。Signoff将使
发表于 2021-09-03
在制造业价值链中RPA是否真的有机会?
制造业实现自动化的动力非常简单。自动化模拟了人类工作,这意味着人类可以专注于制造业价值链的其他领域。 自动化首先被引入到制造业的生产领域,以减少员工数量。实体机器人加速了工厂产出,让员工能够专注于高价值任务,如采购、供应链和运输。 直到现在,这个系统一直在成功运作。但随着分析技术、人工智能(AI)和软件自动化的引入,制造商现在可以在整个价值链中使用这种先进的技术来提高生产力和促进业务增长。被称为机器人流程自动化(RPA)的软件自动化可以模拟人类在计算机上执行的重复、枯燥的任务,让员工腾出时间从事更有意义的任务。 在过去十年中,AI和自动化被用于面向消费者的产品。例如,Netflix使用AI预测消费者
发表于 2021-08-31
在制造业价值链中RPA是否真的有机会?
人工智能正在改变物流自动化的方式,将为劳动密集型产业
,运营的能力已经准备就绪并且能够快速启动。虽然这些方式能够为物流公司带来所需的灵活性,可以快速响应需求的变化,但是,仍然有机会做得更多。人工智能将放大物流自动化的影响力将人工智能引入物流自动化将大大增强人工智能的影响力。人工智能可以减少常见的半技能任务(如对产品进行分类和分拣)中的错误。利用自主移动机器人AMR可以提升包裹投递的效率,包括最昂贵的最后一公里的投递。人工智能帮助自主移动机器人AMR进行路线的规划和特征的识别,比如人、障碍物、交付门户和门口等。将物流自动化集成到任何环境中时,都会带来一定的挑战。它可以像动力传送带代替重复过程一样的简单,也可以像将具备协作能力的自主机器人引入工作场所一样复杂。当人工智能被加入到自动化和集成
发表于 2021-08-30
人工智能技术研发企业CoCoPIE获数千万元A轮融资
近日,CoCoPIE宣布获得数千万元A轮融资,由红杉中国种子基金领投。CoCoPIE成立于2020年,聚焦手机、IoT、自动驾驶等移动设备端的实时人工智能技术研发及其商业化。CoCoPIE认为,在深度学习模型本地化运算的过程中,CPU、GPU、DSP等主流硬件尚有很大潜力没有被开发,通过优化压缩和编译的过程,能够使以往无法运行在某些终端设备上的神经网络得以在这些终端设备上运行。CoCoPIE提出压缩-编译协同设计的原则,将这两个组件以协同的方式进行结合。CoCoPIE框架由CoCo-Gen和CoCo-Tune组成。CoCo-Gen通过将基于模式的DNN剪枝与基于模式的感知生成代码相协同,生成高效的DNN执行代码;CoCo-Tune
发表于 2021-08-25
老龄化背景下的数字新基建,应当如何跨越数字鸿沟?
;数字新基建助推老龄化社会转型从年轻社会向老龄社会转型的关键,是构建与老龄社会相适应的基础设施,和在此之上的共享平台,以支撑面向老龄社会多元化主体、多元社群的多元化服务体系。 人工智能将在提高养老服务效率和质量,实现智慧养老、精准养老方面发挥重要作用。从中长期看,人工智能也是应对老龄化大趋势下养老人力资源的必然选择。 通过数字化平台、产品和服务建设,解决老龄服务体系总体成本过高、效率过低、质量欠佳、可达性差,因而不适应老龄需求的问题。 数字技术需要一定的知识含量才能进入核心的部门,但是也要看到,这会拉动我国的劳动力的素质提升,通过培训等项目来提升劳动力的知识水平。 未来随着人口老龄化的趋势,未来
发表于 2021-08-25
老龄化背景下的数字新基建,应当如何跨越数字鸿沟?
从AR口红试妆了走进虚拟试妆技术
随着人工智能技术的不断发展,各大美颜软件的妆容变得越来越“自然无痕迹”,大家可能会好奇这背后的技术原理是什么。因此,本期“技术的真相”将通过简易的AR口红试妆带大家走进虚拟试妆技术。 一、  项目简介在刚刚过去的七夕选礼物的重要仪式中,大家有没有在挑选口红时感到茫然,就怕一不小心买成“直男”色号。其实,在许多电商平台都已经具备了试妆功能,点击按钮之后就能够尝试口红、睫毛、腮红、眉毛、眼影等多种美妆产品的试戴效果,实现足不出户就能选到心仪的美妆产品,而这种功能的背后就是虚拟试妆算法。 虚拟试妆算法是一种典型的计算机视觉与计算机图形学相结合的技术,它通过检测面部区域的关键点,在特定区域使用AR
发表于 2021-08-19
从AR口红试妆了走进虚拟试妆技术
小广播
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved