英伟达“AI霸权”重压当前,看挑战者们如何一战?| 独家专访Intel、深鉴科技、Allone

0
计算
英伟达“AI霸权”重压当前,看挑战者们如何一战?| 独家专访Intel、深鉴科技、Allone
麻省理工科技评论 67天前 0

67天前

进入 21 世纪后,网络应用成为主流,计算机成为必备。
人工智能 英特尔
进入 21 世纪后,网络应用成为主流,计算机成为必备。

在 9 月底刚刚结束的 NVIDIA 北京 GTC(GPU 技术大会)上,黄仁勋发布了最新的 AI 深度学习方案布局,通过架构的改善,及新版开发工具的推出,除维持过去强势的学习性能外,更在推理效率超越了所有竞争对手,就连 Google 新推出不久的 TPU 2.0 也要甘拜下风。 

640.png

图丨黄仁勋在 2017 北京 GTC 上做主题演讲(图片来源:DT 君)

但作为深度学习的另一热门方案,也就是近来被视为 GPU 地位最大潜在挑战者的 FPGA(现场可编程门阵列),是否就这样被 NVIDIA 的气势所压倒?那也未必。FPGA 在应用上的弹性,以及本身具备的超低延迟特性,都让其在多家一线云端服务大厂的服务系统架构中占有一席之地,未来通过工艺的演进,以及算法的改良,都可再压榨出更大的潜能。 

相比之下,NVIDIA 有强势的架构设计,其所发表的 TensorRT 更是把生态紧紧绑在自家 GPGPU 身上。然而,Intel 的 FPGA 方案反而改走兼容大度的路线,买下 Nervana 之后,其开发工具不只可针对自家 Altera 的 FPGA 支持最优化,甚至也可同步支持 GPU 计算的开发。虽然从 NVIDIA 的角度来看,他们肯定不希望 FPGA 介入 GPGPU 的 AI 计算生态。但是从 Intel 的策略布局及一线云服务大厂的做法观察,考虑到未来计算内涵会越来越多元,若能结合多种计算架构,互相搭配,各自负担部分擅长的计算工作,并以统一的生态框架来避免开发上的问题,或许才是整个 AI 产业,或相关云服务厂商真正的长期发展目标。 

针对异军突起的 FPGA 解决方案,DT 君日前分别对该领域最具代表性的三家厂商进行了系列专访,包括 Intel 人工智能事业部首席技术官 Amir Khosrowshahi、深鉴科技 CEO 姚颂,以及台湾的 Allone Solution 公司创始人刘淑敏。以下是本次 FPGA 系列专访的重点内容:

 

核心架构:Intel 人工智能事业部首席技术官 Amir Khosrowshahi

Intel 目前积极在全球布局其 FPGA 生态,10 月 3 日在台北举办 AI Day 展示其技术研发结果,原本在 Nervana 工作的 Amir Khosrowshahi,也随着 Nervana 被并购进入 Intel,出任人工智能事业部(AIPG)副总裁兼 CTO。会后 DT 君也对 Amir 进行了专访。  

针对 Nervana 目前的平台支持状况,Amir 表示,Nervana 的发展目标就是为了要解决问题,当初 AI 计算以 CUDA 领导的 GPGPU 生态为主,Nervana 理所当然的把 GPU 计算与生态开发当成第一目标。但随着 Xeon Phi、FPGA 等计算生态也逐渐成熟,Nervana 把发展重心也逐渐转移到后者,但作为融合不同计算架构的接着剂,过去的技术积累不会轻易放弃,Nervana 同样能支持各家最新的架构,包含 NVIDIA 的 Volta,以及随着 Volta 发表的最新一代开发环境 TensorRT 的所有特性。

当然,谈到 NVIDA,Amir 也表示其 Volta 架构所集成的 Tensor Core 是个相当有趣的东西,但 Amir 也强调,Tensor Core 的概念其实并不是很新奇的东西,作为辅助的向量加速计算架构,其实早在超级计算器 CRAY 当中出现,也不是 NVIDIA 才有集成这样的加速架构,未来 Intel 下一代 Xeon Phi 产品,代号 Knights Mill 也将加入了针对向量计算加速的两大指令,也就是 QFMA 以及 QVNNI,可大幅加速机器学习以及推理能力。而 Xeon Phi 相较起 GPU 架构,具备更大的内存支持能力,其对于 AI 应用的计算效率表现理论上会更优秀,且可有效避免数据传输的瓶颈产生。

Amir 谈到 Nervana Engine,也就是集成 FPGA 与 HBM 内存的高效能深度学习架构,特别强调 FPGA 是个延迟非常低的架构。由于集成庞大的片上内存,学习的数据与产生的模型可以放在本地端内存,不需要做额外的数据迁移动作,可大幅减少对总线带宽的消耗。但随着 AI 的发展,其实社会上也出现了不少针对 AI 应用的疑虑,虽然说开发者开发 AI 的原意都是为了要改善社会,不论是增加产能,或者是改善交通安全,但随之而来的各类型应用,让人类产生害怕被取代的声音。

对于这个充满争议的问题,Amir 对 DT 君表示,AI 是中立的,为了建构 AI 所学习的数据也是中性的,理论上不存在偏差,而 AI 基本上都是针对性的应用,比如说飞机有飞机的 AI,汽车有汽车的 AI,这些个别 AI 都是设计来辅助人类,并没有一个 AI 取代所有应用的状况。当然,部份取代在所难免,但从过去技术的发展轨迹观察,当新的技术推出后取代了部份人类的工作,也会有相对应的工作机会产生,所以其实对 AI 产业还是可以保持审慎乐观的态度。

  

有效减少神经网络核心复杂度:深鉴科技 CEO 姚颂

 深鉴科技是近期在人工智能领域迅速崛起的一家初创公司。深鉴提供的核心服务主要就是一套深度压缩(deep compression)算法,通过此算法,可降低在机器学习后最终产生模型的复杂度,结果就是更加快速的推理过程,以及更加精简的存储空间需求。 姚颂也特别跟 DT 君仔细说明了这套算法的核心逻辑:由于机器学习过程中产生的数值表,其实大部份内容都会是零,透过深鉴发展出来的算法,可自动剔除这些只是用来填空用的数值,只保留有意义的部份。

但姚颂也强调,由于这套算法非常严谨,为了避免误判,而剔除不该剔除的部份,使用这套算法通常会延长机器学习所需要的时间,旧版算法需要人工操作,确认应该剔除的部份,但随着版本的更新,目前多余数据的剔除已经可以作到完全自动化。虽然需要的计算时间因为计算复杂度的关系,并不会缩短,但自动化流程可减少人工干预,让人力可以用在更有意义的工作上。 

目前,深鉴也利用 Xilinx 的 FPGA 开发了自有的 DPU 方案 Aristotle(亚里士多德),这个方案基于 Zynq 7020 SoC 架构,支持包含 1x1、3x3 的 CNN(卷积神经网络)操作,这个架构主要针对视频、图像的识别,由于架构的可延伸性,此方案也常被应用于包含服务器或者是像无人机、汽车、安防监控、机器人等应用中。另外,Descartes(笛卡尔)方案则是针对语音识别的架构,与 Aristotle 不同的是,此为针对 RNN(循环神经网络)技术,内置了神经网络压缩技术,可大幅加速语音识别的效率。深鉴科技目前正在与全球一线科技公司合作来推进这套方案的部署,同时,此方案目前也被其他国内厂商所采用。 

姚颂表示,由于深鉴的算法都是自主开发,虽然指令集与编译程序都属于非常成熟的阶段,但为简化开发复杂度,目前还是通过 Xilinx 的 FPGA 架构来构建方案。但将来也不排除开发”硬”化的 DPU 架构。而深鉴也在算法方面,为合作伙伴提供专业的技术协助。比如说合作伙伴之一联发科,目前在发展自有的汽车芯片,而在关键的图像辨识算法方面就在与深鉴科技进行合作,希望利用深鉴在算法方面的优势,大幅加速未来基于联发科汽车芯片的图像处理能力。

970.jpeg

图丨Kirin970

另外,姚颂还表示,目前也在与合作厂商开发类似 Kirin970 的终端 AI 处理能力,这部份进度和细节目前还不方便透露,但预期计算水平将可和业界主流方案相提并论。

 

边缘计算:致力改善 AI 传输瓶颈,Allone Solution 公司创始人刘淑敏

Allone 创始人刘淑敏在创办这家公司之前,曾经在半导体公司从事 CPU 设计的工作,对于相关技术研发工作有着极为丰富的经验。 目前 Allone 主要业务是协助客户把算法集成到 FPGA 之中,从而加速应用计算效能,而 Allone 本身也具有技术开发能力,且拥有不少关于存储的关键技术,比如说拥有 SATA Phy 等核心专利,表面上和 AI 产业并没有太大的关系,但实际上,AI 计算时需要大量的数据流出与流入,这对于网络以及系统总线会产生庞大的压力,事实上,根据刘淑敏的说法,不少 AI 架构都处于因为计算速度太快,导致系统总线来不及喂数据的窘况。

Allone 除了协助客户把算法硬件化以外,也同时开发基于 FPGA 存储子系统加速单元,通过高效率的数据压缩处理技术,可以大幅减低系统总线的负担。目前的 AI 生态,从终端收集完数据传到云端,再把模型从云端传回到终端的过程,延迟太高,使用者的体验不佳,所以需要建立相当数量的边缘计算架构,借以分担云端的计算、传输负担,加速整个传输过程,让云端到终端的延迟削减到最小,甚至在终端或边缘端就做好计算工作。

不论是物联网、汽车、零售业等,多数计算都发生在数据产生的地方,如果能在数据发生处就做好神经网络计算,那就可以大幅降低云端的负载。当然,边缘计算仍只是云端计算的补充,即便是未来终端的 AI 应用,也无法完全取代云端计算。

刘淑敏也向 DT 君表示,中国大陆发展 AI 的速度相当惊人。目前大陆的制造业转型非常快,不少原本做电器或者消费性电子产品的公司也开始纷纷加入 AI 的行列,这些公司不一定会建自有的计算服务,但多半还是会和特定云服务结合,随着产品出货的增加,以及市场热度的增温,产生的数据也越来越多,对存储以及相关边缘计算的需求一定会带起来,而这也是 Allone 瞄准的主要市场目标之一。

  

从 CPU 到 FPGA,半导体技术将 AI 理论变为现实

AI 的概念发展极早,早在 19 世纪初期就有人提出图灵测试的概念,假设机器能拥有人类智能,并依此推理设计了相关判断方法。而在 1950 年代,类神经网络的概念被提出,如果利用数学来对神经元的动作进行仿真计算,理论上能建构出模仿人类观察、学习、判断事物的人造对象。当然,这个时期还没有半导体技术的支撑,所以这些概念只是停留在理论阶段。 

而我们现在讲的机器学习与逻辑判断的概念,也同样出现在半导体技术面世之前,Herbert Simon 在 1960 年代提出用算法对人类推理的过程进行仿真,而这类算法也成为现今 AI 计算的基础。当第一个 CPU 在 1971 年被发明出来,AI 这种很早就被提出来的理论科学却没有跟着起飞,最初受惠的反而是科学、商业等应用。这时业界都在讨论商用智能或专家系统,离 AI 概念还很远。

进入 21 世纪后,网络应用成为主流,计算机成为必备。而后手机等各种智能终端也不断推陈出新,市场也越来越重视智能这两个字在产品中所能代表的意义。也因此,从云到端,我们都可以看到不同计算架构上开始把这些提出已超过半个世纪的 AI 概念整合进去,提供更多元化的服务,甚至,有些 AI 也开始做起人类的工作。

以上是以 AI 本身的发展历程来解说,但如果是以半导体技术的发展为依归,可以分为四个大阶段,分别为 CPU、GPU、混合式架构、以及包容所有架构的 FPGA。最早被用来做 AI 相关的计算工作的还是以 CPU 为主,CPU 有其天生限制,比如说其指令集天生缺乏效率,X86 指令集极为古老。把多数复杂操作包成单一指令,虽可节省存储空间,但效率低,而 RISC 指令集架构则是相对做了许多简化,为了描述完整的计算内涵,程序复杂度却也因而提高,增加了对存储空间的需求。 

但后来 X86 引入了管线设计与单一指令多重处理的概念,用以增强效率,RISC 方面除指令集的落差外,发展脉络也和 X86 架构相似,并导入不少向量加速单元的设计,强化处理特定数学计算的能力。这些向量加速单元其实功能就如今日的 Tensor Core 或 TPU 单元,概念上一致性相当高。

但数十年前工艺实在太落后,即便芯片设计概念和现在落差不大,但在规模、功耗以及成本方面无法与在相提并论。加上计算机应用在一般消费市场极为冷门等客观条件限制,除了少部分艰深的科学计算以外,很难普及到一般应用中。

然而 CPU 还有另外一个弱点,那就是循环、分支预测错误造成的延迟,虽然可以通过架构的设计来尽量避免,但必须付出相当可观的成本,也因此后续才有更多 AI 的专用架构推出,毕竟只靠 CPU,是无法满足 AI 计算所需要的效能。这个时期的 AI 计算工作虽然已经有学习以及建立模型的概念,甚至也发展出类神经网络技术,但都只是停留在科研的层面,且因半导体技术的落后,无法进行太复杂的计算。

随后,AI 在学习的规模上借助 GPGPU 的帮助得以大幅增加,在各种科学计算,以及视觉处理方面,GPGPU 展现出了极高的弹性以及效能表现,但是在推理部分,由于 GPU 能够处理的数据精度固定,虽对学习的高速计算目的帮助很大,但用于推理就有点杀鸡用牛刀的感觉,一来推理不需要用到太高的精度,二来又要兼顾带宽限制以及存储需求。

而 GPU 本身仍需针对传统应用,也就是绘图功能优化,无法针对 AI 的需求进行完全改造,因此,TPU 这种向量计算架构也应运而生,TPU 本身可针对低精度计算优化,且结合大量的片上内存,模型的存取与计算可直接在本地完成,不需要太多数据迁移,因此有效环节传输瓶颈。

TPU 发展到第二代,除了原本一代 TPU 就具备的推理能力,也增加了效率不错的学习功能,让 TPU 一跃成为完整的 AI 方案。但是 TPU 是 Google 用来验证 TensorFlow 的试验性硬件,并非真的要用来打相关方案市场,反而 Google 会希望业界参考相关做法,可真正设计出为 TensorFlow 优化的计算硬件设计,帮助扩大相关的生态。

640 (1).png

所以 NVIDIA 在其最新的 Volta 架构中导入了 Tensor Core 设计,而 Google 也在第一时间在其云端服务器上导入了 Volta 架构,就可证明,这是 Google 引导市场风向的一贯做法,并非真的要加入直接竞争的局面。但 Google 的如意算盘虽然打得精,但业界也未必都会选择 Google 这条路,GPU 目前只有两家能够供应,而在 AI 领域基本上就是 NVIDIA 的独角戏。TPU 架构概念其实很单纯,那就是加了庞大片上内存的向量加速单元,架构本身并不特别,现在 NVIDIA 有了 Tensor Core,Intel 则是增加了 QFMA 和 QVNNI 两种向量加速指令。 

最后是 FPGA,其发展其实仅略晚于 CPU,其现身于 1980 年代,由 Xilinx(赛灵思)发明。FPGA 最大的优势在于其逻辑电路可完全自定义,要用 FPGA 做到 CPU、GPU 功能,甚至专用的数学计算单元,如 DSP 等,基本上都不是问题,只要开发者够有创意,透过烧写 FPGA 内部固件程序,就可赋予 FPGA 全然不同的功能。 

虽然性能优秀,仅略低于固定功能的 ASIC,且拥有强大的可自定义能力,但是在 AI 领域,FPGA 其实发展的比 GPU 还要晚,就是因为弹性太大,业界缺乏足够好的开发工具来探索 FPGA 的真正潜力。业界如果要采用 FPGA,那就是要从头到尾都自己来,在开发工具完整性不够的情况下,开发旷日废时不说,FPGA 芯片成本又高,且相较于其他主流计算架构又更耗电,所以在应用上主要还是针对军工、医疗等较封闭的应用,消费性应用少之又少,也难打入服务器架构。即便 AI 议题渐热,FPGA 仍被闲置在冷宫相当久一段时间。 

不过随着时间过去,各 FPGA 大厂都开始关注 AI 应用在云端以及终端的潜力,开发工具也终于逐渐完善,并支持各种主流 AI 标准,FPGA 在 AI 应用方面的计算潜力也才真正有了发挥的空间。 不过 FPGA 不仅止于 AI 相关的计算,由于 FPGA 过去担当各种数据传输主要干道的核心整流工作,面对 AI 所带来的庞大数据流,不只是输入,或者输出,如果没有一个高效率的管理核心来进行数据的压缩、导流,那么就算担当 AI 计算的核心再怎么强大,那整体效率还是高不起来。而这也就是 FPGA 之所以担任“超强黏着剂”的意义所在。

目前 FPGA 不只能担当 AI 的计算部分,也可和不同架构协同处理,共同解决 AI 计算中的各种问题,毕竟 CPU、GPU、TPU 等架构主要还是针对计算的部分,数据传输还是需要外部组件来处理,FPGA 就可很好的扮演协调数据传输的角色,而当有需要时,又能介入处理 AI 计算,可说是进可攻退可守。

目前 FPGA 主要有 Altera、Xilinx、Microsemi、Lattice 等几家供货商,而各自专注的市场目标也有不同,但 AI 计算发展算是其中一个共同的方向。另外,目前高阶 FPGA 也都开始走向 SoC 化,比如说 Xilinx 的 UltraScale 系列,Altera 的 Stratix 系列等。由于前两大 FPGA 供货商就占了全球约九成市场,所以针对这两大 FPGA 供货商进行简单介绍。

 

Xilinx

xllx.png

FPGA 的发明者,主要针对高端 FPGA 应用发展,其目前主推的开发环境为 Vivado HLS(High-Level Synthesis),可以直接使用 C,C++ 以及 System C 语言规范进行编程,无需手动创建 RTL,从而可加速 IP 创建。当然,前者是为了那些希望从头打造自有方案的客户提供的开发环境,针对主流的 AI 学习方面,Xilinx 也推出 reVISION 堆栈,针对机器视觉、机器学习等应用优化,完整支持了 OpenVX、OpenCL、Caffe 等主要标准,并支持了 AI 所需要的学习以及推理流程,协助客户快速建构完整的方案。

Xilinx 就推出集成 ARM 核心的 SoC 产品,从低端的 Zynq-7000 系列,到高端的 Zynq UltraScale 系列 MPSoC/RFSoC,从基本的储存、马达控制,到 ADAS 驾驶辅助系统,甚至自动驾驶与基站通讯核心等等应用。

soc.png

图丨Xilinx 的 SoC 系列产品(数据源:Xilinx)

Xilinx 目前占市场超过 53% 以上的份额(以营收比重区分),其完善的开发工具可说功不可没。过去专注高端方案的推出,也成功确保了获利。

  

Altera(Intel)

al.jpeg

Altera 过去在 FPGA 市场的经营并不算成功,主要是因为过于集中在中低端市场,导致营收明显不如竞争对手。被 Intel 并购之后,其实也有不短的时间找不到方向,原本 Intel 期望借助 FPGA 之力来对抗 GPGPU,但是在开发生态明显不如 NVIDIA 的状况下,只好缩回头继续打磨生态,期望有新的应用可以让 FPGA 重新发光,且最好能够统整 Intel 自家的主要计算架构,构成足以和 GPGPU 对抗的坚实生态。

而并购 Nervana 可以说是 Intel 最重要的一步棋,通过 Nervana 提供的一站到位式套件服务,开发者可以快速开发出针对不同行业应用的方案。Nervana 过去最令人称道的,就属于其针对所有 AI 计算应用支持的广泛性,由于基于号称现有计算理论上最快的矩阵操作算法 Coppersmith–Winograd algorithm,原本矩阵算法算是 GPU 的长处,但 GPU 针对的是计算器图学应用设计,并非 AI 优化,理论上,如果有专用架构,使用针对 AI 优化的专用矩阵,那么效率会比 GPGPU 更高。

当然,这也是 Intel 打的如意算盘之一,通过 Nervana 的算法,Intel 的硬件,打造出不输给 NVIDIA 的 CUDA 生态。 继 2015 年并购 Altera 之后,2016 年并购的 Nervana 为 Intel 带来更多元的生态支持能力,也具备了支持多种不同 AI 计算架构的基础,Nervan 允许客户同时使用 GPGPU、Xeon Phi 甚至 FPGA,但只要通过 Nervana,就可以无缝衔接这些计算能力,达成更高效能,或者更多元化的应用方式。

当然,Intel 的长期目标肯定还是会以自家架构取代竞品,但短期之内,Nervana 对于开发者的友善程度,以及高效能的表现,仍可有效协助 Intel 打通过去因为开发工具包不够友善、支持性不够广的关系,改选择 CUDA 等敌对生态的客户。

 

FPGA 已全面融入全球主流云服务商

目前几乎所有云服务企业都已经先后导入 FPGA 架构,协助处理整个云端 AI 计算的瓶颈。而各家方案的选择,微软使用的是 Altera/Intel 的 FPGA 方案,Amazon、百度、腾讯则是使用 Xilinx 的方案,Google 在硬件的选择上,则是混合 GPGPU 和 TPU 方案,完全没有采用 FPGA 架构,主要是因其自用开发方案 TPU 和 GPGPU 都配合 TensorFlow 框架优化,目前 FPGA 还无法完全配合这么彻底之故。

在深度学习方面,自然语音识别已经成为各家云服务公司的核心项目之一,Amazon 正试图通过 FPGA 方案来加速 Alexa 的反应速度,微软也期望透过 FPGA 在推理的优势效率,改善其语音秘书 Cortana 的识别正确度与响应速度。Google 的语音助手是目前最优秀的 AI 语音助手之一,但其并非通过 FPGA 加速,而是采用自家的 TPU 结合 GPGPU 方案,分别从学习与推理的效能着手,配合自家优势的搜索引擎,改善辨识正确性。 

百度与腾讯的语音服务目前绑定的服务要比其他国外云服务厂商更多,但是在自然语言辨识能力方面还是要稍弱后者,但未来语音助手也会随着 FPGA 架构的导入而有所优化。

麻省理工科技评论

From Tech to Deeptech

908

文章

0

关注

0

粉丝

全部评论

ALL COMMENT

写评论/回复麻省理工科技评论 取消

加载更多