今年 3 月,「强化学习教父」Richard Sutton 在《苦涩的教训》一文中指出,「70 年的人工智能研究史告诉我们,利用计算能力的一般方法最终是最有效的方法。要在短期内有所提升,研究人员要利用专门领域的人类知识。但如果想要长期的获得提升,利用计算能力才是王道。」
大家都知道,这波人工智能的浪潮的三要素分别是数据、算力和算法。虽然仍有争议,但是计算力的大幅提升确实是这波深度学习革命的决定因素之一。
去年OpenAI发布的一份报告显示,自2012年以来,在最大规模的人工智能训练中所使用的计算量呈指数级增长,3.5个月的时间翻一倍(相比之下,摩尔定律(Moore’s Law)有18个月的倍增周期)。自2012年以来,该指标增长了30多万倍(18个月的倍增周期只会增加12倍)。
在过去的几十年里,摩尔定律一直推动着芯片制程和性能的稳步提升,然而摩尔定律已经失速,CMOS的微缩至少在十年内还是会继续进行下去,但随着技术难度的挑战越来越高,需要投入的资源会越来越高,必然会导致整个成本上升,如何才能发挥摩尔定律的经济效益?按照这个趋势,想要满足未来AI发展的需求,芯片行业势必要有所变革。
在上个世界八十年代,异构计算的出现满足了各种不同任务的计算需求,推动了个人计算机和互联网的发展。
然而大数据和人工智能时代的到来,新的计算需求不断衍生出来,当我们展望下一个十年,或者更长远的未来,随着人工智能应用的愈加广泛和深入,特别是万物互联时代的到来,AI需要在云边端上全面落地,传统的异构计算已经不能满足日益发展的人工智能计算需求,
于是,在异构计算上更进一步,英特尔开始押注「超异构计算」。
首先,传统的异构是指在完成一个任务时,采用一种以上的硬件架构设计,把它们组合在一起。组合方式主要包括:
在真正的系统中应用AI时,它从来不是单独发生的,而是和其它的计算技术深度融合。所以,真正要完成一项任务,仅有AI是不够的,需要多种计算任务同时进行。传统的异构计算,已经不能满足产业应用对AI计算的需求。
英特尔认为,我们需要迈向超异构时代。
超异构将提供更多的灵活性和更快的产品上市时间,它包含三大要素:多架构、多功能芯片;多节点和先进封装技术;统一的异构计算软件。
据了解,多架构、多功能的独立芯片可以根据计算负载分成以下4种:标量计算,CPU 就是典型的标量处理器;矢量计算,主要是指向量计算;矩阵计算,主要应用在是卷积神经网络中;空间计算,即运算的时候有灵活的空间处理架构,这个方面的代表是 FPGA。
其中CPU是最通用的,虽然可能不是其中性能最好的。GPU在性能模型上有些有趣的创新,它比以前更通用,但不像CPU那么通用,但是GPU对于这种高强度工作负载的性能更好。FPGA加速器,它们的效率要高得多。例如,对于特定功能而言,FPGA加速器效率更高,更节能,更具成本效益,但它并不通用。
所谓“超异构计算”,“超”就超在可以把很多现有的、不同节点上已经验证得挺好的晶片集成在一个封装里,把这几种计算整合在一起达到“计算最优化”。我们真正要关注的是性能和通用性的不同搭配组合,因此英特尔我希望提供标量、矢量、矩阵和空间的多种架构组合,部署在CPC、GPU、FPGA和加速器套件之中。
在多架构、多功能芯片方面,英特尔提供了一个端到端的丰富产品线布局。目前,英特尔已经推出了包含CPU、FPGA、AISC等在内的一系列已经芯片解决方案,而且还将于2020推出首款独立显卡,并且预计在2021年推出7纳米通用显卡,完整覆盖了从边缘一直到云端的计算场景。
在多节点和先进封装技术方面,传统的封装就是把芯片平铺在一起,这样有几个缺点,第一是增加了面积,第二是它们之间的连通带宽还需要加速。2.5D和3D封装就是为了解决这些问题,不只是把计算芯片和内存连起来,还能把计算芯片互相连起来,同时还能把芯片像高楼一样分成几层堆起来,这就是先进封装技术。
具体来说,超异构计算整合先进计算单元有以下几个关键点:一是与板级设计一样,用多功能、多架构的芯片处理和加速不同的运算负载;二是把计算单元封装在一个芯片里,但这与板级层面的连接不同,是在封装层设计先进的技术,把带宽放大,同时功耗降低,体积减小,是一种封装集成技术;三是使用这种复杂的超异构模式,不能给软件开发人员增加难度,因此超异构计算还需要统一的异构计算软件。
对于大部分开发者来说,一般是根据软件去选择硬件,而不是反过来,因此英特尔将「统一的异构计算软件」也包含到了「超异构计算」这个大框架里。
也就是说,简化软件开发是超异构的要素之一,英特尔需要以一个统一的软件接口,让客户编程即可扩展到 CPU、GPU、FPGA 和 ASIC 芯片等硬件平台上。
而目前英特尔正在做的工作就是打造 OneAPI。
OneAPI旨在提供一个统一的编程模型,以简化跨不同计算架构的应用程序开发工作,而 OneAPI 也会吸收英特尔在 OpenVINO 等创新平台上的经验。OpenVINO软件开发者工具包实现了跨不同的SVMS(Scalar、Vector、Matrix、Spatial)架构,提供一致、优化的深度学习推理能力。
据了解,OneAPI将支持直接编程和API编程,并将提供统一的语言和库,可以在包括CPU、GPU、FPGA和AI加速器等不同硬件上,提供完整的本地代码性能。
据悉,英特尔将在今年第四季度发布一个One API开发者测试版本,显然,对于AI开发者来说,值得期待。