【新智元导读】去年,英特尔以 4 亿美元收购深度学习芯片研发公司 Nervana,将其作为公司深度学习的核心,并围绕Nervana 在今年年初成立统一的人工智能部门。日前,该部门负责人 Amir 接受新智元专访,针对英伟达GPU和谷歌的TPU谈到了他对目前AI芯片市场格局的看法和相关技术发展态势。他认为,深度学习模型在某种程度上可能朝着暴力计算发展。深度学习将向两大方向发展:一是越来越强的计算力,一是整合异构计算。谷歌 TPU 和 TensorFlow 的优势只是暂时的,英特尔正在开发我们认为比 TPU 第二代更好的芯片。
2016 年 8 月,英特尔宣布以 4 亿美元的金额收购深度学习芯片公司 Nervana Systems,被外界解读为英特尔布局深度学习的重要信号。
一年以来,英特尔围绕 Nervana 做了许多重要的策略调整:3 月 24 日新智元曾报道,英特尔组建了一个统一的 AI 部门 the Artificial Intelligence Products Group (AIPG),由 Nervana 的 CEO Naveen Rao 统领。 产品方面,英特尔计划将 Nervana 技术融入英特尔的处理器产品线,这个计划被称为 Knights Crest,该计划被英特尔寄予厚望,是其在深度学习上发力的重要筹码。
Nervana 已经成为英特尔人工智能技术实力的代名词之一。Nervana 创始人拥有独特背景,是高通神经网络项目研发负责人。Nervana 创业初期以 GPU 技术见长,原本的战略是利用 GPU 建立软件生态,然后再把自己的芯片对接到这个生态上,以便用户可以顺利对接。为此,Nervana 提出了和 Tensorflow 竞争的框架 Neon,Neon 的 GPU 优化做得比英伟达还好。
就在英特尔利用 Nervana 抓紧人工智能布局的时候,人工智能芯片市场也在悄然发生转变,今年 5 月的 I/O 大会上,谷歌推出第二代 TPU,并且通过云服务供用户使用,第二代 TPU 新增了训练的功能。不仅如此,谷歌的用户还能通过专门的网络,在云端利用 TPU 构建机器学习的超级计算机。
另一方面,在 GPU 市场上占据主导地位的英伟达也宣布,将推出新产品 Volta GPU 速深度学习的性能比 TPU 更好。
CPU、GPU 和以 TPU为代表的专用芯片构成了现在深度学习上的三大芯片力量,而它们背后的三大公司——英特尔、英伟达和谷歌都在构建基于自己特长的生态,三家公司不仅在芯片,而且在云端和软件框架上也存在直接竞争,整个市场一片火热。
作为一家老牌巨头,英特尔很少公开谈论自己在深度学习上技术与产品布局。7 月 5 日,新智元采访了英特尔人工智能产品事业部首席技术官 Amir Khosrowshahi。这是Amir 首次接受国内媒体机构的深度专访。
Amir Khosrowshahi 在哈佛大学获得了物理学与数学的学士学位以及物理学硕士学位,并在加州大学伯克利分校获得了计算神经学博士学位。Amir 在2016年随着英特尔收购 Nervana Systems 加入了英特尔,此前是 Nervana的联合创始人和首席技术官。在 2014 年创立 Nervana 之前,Amir 曾在高通公司的神经形态计算部门,从事了一年的模拟 VLSI 传感器研究。他曾有 5 年就读于加州大学伯克利分校,是 Redwood 理论神经学中心的研究员。他在Redwood的研究领域包括实验神经科学、机器学习、分布式计算和计算机视觉。
Amir 认为人工智能和深度学习领域发展很快,谷歌 TPU 和 TensorFlow 的优势只是暂时的,英特尔有更好的产品。芯片或者说处理器只是构建成功机器学习解决方案很小的一方面,从生产到制造到销售一整套流程,要配合才能成功。最关键的是,英特尔不需要与谷歌竞争,“谷歌、Facebook、亚马逊、百度……都是英特尔的客户,所有机器学习框架及其开发者社区,英特尔都乐意支持”。对于市场上相互竞争的框架,以及这些框架和英特尔 Neon 间的竞争,Amir 表示“在英特尔,你能与这些不同的公司都合作”,而不用去管这些公司彼此之间争得你死我活。
关于英特尔内部重量级的深度学习产品 Knights Crest,Amir 说,这是一个长期的项目,最先与世人见面的将是预计于今年下半年推出的 28 纳米芯片 Lake Crest。据 Amir Khosrowshahi 透露,Lake Crest 的特点是有很强的原始计算力(Raw Compute),“是你能在一块芯片上放的原始计算力的极限”。
Amir 力挺 CPU。现在主流的观点是,CPU 处理已经不能满足对计算力的需求,大家都在寻找 CPU 之外可以胜任的协处理器架构,业内最看好的是英伟达的 GPU。但是 Amir 认为,谷歌 TPU 的出现表明或许纯 GPU 并不是最适合的架构。他认为随着人工智能发展,CPU 不仅不会被推到角落,还会愈发重要。他以 AlpahGo 有机结合神经网络和蒙特卡咯搜索树的综合架构为例:如果要做深度学习 + 演化搜索 + 蒙特卡洛树搜索 + ……,CPU 足够灵活。“Nervana 在初创公司时曾经跟 CPU 抗争,很难,现在我们发现这更难了。”
作为神经科学家,Amir 也不看好神经形态计算——类脑芯片的前景。他认为类脑计算从研究来看很有趣,但要成为产品还不切实际。“去模拟一个你还不理解的东西是没有道理的。”Amir 说。
下面是经过整理的采访全文实录。
深度学习不需要那么高精确度的计算
新智元:2016 年 Nervana 被英特尔收购后,说预计 2017 年 Q1 将推出一款芯片Lake Crest 。现在英特尔宣布 2017 年下半年推出这款芯片。为什么时间一再延迟?
Amir:其中一个原因是,当时 Nervana 那款芯片是只为了 Nervana 自己制作的。如果放在 Nervana Cloud 上很快就可以出一款芯片。但是,到了英特尔,需要制作为很多不同客户使用的处理器,这些客户都是大公司,包括谷歌、Facebook 在内,必须要能完美地运行,在乘积单元之外,还需要做很多事情。Nervana 当时的计划是制作一款在 Nervana 的数据中心运行的处理器。到了英特尔以后,我们的策略、规格、质量标准都改变了,我们要把“Nervana 为自己做的处理器”变成“英特尔给大家的处理器”,这是发布时间延迟很大一部分原因。这是件好事,因为英特尔在这款芯片上投入了很多。
新智元:英特尔未来 3 到 5 年的 AI 产品线是怎样的?
Amir:整合了 Nervana 技术以后,英特尔计划推出名为 Knights Crest 的系列产品线。我们最先公布的是 Lake Crest,这是一款 28 纳米的芯片,预计今年下半年上市。这之后,对于深度学习这一块,我认为未来将朝着两大不同的方向发展——一是拥有越来越强的计算力,一是整合异构计算。
深度学习领域发展非常迅速,我们必须做好多手准备以确保万无一失。不同的问题和不同的工作流需要不同的硬件,因此接下来英特尔将有一系列 Crest 产品推出。第一版 Lake Crest 的特点是有很强的原始计算力(Raw Compute),是你能在一块芯片上放的原始计算力的极限。一方面,随着工艺的提升,从 28 纳米到 16 纳米、14 纳米、10 纳米……Crest 产品将拥有越来越强的计算力,浮点计算和峰值性能也会提升。
另一方面,我们会走一条类似图像[处理器]的进程。上世纪 90 年代初,图像处理是在 CPU 上做的,后来有人发明了 GPU(图像处理器),更适合处理图像数据,再后来又有人把这个 IP 放到 CPU 里,所有现在我们有了同时有一堆 CPU 核和 GPU 核的 CPU。这种 CPU 里,GPU 核占的比例会根据使用场景产生变化,有时候很大(比如在手机),有时候(比如在数据中心)则会很小或没有。我认为 Crest 产品线也会这样,在同一个 CPU 处理器里,既有 CPU 核,也有神经网络核——如果是数据中心用,那么神经网络核就会多一些,如果是笔记本电脑用,那么就有神经网络核、GPU 核和 CPU 核。这就是我们对数据中心处理器的预期(vision),现在我们正式公布的只有 Lake Crest,后面的事情不好说。
新智元:后面的事情不好说?
Amir:领域不同的方向在以不同的速度发展。实际部署一个深度学习模型需要的不仅是模型本身,在工程、产品和客户等其他方面也要配合才能成功并赚钱。有些公司的商业周期很长,因为要打磨产品,而单纯看研究,三年后用的技术可能跟三年前完全不同——现在我们用深度学习,三年后我们或许就不用神经网络了,或许用的是完全不同的神经网络……现在研究里我看到令人兴奋的东西太多了,最后哪个会大获成功现在还说不好。所以,为了做好准备,我们有一个多样化的产品组合,在这方面英特尔有 CPU,也有 FPGA,很多。
在研究方面,英特尔最近成立了人工智能应用实验室,我是负责人,实验室里进行很多研究——有些很疯狂——就是为了应对将来使用神经网络以外的技术时,英特尔也有适合的产品。我们针对很多不同的架构都有做开发。举例来说,做深度学习不需要 32 位计算,我们在实验室开发 16 位、8 位到 2 位、1 位的计算架构。
如果我两年前这么说,吴恩达肯定会站出来反对。但现在,吴恩达也是第一批意识到深度学习不需要那么高精确度计算的人。英特尔与百度合作,在百度大脑开始了实验室,专门研究低精度运算。现在,我们研究用于激活的 1 位低精度计算。从 32 位到 16 位、8 位……2 位、1 位,这样从高精度到低精度的发展是必然的趋势吗?还是说到了 1 位,就是与 32 位在原理上完全不同的计算了?这是都开放的问题,我们正在研究。
新智元:你们与百度合作,百度有意向研发自己的芯片吗?
Amir:百度有很强的硬件团队,也在开发自己的 FPGA 产品。但这个问题你得问陆奇(笑)。
深度学习模型在某种程度上可能朝着暴力计算发展
新智元:CPU 的未来会怎么样?
Amir:Nervana 在初创公司时曾经跟 CPU 抗争,很难,现在我们发现这更难了。现在的深度学习模型在某种程度上可能朝着暴力计算发展,需要输入大量的数据才能分辨事物。未来的深度学习模型可能更小、模型利用率更高,这样就不需要几十亿的 TPFLOTS——实际上,深度学习,要成功,要超越竞争者,不仅仅看 TPFLOTS。
另外,有一个很好的例子 AlphaGo,AlphaGo 展现了一种非常有趣的架构,一方面有不同的卷积神经网络,一方面是蒙特卡洛搜索树。两者有机地结合——你很难将两者区分开来。而开发一种架构做这些不同的事情是很难的,因此 CPU 可能是为这种综合架构做计算最好的选择。所以,将来你要做深度学习 + 演化搜索 + 蒙特卡洛树搜索 + ……,CPU 足够灵活。我认为,在未来 CPU 将永远重要(relevant)。
当然,就像我刚才说的那样,要成功不仅仅是靠处理器,还有生态系统和商业模式要考虑,以及真正做出能用、能卖得出去的东西。
硬件团队最该过硬的是软件部门
新智元:去年新智元采访了 Nervana CEO,也是现在英特尔公司副总裁兼英特尔人工智能产品事业部总经理 Naveen Rao,他说英特尔的一大强项是有非常完备的产品组合,能够针对不同的需求提供不同的产品。但正如你所说,技术和市场在快速发展,尤其是人工智能和深度学习。英特尔如何确保自己随时都能满足客户新的需求?
Amir:技术周期是比较长的,这期间芯片的架构确实可能过时,或者有竞争对手出现。但是,在Nervana 也好,在英特尔也一样,我们发现做机器学习是非常难的一件事情——并不是难在你做出一款能解决一切的超级芯片,而是难在周围的事情。谷歌在 2015 年发表了一篇很有意思的论文,叫《构建机器学习系统的技术难点》(注释:实际上论文题为“Hidden Technical Debt In Building A Machine Learning System”,谷歌团队在 2015 年 NIPS 发表)。
论文里面有张图,芯片是中间黑色的小小一块,周围是其他各种工程上的问题,比如安全、延迟……只有集齐了这些才能做出一个好的解决方案。要做好深度学习不仅仅是靠处理器。
当然,话说回来,在英特尔,我们有实验室,在很多很酷很激动人心的项目,我们也有把其中一些做成产品——那就是 AIPG (英特尔的人工智能产品集团)上场的地方——我希望这些将来都能有所应用。在你看见的产品之外,英特尔在研发方面有很大的投资。另一方面,现在你看到的已经做出来的产品,它们之所以存在,不仅仅是由于技术好用,也是因为它们足够稳定可靠。
新智元:确实,除了芯片或者说硬件以外,更多是构建生态系统的过程。在愈发讲究“软硬结合”的现在,英特尔 AI 产品在软件方面有什么布局呢?
Amir:在业内有句话叫,“硬件团队最该过硬的是软件部门”(The hardest part of your hardware team is your software team)。软件团队总是比硬件团队要大得多得多。开发在硬件处理器上跑的软件是一项浩大的工程,在英特尔 AIPG 是这样,Xeon 和 Xeon Phi 团队也是如此。
在软件方面,我特别想说的是 Nervana Graph。你知道,最底层是硬件,然后是神经网络做矩阵乘积,实际上在这中间还有一层,是所有框架都共享的,TensorFlow、Neon、Torch、PaddlePaddle……都使用图、动态图、卷积、嵌入层……虽然 TensorFlow 和 Torch 语言不同,但实际做的运算都一样。我们发现,现在是一个绝好的时机,把所有这些框架共同的特征都放到一个库里,我们叫做 Ngraph,这是一个数据流的图库,在 Ngraph 里图(Graph)是深度学习运算,边缘(Edge)是数据。有了 Ngraph,英特尔作为硬件供应商,就能支持所有的框架,无论你使用哪种框架,新建一个框架也行,我们都乐意支持。
英特尔能与不同的公司合作,而这些公司彼此之间争得你死我活
新智元:软件方面,谷歌推出了 TensorFlow 并且形成了如今最大的机器学习开发者社区,远远超过 Neon。英特尔如何与此竞争呢?
Amir:Neon 与 TensorFlow 不同的地方在于,Neon 有英特尔这家硬件供应商的支持,可以做全栈的支撑。我们能够确保在 Neon 上运行神经网络是最快的。其他的框架,由于不在我们掌控之内,速度可能不会那么好,因为没有做针对性的优化。TensorFlow 也不是完美的,也有架构上的问题。需要记住,TensorFlow 才出现一年,现在领域变化这么快,很可能未来会出现其他框架超越 TensorFlow——可能是 Neon,也可能是俄罗斯来的研究生。我们与 TensorFlow 的竞争都是友好的,我以前实验室的同学就在 TensorFlow。我们相互“竞争”是为了让产品更好。
实际上,英特尔并不会跟谷歌“竞争”。谷歌是我们的客户,Facebook 也是,亚马逊也是。如果客户喜欢用 TensorFlow,我们会专门为他们优化 TensorFlow,我自己就参加了很多这样的会议。我们想要框架运行的速度最快,现在市场上相互竞争的框架这么多,英特尔也为此做了很多投入。实际上,我们之所以加入英特尔,就是因为在英特尔你能与这些不同的公司都合作,而这些公司彼此之间争得你死我活。
我们正在开发我们认为比 TPU 第二代更好的芯片
新智元:谷歌前不久发布了第二代 TPU,与谷歌云绑定,对使用谷歌云的客户提供。从公布的数据上看,你认为 TPU 第二代如何?谷歌将 TPU 和云服务绑定的商业模式呢?
Amir:谷歌 TPU 第二代的细节我们还不清楚,但看公布的性能数据确实漂亮——图像也很漂亮。谷歌是家伟大的公司,说什么就做什么,而且做到,我对此表示敬意。实际上,我们成立 Nervana 时就是以谷歌大脑为目标——Nervana 要做每个人的谷歌大脑。回到技术上,TPU 第一代是很有趣的产品,第一代 TPU 表明为问题定制专门的芯片是未来的发展方向。谷歌很聪明,为他们的数据中心开发了自己的芯片。这表明,对于训练来说,或者就整个架构而言,纯 GPU 也许并不是最好的解决方案。
至于 TPU 第二代,我能告诉你的是,我们正在开发我们认为比 TPU 第二代更好的芯片,这是英特尔核心竞争力所在。而且,我们的产品所有人都能买。TPU 第二代性能数据是很好,但我们很有信心能做出更好的芯片——我们有合适的架构,是可扩展的,可以根据需要变动。和云绑定的商业模式很好,我们在 Nervana 就是这么做的。英特尔也在构建定制的垂直堆栈。总之,谷歌的产品很好,商业模式也不错,但我们手头在做的产品要好更多。
英伟达开源很好,但硬件开源并没有多大用
新智元:你对开源硬件这件事怎么看?
Amir:制造硬件是一件艰苦卓绝的事情。在英特尔,有专门的化学家用化学药剂腐蚀硅晶圆……芯片制作工艺复杂而美妙,可以说是人类所做的最神奇的事情之一。英特尔有自己的工厂,有化学家、计算机科学家、架构师等等等等。生产处理器,设计并不是最困难的,困难的是做出能用的东西。相比直接说,“给,这是这个东西的设计图”,把东西切切实实做出来要困难成千上万倍。只看设计方案,很难做出能用的东西——也许有聪明的人会,但英特尔厉害之处在于从化学到硅晶圆加工到设计再到生产制造,一整套流程,能够产出缺陷少、成本低的产品,消费者能用很低的价格买到。
英伟达开源很好,英伟达有很厉害的工程师——我们团队里就有很多来自英伟达的工程师。但是,制作供大众使用的处理器,开源并没有多大的作用,至少我认为如此。但我是个神经科学家,或许我是错的呢:)
类脑芯片前景:去模拟一个你不理解的东西是没有道理的
新智元:是的,你拥有神经科学背景,Nervana 的芯片也借鉴了神经科学原理。你怎么看类脑芯片的前景?
Amir:类脑芯片或者说神经形态计算在上世纪 90 年代由加州理工的 Carver Mead 提出的,他认为你能用模拟芯片模仿人脑神经元和突触的活动。人脑神经冲动传递是一个逐渐的过程,只有当积累的电量超过一个设定的界限时信号才会通过,因此能耗非常低。Mead 将这个概念进一步发展,认为能制作芯片,用类似的方式进行计算。但是,他并没有认为我们要完全模仿大脑。原始的概念是,你能用非精确的计算要素,结合这种阈值,进行精确的计算。这个概念由来已久,是冯·诺依曼在上世纪 50 年代提出的:你能用非精确的要素制作能够进行精确计算的计算机。这也是我们能从这一思想中汲取的主要灵感。现在,在类脑领域,有脉冲神经网络,在模拟人类的大脑,细粒度、异步、分布式……这些都很好,从研究的角度看。但从实用的角度说,我们现在还不知道如何训练这些系统,让它们在生产上发挥功用。
如今的神经网络跟脉冲神经网络极为不同,可以说是完全不同的领域。确实,如今的神经网络受生物学启发而来,但这种启发十分有限。我研究生物学研究了很长时间,非常清楚我们对大脑的理解还非常有限,无法转换成产品。我们要做产品的是机器学习,而不是神经科学。IBM 的 TrueNorth 等等神经形态芯片都很好,是很棒的研究理念,但是更像是拿着锤子找钉子。我认为,去模拟一个你不理解的东西是没有道理的。
如今的深度学习、神经网络借鉴神经科学的原理。例如,现在有论文借鉴了注意力机制(Attention),这来自心理学。现在的神经网络研究借鉴了很多不同学科的知识,但并不是要去完全模拟这些东西。而且,就算 TrueNorth 也跟真正的神经网络很不同,相似的只有一小部分。人类的神经元非常复杂,还与几十亿其他神经元连接,既有模拟特性也有数字特性。我这样说是因为我是神经科学家——我在入行前做了很多年神经科学的研究,那些认为能够通过模仿大脑构建出类似大脑神经形态芯片的人,很多都不是神经科学家,没有受过我所经受的折磨——做实验拿着探针刺进大脑却不知道究竟要找什么。我热爱神经科学,或许将来我们能从神经科学中找到灵感,能转换为人工智能芯片架构和产品。实际上,英特尔也有类脑芯片的研究。但是,产品还是很遥远的事。