赛灵思最新深度神经网络推理器xDNN参数曝光

继年初发布新一代FPGA框架后,FPGA巨头赛灵思在Hot Chips大会揭露了最新一代深度神经网络推理装置xDNN的部分规格参数。随着更多定制芯片的发展,现如今AI芯片的战火已经蔓延到推理领域。赛灵思的xDNN可配置、可复写,进行多任务处理,还配有Tensor内存。

目前来看,FPGA可能没有像一些人预期的那样在深度学习的训练空间中占据一席之地,但AI推理的低功耗、高频率需求非常适合可重复编程硬件的性能曲线。

然而,现在人们越来越专注于推理与训练的新体系架构,FPGA也在努力在定制化硬件领域保持领先,而这要靠一些高级编程工具来降低编程的复杂度。

目前,要判断通用CPU、GPU、FPGA及定制芯片如何才能吸引最广泛的用户群还为时尚早,但基于云的FPGA以及不断发展的高级FPGA集,越来越多地作为实验工具使用,让FPGA在面向推理的任务中占据了一席之地。

考虑到所有这些因素,FPGA制造商Xilinx近日在Hot Chips大会上发布了Xilinx深度神经网络推理(xDNN)设备的一些参数细节,公司将在接下来10月1日举行的开发者大会上发布更多信息和性能基准。

就在几年前,神经网络训练处理器还是架构展上的耀眼明星,但最近,GPU已经在与定制化、专门化的ASIC芯片和其他通用硬件展开激烈竞争,眼下战火又蔓延到了推理任务领域。

Xilinx的数据中心和IP总监Rahul Nimaiyar上周在Hot Chips大会上表示,用FPGA执行推理任务具备坚实的硬件基础。FPGA的数据处理并行的,并且支持数据重用、数据压缩,能够应对数据稀疏。

xDNN处理器的2D二维MAC阵列,灵活的高带宽片载存储器,支持多种方式访问,让数据的传输和转移更加高效。此外,xDNN还支持灵活的数据类型(FP32 / FP16及INT 16/8/4/2等)。

xDNN是一个可配置、可复写的处理器,可以映射到FPGA上而无需重新编程。Xilinx还提供了深度神经网络特定指令集(如卷积,最大池化等),可适用于任何网络和任何大小的图像,还可以编译和运行新网络。也就是说,xDNN可以与TensorFlow一起使用,无需重新编程或更改FPGA。

Virtex硬件可以用于几种类型的存储器;从位于DSP模块旁边的分布式基础RAM到UltraRAM,再到高带宽内存和外部DDR4内存都可以,从而实现计算效率的优化和性能提升。

上图是一个通道并行脉动阵列( channel parallel systolic arrays )的放大示意图,图中所示为分布式加权缓冲区。处理元件被加权映射到DSP块上,具体权重保存在处理旁边分布式RAM中,该RAM容量很小,速度很快。换句话说,这些分布式RAM就是权重缓存。

xDNN的“Tensor内存”位于脉动阵列的旁边,并存储输入和输出的特征映射。该部分也是并行通道,因此该阵列中的每个行都与一行内存相关联。也就是说,xDNN可以进行多任务处理,在阵列上进行计算,同时还可以根据需要引入新的网络层。

与其他面向推理任务的芯片一样,xDNN也在芯片内压缩了尽量多的内置存储器,以保持芯片的活性。这是一种比较艰难的平衡做法,目的是为了保证计算效率,从下面的基准测试结果来看,Xilinx的配置似乎是有效的。

除了硬件之外,提升易用性也是关键问题,无论是对于那些使用F1进行深度学习的人,还是用FPGA编程实现更精细的点的人来说,编译器和运行时间都是关键指标。

上图是关于Xilinx为用户开发的机器学习工具套件的更多信息,实际上,这是一个允许用户连接至框架的API,可以更容易地在Tensorflow中获得经过训练的模型和权重,例如,将其转换为一个Xilinx图,在它到达编译器之前通过一些优化,生成所有必要的指令集,以便在xDNN上运行该网络。

Xilinx还提供了一个量化器,可以将经过训练的权重数据输入到一些校准集中,以找到范围并快速获得这些权重的量化结果。

Nimaiyar 表示,Xilinx已经抽取出了产生有效推理的其他元素,包括操作的融合(一旦访问被激活,这些操作直接作为流程运算符执行,而不再返回Tensor Memory),当特征映射大小超过片载存储器空间时,会进行指令级的并行化处理,和自动将映射在层内平铺,这意味着xDNN可以处理任何规模的特征映射。

上图的稀疏基准测试是Xilinx在其开发者论坛上发布的结果,到目前为止,60-80%的跨框架高效数据表现已经足够令人期待。

参考链接: https://www.nextplatform.com/2018/08/27/xilinx-unveils-xdnn-fpga-archite...

文章转载自:新智元

最新文章

最新文章