Intel找来脸书与百度来帮Nervana神经网络处理器站台,预计明年投入商用生产

Intel在2016年并购了AI创业公司Nervana后,就开始投入神经网络处理器(NNP)的研发,直到去年5月终于正式发布了首款NNP,今年8月也更进一步披露了训练用与推论用芯片的相关配置,预计将在明年商用上市。而Intel在本月的AI Summit 2019活动上,也展出NNP的实际运算性能,并找来合作伙伴脸书与百度站台,分享目前的使用情形。

Nervana NNP是用于云计算数据中心的ASIC芯片,又分为训练芯片(NNP-T)与推论芯片(NNP-I)。

左图为NNP-T、右图为NNP-I。

NNP-T代号Spring Crest,采用台积电16纳米制程(CLN16FF+)及CoWoS(Chip on Wafer on Substrate)封装技术所制造,整体零件包含270亿个晶体硅体、多达24个Tensor核心处理集群(Tensor Process Cluster,TPC)、4个8GB的高带宽内存(High Bandwith Memory,HBM)、60MB的片上分布式内存(on-chip distributed memory),并以2.5D异质集成技术来封装。

从右边架构图可见,NNP-T架构主要有24个Tensor处理集群,4个高带宽内存,共有16个双向带宽传输连接(Inter-Chip Links,ICL)。

在性能表现上,TPC能在1.1GHz的频率下达到119 TOPS,功耗则取决于空气冷却的情况,约为150到250瓦。且为了降低训练模型的体积,来减少存储空间与带宽,TPC支持了bfloat16(BF16)浮点数格式,Intel宣称,经过BF16优化之后,在几乎不损失模型精度的情况下,可将深度学习模型压缩至原先的一半,但仍达到与单精度浮点数格式(FP32)相同的性能表现。

而且,除了NNP-T,Intel也要在下一代Xeon处理器家族Cooper Lake中,以Deep Learning Boost为基础来内置BF16指令集,让CPU处理器也能执行深度学习模型的训练工作。Cooper Lake处理器也预计在明年上半年上市。今年4月先发布的第二代处理器家族Cascade Lake,其内置的DL Boost只能用于加速模型的推论工作。

Intel在下一代Xeon处理器家族Cooper Lake中内置BF16指令集,上图为运用FP32与BF16两种浮点数格式,来训练Resnet-50的模型准确率比较:两者不相上下,但BF16能降低计算资源的消耗。

除了硬件,Intel也发布NNP-T搭配的软件堆栈工具,上层支持了TensorFlow、PyTorch、PaddlePaddle等深度学习框架,以及Intel自家开源的深度学习编译器nGraph,底层软件则包括深度学习运算与通信程序集MKL(Math Kernel Library),也基于Tensor核心发布弹性、可编程的指令集架构(Instruction Set Architecture,ISA),让NNP-T具有低程度的可程序化能力(Low-level programmability)。

Intel在AI Summit中,展示了由480张NNP-T加速卡集合而成的超级计算机,这台超级计算机由10个机架所串联,一排机架有6个机箱,一个机箱又有8张加速卡。而现场也展示了运用32张NNP-T加速卡,来执行图片识别模型ResNet-50的训练成效,大约在70个epochs中就能达到了95%正确率。

这台超级计算机由10个机架所串联,一排机架有6个机箱。

一个机箱有8张加速卡。

Intel表示,之所以能扩展至480个节点互连来执行高性能计算,是因为每个NNP-T都具备16组112Gbps、共3.58Tbps的双向带宽传输的芯片内连接(Inter-Chip Links,ICL),且实现了完全可编程的路由器,让核心运算单元能直接将数据传输到连接中,而不占用芯片内HBM的存储资源,来达到更低的延迟与更高的性能,最多可以扩展到1024个节点,也能用Kubernetes来调度计算资源。

此外,NNP-T也有PCIe及OCP开放加速模块(Open Accelerator Module,OAM)两种主板配置,适用的解决方案从小型服务器、多机箱式的结构(inter- chassis fabric)到大型机柜(POD)的硬件架构等,能根据需求来部署构建。

百度也分享了与Intel在软硬件方面的合作。硬件方面,百度作为早期采用者,已经部署了NNP-T作为AI超级计算机X-Man 4.0的硬件建设,来执行部分运算工作,其AI研究员Kenneth Church也表示,采用了NNP-T的X -Man 4.0,将成为世界上第一个开源的加速基础建设(Open Accelerator Infrastructure,OAI)架构,且百度也计划将扩大规模部署更多NNP-T到更多基础建设中。

在软件部分,NNP-T已经支持了中国已经广泛使用的深度学习框架Paddle Paddle,根据Kenneth Church指出,该框架的采用人数已经超过150万开发者,且对于NLP的模型开发尤为重要。

NNP-I的代号则是Spring Hill,是以Intel 10nm制程的Ice Lake处理器为基础,并以12个推论运算引擎(Inference Compute Engine,ICE),搭配两个Sunny Cove架构的x86内核,来加速推论运算。Intel在先前就曾宣称,NNP-I的推论性能最高可达4.8TOPs/W,功耗则在10W到50W之间,且具有高度程序化能力,也支持多种深度学习框架。

NNP-I以12个推论运算引擎搭配两个Sunny Cove架构的x86内核,作为主要运算架构。

此次Intel AI产品部副总裁Gadi Singer在AI Summit会后受访时指出,NNP-I的特色有三,一是低功耗、二是可支持多样的深度学习应用、三是支持多种软件。他首先提到,NNP-I的低功耗使其能弹性适用于不同规模的解决方案,比如高密度的硬件部署,而Intel为了减少能耗,除了在其中加入了全集成式电压调节模块(FIVR)来进行功率管理,也设计了75MB的片上(on-die)SRAM,来减少数据在CPU与内存间的移动,“因为乘法与加法运算占能耗的一小部分而已,降低数据搬运才能达到更低功耗。”

NNP-I另一个特色是能支持多样深度学习的应用,因为Sunny Cove架构的核心具有AVX512指令集,其中的矢量神经网络指令集(Vector Neural Network Instruction,VNNI),使其能适用于多种深度学习的工作负载。Gadi Singer表示,NNP-I必须能快速支持各类深度学习算法,尤其AI算法的开发到部署可能不到一年,比如去年开源的NLP模型BERT,几乎在一年之内就已经普及,不同于其他领域可能需要5-7年才能有效运用新方法去解决问题。

NNP-I搭配的软件堆栈,支持的深度学习框架包括Tensorflow、PyTorch、Caffe2、开放神经网络交换格式ONNX,以及Intel自家的开源软件工具集OpenVINO、深度学习编译器nGraph等,且与NNP-T相同,均具有低程度的可程序化能力。

此外,NNP-I也提供两种加速卡格式,分别是M.2卡NNP I- 1100及PCIe卡NNP I-1300。M.2卡的最大功耗(Thermal Design Power,TDP)是12瓦,性能可达到50 TOPS,而两张PCIe卡的最大功耗是75瓦,性能则可达170 TOPS。

AI Summit的活动上,Intel展示了NNP-I与Nvidia T4的性能比较,Intel宣称,在硬件架构上,Nvidia T4在4U机柜中只能放置20张卡,而NNP -I可在1U机柜中放置多达32张卡;若以性能表现来看,在两处理器均负载图片识别Nesnet-50工作的情况下,NNP-I能以不到Nvidia T4 2倍的加速卡数量,展现出Nvidia T4 3.68倍性能。

32张NNP-I实际运行情形。

NNP-I加速卡。

而且,社交媒体巨头脸书也开始在用NNP-I了,虽然脸书并无正面指出在NNP-I上执行了哪些推论工作,但也表示,NNP-I的软件堆栈确实协助脸书优化了许多模型性能,包括推荐系统、计算机视觉、翻译等推论工作。脸书说明,无论是用户上传照片自动tag朋友的功能、一天超过5亿6千次的语言翻译、贴文推荐系统、或是自动移除假账号等,都需要应用大量AI。