飞趁昆仑山上去,须臾化作一天云’走近百度昆仑Al处理器

来源 :微型计算机 | 被引量 : 0次 | 上传用户:coldcoffee
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  对国内的高科技企业而言,在集成电路产品上发力已经不是什么新闻了。作为这类企业代表之一的百度,近年来也在自研处理器的道路上越走越快。2020年9月15日,“万物智能——百度世界2020大会”上,百度宣布了昆侖1 Al处理器已经量产的消息,那么这款名为昆仑1的Al处理器在性能和架构上的情况究竟是怎么样的呢?我们就和你一起来了解这些内容。
  百度在云计算和人工智能方面有深入的研究,并持续进行较高的产业投入。2018年,百度宣布将研发自家首款AI芯片,代号“昆仑”。2019年12月,百度宣布选择三星作为代工伙伴,准备量产昆仑芯片。在2020年的“百度世界2020”大会上,百度宣布昆仑1芯片已经量产,正在研发昆仑2芯片,其中昆仑1芯片已经在百度搜索以及云计算用户上部署了2万片,预研的昆仑2芯片计划采用7nm工艺,性能将达到昆仑1的3倍以上,计划2021年上半年量产。一路走来,百度的昆仑芯片从纸面到实际,从0到2万片,那么,百度昆仑芯片有哪些值得关注的地方呢?
  从Al开始百度研发AI芯片的开始
  百度在AI芯片方面的投入是从关注AI的多元化应用和多元化场景开始的。百度认为在之前的大型机和小型机时代,人们可以用定制处理器解决问题。在个人电脑时代,x86是绝对的主流。在移动计算时代,ARM和x86在一定程度上和谐共存。但是现在的时代应用场景更多、更为复杂,尤其是AI计算的出现,需要大量的算力,而传统的CPU和GPU完成AI类型的计算都存在效能或者速度上的问题。因此,在这种情况下,面对海量数据的AI计算,百度决定开发专门的AI通用处理器。
  回顾历史来看的话,百度在201 0年甚至更早就切入了处理器研发领域。在2010年,百度推出了FPGA平台上的AI芯片,计算能力为300GFLOPS,并在2011年小规模部署。2014年的时候,百度推出了计算效能为1TFLOPS的芯片并在2016年提升至2TFLOPS。
  百度为AI通用芯片的开发设定了三个目标,那就是面向主流市场、开拓新市场,同时尽可能支持更多的AI应用程序和场景。这就意味着百度的AI通用处理器不光是一个芯片,还要提供相应的软件和编译器等环境。百度认为这种通用AI芯片面临的挑战包括大量的内存和计算的访问模式需要支持,包括主流计算框架内数千种不同的算法、混合了张量、矢量和标量的计算模式以及对内存的顺序和随机访问等。另外,一款长寿的AI通用处理器还要考虑到算法和应用随着时间快速变化,以及开发人员对硬件和软件环境的熟悉程度等。
  鉴于此,百度也提出了一系列的解决方案,致力于提供一个通用的、具有灵活的、可编程性相当优秀的同时也是高性能的AI处理器产品。
  昆仑K200芯片百度Al计算的一小步
  本次发布的昆仑芯片的型号分别是昆仑K100和昆仑K200,两者架构相同,但是前者K100性能和功耗等只有后者K200的一半,本文以百度昆仑K200为例进行介绍。百度昆仑K200整体架构采用了百度之前研发的XPU架构,支持INT 4、INT 8、INT 16以及FP32、FP16等不同格式的数据计算。其计算性能在INT 8数据格式下拥有256TOPS,在INT/FP 16下缩减至64TOPS,在INT/FP32格式下缩减至16TOPS。另外,芯片通过HBM和2.5D封装技术包含了16GB、512GB的本地存储。制造工艺方面采用三星14nm工艺,TDP功耗为150W,外部接口支持PCle 4.0 x8规范。
  百度的XPU架构也是AI计算业界的老面孔了,在2017年就已经发布上线。不过当时百度和赛灵思一起合作,采用了FPGA的方式实现。百度当时选择FPGA的原因主要是看中了FPGA本身的高效率和可编程性,百度宣称XPU则关注计算密集型、基于规则的多样化计算任务,希望提高效率和性能,并带来类似CPU的灵活性,因此FPGA是比较合适的平台。
  在架构设计方面,XPU采用的是众多微核心、搭配定制逻辑以及可以根据应用程序配置计算资源的方式。在一个XPU核心中,一个拥有多接口的内存控制器( Multi-PortMC)位于处理器核心位置,周围挂接了包括DDR4内存、DMA总线在内的各种数据存储和传输设备,其主要计算单元是众多微核心( Tiny Cores),另外还有可定制的逻辑单元(Customized logic)。众多的微核心能够实现基于指令集的可编程性,并且没有Os、缓存、域或者特定的ISA约束,能够灵活的服务于各种不同的计算负荷。在定制逻辑方面,整个逻辑是硬件可重构的,这也是FPGA的鲜明特性之一。此外,百度还提到XPU可以根据不同的计算任务对计算核心和逻辑核心的比例进行重新定义,这样能够在不同的任务中都获得较高的效能。
  在XPU的微核心部分,百度将32个微核心定义为1个核心簇(Core Cluster),核心簇的数量多少取决于芯片的计算规模要求。每个核心簇通过双向256bit的带宽和多接口内存控制器联系。核心簇内,除了计算核心(被称为Core)外,还包含了一个特殊功能加速单元和所有核心共享的32KB缓存。百度特别提到,32个计算核心的数据都已经本地化并且多核心共享,这样更加方便控制和布线。
  进一步深入每个计算核心也就是Core的话,百度宣称Core采用了类似MIPS的指令设计,拥有4级流水线,分别是前端的BTH/Fetch/l_buf,以及decode Q、decode/RF后,进入issue Q,然后进入ALU/load/store进行计算或者存取处理,随后交由WB Q进行结果处理。整个流水线级数短、延迟低。另外,每个Core还配备了16或者32KB的私有临时缓存,用于暂存数据,提高效能。
  在新的昆仑K200上,百度还是采用了之前在FPGA上使用成熟的XPU架构,但是将其升级到了XPU v2版本。百度宣称XPU v2版本的设计思想和之前的产品是一致的,但是ASIC化后整体性能更为强大。百度还给出了一个简单的架构图,下面本文简单解析—下。   XPU v2核心内部包含计算单元、PCIe总线控制器、HMB控制器和相关连接总线。一个XPU v2核心内部有2个计算单元,分别是Compute Unit 0和Compute Unit1。继续深入的话,每个计算单元内部包含了4个XPU-SDNN核心和4个XUP-Cluster核心,还有一个16MB缓存。所谓SDNN,是指“spacedisplacement neural network”,也就是空间位移神经网络,这种神经网络算法通常用于图形图像的查找,或者在一个大型图像中查找关键内容,由于其计算过程涉及空间上的位置改变,因此又被称为空间位移神经网络。百度特别提到,XPU-SDNN可以进行软件定义,针对张量和矢量计算而设计。另外则是XPU-Cluster,针对标量和矢量计算设计,采用的是常见的SIMD指令,每一个XPU-Cluster中拥有前文提到的16个微核心。在数据存储方面,每个HBM控制器对应1个计算单元,提供8GB的HBM存储空间和256GB/s的数据带宽。
  除了硬件架构外,昆仑K200在软件上也做出了一些优化。昆仑K200支持不同的框架协议,包括Tensorflow、Pytorch、国产自主的Paddle Paddle等,还提供了名为XPU ClC 的编程语言,用于用户操作编程并给出新的操作。另外,在库文件方面,百度提供了专用于昆仑K200的深度学习库,支持深度学习中常用的各种API等。在整个软件架构方面,百度给出的简图显示,硬件之上百度设计了昆仑驱动,再向上则是昆仑runtime/complier文件,再向上则分为库文件、用户自用Kernel以及图像编译器,最顶层则是应用程序、框架文件和开发人员界面等。
  目前,昆仑K200的软件生态已经有了一定的基础。昆仑K200芯片目前能够全面支持语音、图像、NLP模型以及自定义模型等,即使是百度之外,也有了约10个客户在使用或者部署,整体表现还是不错的。性能比拼胜过英伟达T4
  最后则是喜闻乐见的性能对比测试。百度昆仑K200选择的竞争对手是英伟达T4。根据百度的数据来看,昆仑K200在百度设定的测试场景下,均以较大幅度领先英伟达T4,包括专注于目标检测算法的YoIoV3,以及常用于自然语言处理的BERT,还有用于搜索的真实引擎模型,以及用于目标检测和像素级分割的Mask R-CNN等,可以说基本涵盖了百度这类用户在日常生活中所需要的AI操作。百度还宣称,目前昆仑K200已经在线上部署,只要用户通过百度云申请就可以调用昆仑K200了。另外值得一提的是,2019年12月,百度宣布正在配合飞腾处理器进行产品适配,将配合飞腾处理器形成国内自主可控的AI加速平台,这也是国内AI加速设备国产化方面比较重要的成就了。
  最后,本文依旧照例来对百度昆仑K200的产品进行一些总结。从整个昆仑K200的发展历史、架构设计以及百度对其性能的相关介绍来看,昆仑K200还是达到了百度之前确立的设计目标的,那就是成为一款通用的、具有灵活的、可编程性相当优秀的同时也是高性能的AI处理器,其在百度各类测试和应用中也体现出了比较好的效果。但是,昆仑K200还有巨大的改进空间和提升空间,比如相比英伟达最先进的A100,昆仑K200在工艺、规模、计算能力、计算功能、数据格式支持、软件支持等方面差距还比较远,尤其是对诸如目前流行的BF类型的数据格式、混合精度支持、对稀疏性计算的支持等,都尚未在這款产品中有所体现。当然作为一款2018年开始研发、2020年大规模量产的产品,又是企业首款ASIC类型的芯片来说,的确没有必要太过苛责,但是我们依旧希望百度在下一代昆仑芯片中能够做出更大的突破和更多的技术创新。根据百度的消息,下一代昆仑芯片将具有高速片间互联功能,能够大大降低数据传输延迟,并且还拥有从云推理、云计算到边缘计算的多款细分型号,有望覆盖更多、更大的市场,值得用户和业界期待。
其他文献
也许有不少朋友都会觉得跑步的时候想听歌还得带上手机是很麻烦的事情,别担心,今天我就为大家带来一款内置8GB存储空间的智能运动耳机——绎美Primo 5。  这款耳机目前有红黑、黄黑、绿黑这3种配色,我體验的绎美Primo 5就采用的是沉着而不失热情的红黑配色。整个耳机外观采用了水滴状的造型设计,耳机外壳选用的是经过抛光处理的塑料材质。同时,该耳机配有质地柔软的硅胶耳挂,能够给人较为舒适的佩戴感。耳
4月15日,中兴发布Axon 30系列,两款产品均搭载高通晓龙888 SoC,成功跻身旗舰俱乐部。此外, Axon 30系列的双旗舰都选择在影像方面发力,“超大杯”配备目前少有的高能三主摄,“大杯”也拥有双6400万像素主摄。它们的实际体验究竟如何?我们一起来深入了解一下。  中兴Axon 30 Pro   年轻化设计兼具时尚与质感  相对Axon 20系列,中兴Axon 30 Pro在外形上有了
背景故事:从一位悲情的母亲讲起  《生化危机:村庄》的背景故事要从本作的最终BOSS米兰达讲起,她在20世纪初叶的西班牙大流感中痛失女儿,无法接受这一事实的她,凭借在科学领域的研究,开始想方设法复活女儿,即便有违天理也在所不惜。一次偶然的机会,米兰达在一个东欧村庄的地下洞窟中发现了一个真菌母体,它拥有吸收死者意识的能力,而米兰达女儿的意识也被这个真菌母体所吸收,于是米兰达想出了复活女儿的方法—找到
在2008年那个《孤岛危机:弹头》《侠盗猎车手4》《辐射3》等一众经典3A大作“神仙打架”的年代,《Mount
在企业办公环境中,特别是类似编辑的文字岗位,会频繁地进行打印任务。除此之外,复印、扫描这些也是家常便饭。如果公司仅配备一台单一功能的打印机很显然是不够的,还需要配备扫描仪等设备才能保证工作正常进行,而这样一来,不仅增加了支出,后期维护也繁琐。如果使用一体机,那么这些问题就不存在了。例如这期我们要体验的这款佳能腾彩MX498,它就是一款专门为中小企业以ASOHO办公人士推出的入门级一体机,集打印、复
无论如何,2020年的春节,乃至整个开学季的春天,相信都是非比寻常的一个新春,也必然会让所有的人在今后很长一段时间内对其刻骨铭心。不过在一边承受、避开病毒干扰的同时,我们的工作、学习却仍然要继续。又到一个开学季,该有的学习生涯还得继续,而稍有不同的是,在这个开学季之后的一段时间内,相信大家更多的时间宁愿宅在寝室而不是四处瞎晃悠。So,对那些有游戏及学习需求的同学,你们在新装机或升级电脑时需要注意些
经过十年的试点,携号转网来到政策落地阶段。随着国家对“携号转网”政策的不断放开,近日工信部又公开征求意见,明确了携号转网的服务办理条件、业务流程、服务规范等内容。要求三大运营商确保在2019年11月30日前分阶段完成携号转网工作部署。然而,就在携号转网全国推行进入倒计时的节骨眼上,中国电信方面传出消息,9月起将停售达量降速版畅享套餐,套餐外流量将额外计费。中国移动和中国联通方面也悄悄放出声音,表示
在前不久的CES 2021展会期间,英特尔推出了一系列处理器新品,其中基于Tiger Lake家族的第11代酷睿H35系列处理器格外引人注意。它最大的特点是最高TDP为35W,其中一款处理器的最高频率高达5.0GHz。另外,英特尔暂时还没有推出传统意义上面向高性能笔记本(游戏本)的第11代酷睿H系列标压(45W)处理器。那么全新的酷睿H35系列处理器能够扛起大梁吗?搭载这款处理器的游戏本性能表现如
出色工艺 快充提升体验  小米降噪耳机Pro在设计上采用了目前真无线降噪耳机中的主流风格,长柄耳机造型搭配鹅卵石般的充电盒。首次采用的高光纳米NCVM镀膜工艺,使得耳机与充电盒具备了光洁如镜的质感。配合圆润线条的机身轮廓,拿在手中变换角度,会有一种光影流动的视觉效果,同时触感温润细腻,整体的工艺做工担得起小米对它的定位。  小米降噪耳机Pro在充满电并关闭主动降噪功能的情况下,单次续航时间可达7小
鉴于处理器性能、技术规格和生产工艺在近年来有突飞猛进的提升,国内科技公司联想科技在近期推出了一款采用新型处理器、专为商务应用打造的整机产品—联想启天M540商务电脑,这款产品最大的特色就是采用AMD最新的锐龙4000系列APU。  锐龙4000系列APU采用AMD7nmZen2处理器核心,搭配RadeonVega显示核心,主要由4核心的锐龙3、6核心的锐龙5、8核心的锐龙7组成。联想启天M540商