AI芯片业务才是英特尔的未来。去年,英特尔的AI芯片部门创收高达10亿美元,英特尔预计这一市场还会以每年30%的速度增长,有望从2017年的25亿美元增长到2022年的100亿美元。如此看来,英特尔目前以数据为中心的收入占到了其所有部门所有业务的一半,比5年前上涨了大约1/3。
但尽管如此,英伟达(Nvidia)、高通、迈威尔(Marvell)和AMD等公司带来的竞争也日益加剧;Hailo科技公司、Graphcore、Wave Computing、Esperanto和Quadric等创业公司也加入了这场角逐;甚至连亚马逊也有可能威胁到英特尔的收益,因此,英特尔并没没有满足于自己的成就。2015年,英特尔先是收购了现场可编程门阵列(Field Programmable Gate Array,简称FPGA)的制造商Altera,一年后又收购了Nervana,填补了其硬件平台产品的空缺,为全新一代AI加速器芯片组奠定了基础。去年8月,英特尔又拿下了Vertex.ai——这是一家开发平台无关的AI模型套件的创业公司。
然而,英特尔的野心却并未止步于此。在近日的采访中,英特尔副总裁兼架构总经理Gadi Singer以及与英特尔人工智能产品部门高级主管Casimir Wierzynski透露了英特尔在基于光并以AI加速的光子电路和光学芯片方面的积极探索。
Singer表示:“人工智能硬件是一个价值数十亿美元的商机。我们会投资几个产品线,因为该领域的需求非常广泛。其中一些产品(比如加速器等)将侧重于节能,这是这些产品独有的特点。因此,投资这个领域可以让我们的投资组合相辅相成。”
软件
Singer指出,如果硬件上相应软件的开发难度太大,那么硬件将毫无价值。因此,英特尔会绝对不会忽视AI领域的软件生态系统。
去年4月,英特尔宣布开源nGraph——这是一种神经网络模型编译器,它能够在多处理器架构上对汇编代码进行优化。大约在同一时期内,英特尔还推出了One API,这套工具可以将计算引擎映射到一系列的处理器、图形芯片、FPGA以及其他加速器。5月份,英特尔新成立的人工智能实验室免费开放了一个用于自然语言处理的跨平台库NLP Architect,该库可以为聊天助手提供名称实体识别,意图提取和语义分析等功能,同时提供相应的评测。
Singer指出,英特尔已开源的工具包远不止这些。如今,英特尔还提供了神经网络压缩库Distiller,这个库可以从AI模型中去除与目标任务无关的部分,从而达到缩小模型的目的。还有一个增强学习框架Coach,可以让用户将AI代理嵌入到机器人和自动驾驶车辆的训练环境中。
2018年春季,英特尔推出了OpenVINO(Open Visual Inference & Neural Network Optimization,开放视觉推断及神经网络优化),这是一个用于AI边缘计算开发的工具套件,集成了用于目标检测、面部识别以及目标跟踪等一系列预先训练好的AI模型。这套工具适用于传统的CPU,(在使用训练好的AI模型进行预测时)也可以用于FPGA等专门用于推断的芯片,目前这套工具已经被美国通用电气医疗集团等公司用于医疗成像,还被Dahua等公司用于智能城市服务。
Singer表示,OpenVINO旨在打造英特尔的计算机视觉软件开发套件(SDK),这套工具集视频处理、计算机视觉、机器学习以及流水线优化于一身,其使用了Movidius Neural Compute SDK(该SDK中包含一套软件,用于编译、配置并检查机器学习模型)。两者与英特尔的Movidius神经计算API属于同一个系列,目的是为了简化C、C++和Python等编程语言的应用开发。
其中许多套件都运行在英特尔的AI DevCloud中,这是一个云托管AI模型训练及推断平台,其背后是强大的Xeon可扩展处理器。DevCloud提供可扩展的存储和计算资源,因此开发人员能够针对硬件(例如Aaeon Technologies等制造商提供的mini-PCIe开发板)远程进行测试、优化以及模型验证。
隐私
Singer表示,英特尔深知保护隐私是AI训练以及推断的重要发展趋势之一,去年年底HE-Transformer的开源就是英特尔迈出的重要的第一步。从大的方面来说,HE-Transformer是一个建立在微软研究院的简单加密算法库(Simple Encrypted Arithmetic Library,简称SEAL)上的nGraph后端,允许模型对加密数据进行操作。
HE-Transformer中“HE”代表“同态加密”(homomorphic encryption),这种加密形式允许使用算法加密的明文。它生成的加密计算结果经过解密后,与针对未加密文本执行的操作结果完全匹配。
HE-Transformer实际上是一个抽象层,该抽象层可应用于Google的TensorFlow、Facebook的PyTorch和MXNet等开源框架上的神经网络。
Singer表示:“我们相信安全和隐私极其重要。这实际上是大规模机器学习的基本条件。例如,如果你需要获取多家医院的很多患者的信息,那么隐私问题就会变得非常重要。即使你想了解这些人的行为和动作,但是如果你无法保护他们的隐私,那么他们就不会允许你访问这些数据。”
在谈到英特尔是否会继续开发类似于Google TensorFlow Privacy(这个库采用了一系列统计技术来保证AI模型训练的隐私)的机器学习库时,Singer表示相关的工作正在进行中,他说:“现阶段我们还不想讨论这个问题,因为我们的深度学习能力还处于早期阶段,但是我们非常有兴趣,也愿意投资这方面。”
加速器与FPGA
绝大多数AI系统核心的神经网络的构成元素是神经元,即近似模拟生物神经元而建模的数学函数。这些神经元分层排列,它们通过“突触”(synapse)连接,将信号传递给其他神经元。这些信号(提供给神经网络的数据,或者叫输入)在层与层之间传播,并通过调整每个连接的突触强度(权重)来逐步“调整”网络。经过一段时间后,神经网络就能从数据集中提取特征,并识别出跨样本趋势,最终学会预测。
神经网络无法摄取原始的图像、视频、音频或文本。训练数据集的样本需要经过代数转换后变成多维数组,例如标量(单个数字)、向量(有序的标量数组)以及矩阵(排列成多行多列的标量)。还有一种实体类型叫做张量(tensor),它概括了标量、向量和矩阵,并提供了线性变换(或线性关系)的功能。
例如,一张包含数百万像素的图像会转换成超大的数字矩阵,而音频记录中的单词和短语可以映射成向量,这种技术称为嵌入。
毫无疑问,在处理这些统计操作时,有些硬件的效率更高。一般来说,处理器足以处理一些涉及到复杂顺序计算的推断和训练,特别是像英特尔第二代Xeon可扩展CPU,它结合了向量神经网络指令以及名为DL Boost AI的深度学习软件优化。因此,英特尔声称其第二代Xeon可扩展CPU可以将AI工作负载上的性能提高到2.4倍(这些工作负载占数据中心推断的60%),同时可以将推断工作负载的性能提高到14倍,其中包括图像识别、目标检测和图像分割等。英特尔还声称其即将推出的10nm Ice Lake 处理器能够提供比市场上同类产品最多高8.8倍的AI推断吞吐量。
然而,一些最苛刻的深度学习涉及张量操作,而显卡以及专用集成电路(Application Specific Integrated Circuit,简称ASIC)的芯片更有利于这些操作。这是因为这些芯片包含数千个能够并行执行数百万次数学计算的内核。
Singer表示:“尽管CPU对于推断非常有效,但是有些情况下需要进行张量操作。深度学习中最苛刻的任务需要处理多维数组,而且还需要进行张量上进行多种算术运算。从解决方案体系结构的角度来看,我们应该从优化软件和其他硬件功能方面不断强化CPU,然而仅靠CPU本身并不足以处理所有这类情形。”
英特尔拥有16nm Myriad X VPU这样的视觉处理器,它的优化图像信号处理和推断设备具有立体声模块,可以处理最高180Hz的双720p视频源,还拥有采用硬件编码的可调信号处理器流水线,能够对来自8个传感器的最大4K分辨率的视频进行编码。此外,它还配备了英特尔的神经计算引擎,这是一种专用的硬件加速器,具有本地 FP16支持和8位定点支持。
英特尔声称,这款芯片在全速运转时可以达到每秒4万亿次计算和每秒1万亿次运算的专用神经网络计算,是其前身(Myriad 2)在深度神经网络推断性能的10倍。
FPGA 与专用的加速器不太一样,因为它们的硬件往往针对通用的、更广泛的计算和数据功能。但它们在可编程性方面确实有优势,因此开发人员能够在成品上对它们进行配置和重新配置。这可能是微软为Project Brain Wave选择英特尔Stratix 10 FPGA的原因之一,Project Brainwave是一项针对加速深度神经网络训练与部署而优化的云服务。
英特尔在Agilex上提供了最先进的FPGA解决方案,其最新的10nm嵌入式芯片组旨在解决企业网络和数据中心的“以数据为中心”的难题。
Agilex产品具有可定制的异构3D系统级封装,包括模拟、内存、计算和定制 I/O 组件——其中包括 DDR5、 HBM,还有一块Intel Optane DC。它们得到了英特尔One API的全面支持,并且还提供了迁移到ASIC的解决办法。
英特尔声称,与英特尔老式的14nm Stratix10FPGA相比,Agilex FPGA的性能提高了40%,总功耗则降低了40%,这部分要归功于他们的第二代 HyperFlex 架构。
Nervana
早在2017年,英特尔首次宣布其正在研发的两款AI加速器芯片:一款用于推断工作负载,另一款用于训练。今年1月份,英特尔在消费电子展(Consumer Electronics Show,简称CES)新闻发布会上进一步详细介绍了这款推断产品。它被称为Nervana神经网络处理器(Nervana Neural Network Processor,即NNP-I),它适用于PCIe插槽(或基于OCP加速器模块规格的夹层板),采用10nm工艺制造,并涵盖了基于英特尔Ice Lake架构处理器的一般性操作,以及神经网络加速。
NNP-I针对图像识别进行了优化,其架构与其他芯片截然不同;它没有标准的缓存层次结构,其处理器内嵌的内存由软件直接管理。Singer表示,由于其高速的芯片内外互连,NNP-I 能够将神经网络参数分散到多个芯片上,从而实现非常高的并行性。此外,它还使用了一种新的数字格式—— Flexpoint,这种格式可以提高推断任务中至关重要的标量计算,让芯片能够适应大型机器学习模型,同时保持“行业领先”的功耗。
Singer表示,“图像可能是最适合加速器的情况,因为很多图像识别功能都是矩阵乘法。“自然语言处理和推荐系统需要更多的混合类型的计算,该CPU核心可以在本地执行大量的张量活动和 CPU 任务,而无需将数据移出芯片。”
NNP-I的量产仍然任重道远,但Singer表示,它已经在英特尔的实验室中运行了多种拓扑结构。他预计今年有望投入生产,支持Facebook的Glow Compiler——这是一款机器学习编译器,旨在加速深度学习框架的性能。
上述代号为“Spring Crest”的加速芯片Nervana Neural Net L-1000可能与 NNP-I 一起出现。这种16nm 芯片的24个计算集群提供的AI训练性能是同类芯片的10倍,是英特尔首款NNP芯片Lake Crest的3-4倍。
Singer不愿透露更多信息,但他表示,有关Spring Crest 的更多细节将在未来几个月内公布。
光子集成电路
根据英特尔AI产品部门内负责硅光子组的Wierzynski所说,NNP-I和Spring Crest之外的芯片可能与如今的AI加速器芯片截然不同。目前,光子集成电路(光学芯片的基础)的工作正在进行中,与同类电子集成电路相比,光子集成电路有许多优点。
Wierzynski表示:“几年前,麻省理工学院出版的一篇论文吸引了我的注意。文中提到了在电子产品使用光子。光子具有非常好的特性,它们可以在物质中快速移动,而且你可以通过一些方式控制光,让它为你做有意义的事请。”
Wierzynski指的是总部位于波士顿的光子技术创业公司Lightelligence首席执行官沈亦晨,与师从麻省理工学院物理系教授Marin Soljacic的一名光子材料的博士学生于2017年在《自然光子学》杂志上发表的一篇研究论文,文中描述了一种利用光学干涉实现神经网络工作负载的新方法。
Wierzynski说:“加速深度学习的关键问题之一是,在芯片越来越小的情况下,如何满足这种延迟越来越低的需求?我们在挑战硅芯片的极限。这说明一方面你需要一定的计算性能,同时又需要在一定程度上控制功耗。”
为此,像Lightelligence这样的光学芯片只需要有限的能量,因为光产生的热量比电少。而且光也不易受环境温度、电磁场和其他噪音的影响。
此外,采用光子的设计中,延迟比硅材料改善了10,000倍,同时功耗水平还降低了几个数量级。在初步的测试中,与最先进的电子芯片相比,某些矩阵矢量乘法运算速度提高了100倍。
Wierzynski说:“我们希望你能够使用与人们现在使用的AI模型很相近的模型。我们也正在学习更多关于如何大规模构建光子电路的知识。这听起来很像《星际迷航》。”
然而,这并非一件易事。正如Wierzynski所指出的那样,除了矩阵乘法之外,神经网络还有第二个基本特征:非线性。如果没有非线性,那么神经网络只能简单地计算输入的加权和,而不能做出预测。遗憾的是,关于在光学领域中可以执行何种非线性操作的问题仍然存在。一种可能的解决方案是,在同一芯片上结合硅和光学电路的混合方法。Wierzynski表示,神经网络的一些部分可以采用光学的方式运行,而其余的部分则仍以电子的方式运行。
但是,这并不能解决光学芯片的缩放问题。速度非常快的光子电路需要快速的存储器,而且还需要将所有元件(包括激光器、调制器和光学组合器)全部封装在大约200毫米的晶圆上。
Wierzynski说:“任何制造过程中都存在不完善之处,这意味着芯片内部和芯片之间会有细微的变化,这些会影响计算的准确性。”
幸运的是,他和同事们正在努力寻找解决方案。在最近的一篇论文中,他们描述了在马赫-曾德尔干涉仪(Mach–Zehnder interferometer,简称MZI)上构建AI系统的两种架构,MZIs 是一种光子电路,经过设置后可以在两束光的相位相关的量之间执行2×2矩阵乘法。
在基准手写数字识别(MNIST)的深度学习任务上,对这两种体系结构进行模拟训练后,研究人员发现,在双精度浮点的精度下,GridNet 的准确度比FFTNet更高(98%对95%)。重要的是,FFTNet表现出强大的稳健性,即使加入了人工噪声,它的准确率也从未低于50%。
Wierzynski表示,这项研究为人工智能软件训练技术奠定了基础,可以避免在制造后对光学芯片进行微调,因此省时省力。
他补充道:“这是英特尔在过去几十年中为光电路开发的非常复杂的制造技术,同时英特尔也赋予了这种技术一个全新的目的。虽然目前这种技术还处于初期阶段,这个领域内还有大量工作需要做,但我已然兴奋不已了。”