加载中...请稍后..

人工智能时代你该认识这些芯片

47029   发布时间:2017-11-16

dc97304fd55e49f899160957ea4069d5.jpeg

    

    新的技术革命需要新的武器。

    如果你今天问身边懂科技的朋友“未来是什么时代?”他八成会告诉你是人工智能的时代。

    已经开发了数十年,但在近几年得到迅猛发展的深度学习神经网络技术,正在驱动一次人工智能革命。而革命的对象正是微信、Facebook 等主流科技产品背后的那些科技公司。

    新的革命需要新的武器。酷睿和骁龙们不能满足需求,人工智能计算需要新的芯片。当我们谈起处理器,我们过去谈的是酷睿、GTX 和骁龙——现在是时候了解一些人工智能时代的芯片了。通过本文,我将用比较通俗易懂的语言为你介绍几款主流的深度学习加速处理器。

    GPU,也就是我们常说的显卡,得益于其硬件架构对并行计算支持比较好,最一开始大家都用 GPU 来搞深度学习。一个很经典的例子就是斯坦福教授吴恩达跑到 Google,带队用大量 GPU 做出了一个专门跑神经网络的大规模计算集群,也就是后来的 Google 大脑。

    但在深度学习专家眼中,GPU 仍不是最优的答案。它的性能很好,但耗电惊人。而且另一个搞笑的原因是,由于挖比特币和以太坊需要,显卡到处都缺货,深度学习研究者经常买不到或者买不起。神啊,赐他们一台不挖矿,只跑深度学习的处理器可好?

    即将前往麻省理工学院 (MIT) 担任助理教授的深度学习专家韩松告诉PingWest 品玩,深度学习的计算模式和常规计算有很大不同,高度稳定且不需要很高精确性。“1 乘以 1 可以不等于一”,这是其他计算不能允许的。

    另一方面,深度学习专门硬件的特点是计算高效,缺点是很贵,需要有大量需求开发和使用才比较经济,韩松指出,现在深度学习应用的已经非常广,给人工智能开发专门的计算硬件是值得的。

    Facebook 人工智能研究院院长燕乐存 (Yann LeCun),20 多年前在贝尔实验室就开发过一款名叫 ANNA 的人工智能专门芯片。那时他还在做光学字符识别 (OCR) 研究,而 ANNA 识别字符的速度达到了惊人的 1000 个/秒,比同时代其他处理器都快得多。 你也可以说,ANNA 是最早的“人工智能芯片”,或者更准确来说,深度学习加速处理器之一。

    现在?人工智能芯片多到一双手已经数不过来了。几乎每一家过去的“软件”或者“服务”公司,那些跟硬件一直没太大关系的大型科技公司,比如 Google、亚马逊、微软,都已经开始使用,或者正在研发自己的深度学习加速处理器。

    Google 的人工智能驱动着每一次搜索的结果展现,Facebook 用人工智能来优化用户的时间线,在用数千种语言发布的内容之间互译,腾讯也在西雅图设立了实验室进行人工智能基础研究,尝试将其用在微信等用户过亿的产品中。

    而这种变化对芯片行业的巨头们带来了新的冲击,他们有的发现自己已经过时了,有的正在极速追赶 Google,通过收购的方式拓展自己的产品线,在人工智能芯片市场还未开始论资排辈之前,就先占上一把交椅。

    Google:TPU

    是什么: Tensor Processing Unit(张量处理单元),是 Google 开发的专门目的集成电路 (ASIC) 。

    性能:TPU 已经开发出了第二代,每颗带宽 600GB/s,算力达到 45 TFLOPS (8位整数)。

    它的模组化能力出众,Google 的用法是将 4 颗 TPU 放在一块电路板上,组成一个 180 TFLOPS 的模组“Cloud TPU”,用它们来替换深度学习云机房里的 CPU 和 GPU,单机最多可以拼接 256 块 Cloud TPU,算力达到惊人的 11.5 PFLOPS(下图)。

    用途:前面提到,Google 过去用显卡组建大规模计算集群,能耗较高,训练速度较慢,该公司需要一个专门的计算架构,去更高效地训练和使用深度神经网络。所以 Google 开发了 TPU。

    TPU 于面向大规模低精度的深度学习计算而设计和优化,适合神经网络的训练和推理(在具体用途和场景中运行神经网络)。现在,TPU 不仅 Google 员工的内部工作系统,还支持着搜索、照片、翻译、街景等 Google 旗下产品。就连击败了李世乭、柯洁的围棋人工智能程序 AlphaGo,也运行在 TPU 上。

    微软:HPU 和“脑波计划”DPU

    是什么:HPU 是微软在混合现实头显 HoloLens 里自行设计,并由合作伙伴生产的“协处理器”。具体是用一块 FPGA(现场可编程门阵列),一种非常灵活的半定制化电路实现的。

    “脑波计划”(Project Brainwave) 则是微软前不久刚刚宣布的人工智能硬件加速计划,包括一个大量芯片组成的分布式计算架构,和一套直接运行在芯片上的“操作系统”。脑波计划的硬件核心是 DPU (DNN Processing Unit),也即深度神经网络处理单元——本质上还是 FPGA。

    性能:HoloLens 一代内置的 HPU,能够在 10W 功耗下提供 1TFLOPS 算力。微软上个月刚刚宣布了新一代 HPU,具体细节未知,但可以预料到的是功耗会进一步降低,性能会继续提高。

    至于“脑波计划”,它的信息十分有限,但看起来支持多种 FPGA,目前微软展示的技术用的是英特尔的 14 纳米制程 FPGA。这种芯片单颗计算力约 10 TFLOPS(单精度),功效为 80GFLOPS/W。

    用途:HoloLens 一代已经内置了一块英特尔的 CPU 和集成 GPU,为什么它还需要 HPU?其实,作为混合现实或者增强现实头显,HoloLens 需要确保佩戴者的舒适,降低运动和姿态变化和画面变化的延时,所以它需要结合传感器数据进行海量的计算。但 CPU 和 GPU 主要跑操作系统(Windows 10)和处理图像,没有多余的算力给传感器。如果让它们来做这部分的计算,不但延时高用户会眩晕,也更费电,还抢走了操作系统的算力,提高了蓝屏危险……

    HPU 就是用来做这部分工作的。而在 HoloLens 二代里,微软打算让 HPU 承担更复杂的任务:本地运行深度神经网络。根据有限的信息,HPU 二代可以高功效运行类型非常丰富的深度神经网络,为 HoloLens 加入更多人工智能功能(比如本地图像识别、语音处理等)开了大门。

    至于“脑波计划”,从同样有限的信息来看,它应该是微软为扩展自己的人工智能和云计算生态,和 Google TPU 抗衡而推出的。它的用途和 TPU 应该也不会有太大差异,无外乎对微软自己的产品,以及其团队的科研提供计算支持。微软的云计算服务一直在使用 FPGA,所以向 “脑波计划”迁移应该比较轻松。它支持微软自己的 CNTK 深度学习框架,同时也支持竞争对手 Google 的 TensorFlow 框架。

    英伟达:Tesla 深度学习处理器

    是什么:英伟达是显卡界的王者,但你可能不知道,现在的显卡功能比玩游戏多多了(别提挖矿!)GeForce 是玩游戏的,Titan 系列则步入了 GPGPU 的范畴(可以玩游戏也可以做神经网络训练)。而 Tesla GPU 则是英伟达专为人工智能开发的专业级服务器端显卡。

    Tesla GPU 系列最新产品是 V100,V 的命名来自英伟达最新也最顶级的 12 纳米 Volta 微架构。

    性能:V100 所采用的 Volta 架构,是由 640 枚被英伟达命名为“张量核心” (Tensor Cores) 组成的。你不需要明白 Tensor Cores 到底是什么,只需要知道它很厉害就行。V100 的计算性能达到 15 TFLOPS(单精度)、120TFLOPS(深度学习),堪称人工智能芯片中的核弹了。

    Tensor Cores

    用途:Google 最一开始宣称 TPU 比 GPU 快 30 倍,业界对其赞叹有加。但有个细节是,TPU 第一代只能推理,不能用来训练神经网络。所以当时英伟达还可以说自己是唯一端到端(从训练到推理再到自动驾驶等实际场景)的人工智能计算方案提供者。而 V100 就是这个方案的硬件核心。

    不过英伟达推出 V100 没多久,Google 就开了 I/O 2017 大会,选不了训练和推理都能做的 TPU 二代。即便如此,V100 仍然是截至目前最适合神经网络科研的显卡,用通用图形处理器 (GPGPU/CUDA) 做深度学习这一派的绝对王者。

    英特尔:FPGA、显卡、至强融核和 VPU

    是什么:前面提到了微软在使用的现场可编程门阵列 FPGA,正是由英特尔(所收购的 FPGA 巨头 Altera,现在成为了英特尔 FPGA 部门) 所开发的。简单来说,因为 FPGA 对并行计算支持好,性能高,便于重新编程,功耗比 GPU、CPU 低,FPGA 也是人工智能芯片的一个重要门派(另一家FPGA 巨头 Xilinx 的人工智能产品也很不错,不过篇幅有限就不赘述了)。

    英特尔还收购了 Nervana,组建了一个人工智能部门。这个部门的研究用的是显卡。

    “至强融核” (Xeon Phi) 是英特尔另一款在服务器端抗衡英伟达 GPU 的处理器产品。它的最新款产品并行计算好适合深度学习,它的一个最主要优势是“实惠”,不跑深度学习也可以当 CPU 来用(因为它本来就是 CPU)。

    VPU 则是英特尔收购的另一家爱尔兰公司 Movidius 所开发的低功耗深度学习加速芯片,特色是超小尺寸和功耗超低。

    用 VPU 制成的神经计算棒

    性能:英特尔 FPGA 产品线较复杂,性能多样。显卡方面的信息也不多

    至于 Xeon Phi,计算力大约在 3.5 TFLOPS 左右?

    VPU 采用该公司自研的 Myriad 架构,最大的特色是能够在 1W 或更低功率内,实现 100 GFLOPS 甚至更高算力。

    用途:如果英伟达一发核弹毁灭全球,那么英特尔就是通过多元化的产品线尝试在深度学习市场上分一杯羹。FPGA、Xeon Phi 都是直接推向消费者的云端数据中心里的产品,而身材纤细的 VPU 用途更多样,安装到了大疆无人机、联想手机等产品中,也被英特尔直接做成了即插即用的深度学习计算棒,适合机器人开发等等。

    Intel, Processors

    其他公司

    Facebook:也在开发自己的深度学习芯片,据说在和高通合作。

    百度:XPU,本质是 FPGA,和Xilinx 合作

    地平线:前百度深度学习研究院院长,也在开发人工智能定制芯片,应该是 FPGA

    苹果:没错,苹果也将在新款手机里加入“人工智能协处理器”,信息极为有限。