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。