最近在一群探讨技术的朋友当中最热门的话题就是” NVIDIA ”凭什么,在前几年历经 GPU 架构设计不如预期、跨入手机平板装置后又淡出,却同时也成功进军车载,且在短短时间内首席执行官黄仁勋还被外界喻为 AI 教父,这一两年只要谈到 AI 几乎都不会少谈到 NVIDIA ,但对极早就投入 AI 相关技术的企业来说,看到 NVIDIA 如此风光,当然心底不是滋味。
AI 并不是一个全新的概念,在有电脑之后一直以不同的名词出现在科技发展史中,从最早的 AI 人工智能,到前几年的大数据分析,演进到最近的机器学习/深度学习,指的都是 AI 在不同时代的发展型态。
AI 技术之所能突破,是由于软件与硬件相辅相成下的结果,整个电脑产业发展历经由 CPU 万能到了 GPU 加速辅助,现在开始谈异质运算,还有为这些发展所铺路的各式算法,是使得科技能够进步的关键。从今年 NVIDIA 首席执行官黄仁勋在 GTC 与 Computex 的主题演讲都在论述唯异质运算才能使运算力持续倍增,可看到纯 CPU 运算的世代已经遇到瓶颈。
NVIDIA 之所以能在近几年大出风头,除了 GPU 架构的提升外,另一个关键就是其耕耘了十年之久的 CUDA 指令集终于开花结果;对于 GPU 加速这一观念来说, NVIDIA 并不是唯一一家,且以历史来看 AMD 收购的 ATI 甚至在更早就提出这样的概念,只是在两家 GPU 技术公司不同的发展方向下, NVIDIA 最终能够做出成果。
当初 NVIDIA 在提出 CUDA 平行运算指令集的时候,受到不少业界人士的批评,毕竟 CUDA 是一个封闭的语言,一开始仅限于支援 NVIDIA 的架构;或许是当初竞争对手 ATI 动荡不安,历经被 AMD 并购等事件,并没有余裕去推广 GPU 运算的指令,最终 Radeon 选择采用开放的 OpenCL 作为其 GPU 加速的指令。
照片为 DGX Station
开放组织固然是许多科技开发者理想的乌托邦,毕竟多半参与开放组织的热血开发者都是希望靠自己专长能为自己热爱的领域贡献一己之力,但现实状况却是一旦组织有各式各样的人员加入,尤其牵涉到有多家大规模公司层级的会员,那就会出现彼此之间的相互角力,导致规范的发展诸多阻挠。
CUDA 在这几年内的发展渐渐成形,许多大专院校也有相关课程,更不用说大量的教学书籍与资源;当然让 CUDA 一举成名的还是在 2012 年多伦多大学的 Alex Krizhevsky 利用 CUDA 在 AlexNet 使影像辨识率由七成突破到八成,更开启 2015 年的 AlexNet 大战,微软、 Google 与百度等皆以超过九成以上的辨识率作为目标。
照片为 Google TPU 2
不过去年 Google AlphaGo 与人类进行围棋对弈,可说是一个人工智能发展的新高峰与转捩点,因为 Google 在去年仍是透过云计算的方式提供运算力, Google 确实在先前的异质运算,但 Google 私底下开发的 TPU 计划也悄悄的开始进行,更在今年 Google I/O 大会作为重点发表。
以硬件的架构来说, TPU 的出现对于以 GPU 搭配转译语法支援的方式会是一大冲击,因为 TPU 简单来说就是为以 Google 所倡导的 TensorFlow 深度学习语法最佳化的一种硬件加速器,因为是针对特定应用与目的设计,故相较 GPU 还需要透过转译去支援语法的方式更为直接,在理论上的效率也更佳。
虽然看似深度学习将会因为如 TPU 一类加速器的诞生而被翻盘,不过此时还是要回归到生态圈的问题,在目前深度学习的发展仍处于萌芽到起飞期的型态,也就是业界对于哪种架构是最适合深度学习发展还未有一个完整的定论,是个人人有机会、各个没把握的情况。
不过就因为是处于发展的阶段,生态链的成熟度将会是一个重要的关键,就像 GPU 加速的概念已经许久,却也是近年在技术实证中确实发挥效用,才扭转市场主流仍以 CPU 运算为主的想法,就像先前曾听到原本过去是死忠 CPU 运算拥护者的台湾学界代表,这一两年也终于开始接触 GPU 加速。
以现在来说, CUDA 的发展不仅是在深度学习方面,也包括许多运算、研究等都会利用 CUDA 进行加速,同时以跨平台能力亦提供从嵌入式( Jetson )、个人( GeForce )、高效能运算( Tesla )的使用可能性,现在又加上提供云端平台资源,等同开发者可从个人电脑进行简单的开发,亦可将开发的成果移植到嵌入式或是服务器领域,使用的语法又是已经不难取得资讯的 CUDA 。
对于 TPU 来说,它是针对 TensorFlow 深度学习语法所做的加速器,固然 TensorFlow 是目前指标性的语法,不过市场上仍有包括如 Caffe 2 、 微软 Cognitive Tookit 以及亚马逊 mxnet 等语法,谁最终能够成为主流,或是持续呈现各立山头的局面也还是未知,这类专用的加速器能否在短时间颠覆更具通用性的 GPU 加速还是未知数。
而 NVIDIA 最新一代的高阶 GPU 加速器 Tesla V100 所采用的 Volta 架构也更进一步强化对于深度学习的效能,在架构中导入 TensorCore 设计,虽然称为 TensorCore ,不过实质上可支援多数主流的深度学习语法,也等同为新架构广泛支援各类深度学习语法保留空间。
照片为 Intel 人工智能负责人 Peter Chen
当然其它厂商也没闲着,例如 Intel 除了自身开发基于 x86 架构的的 Xeon Phi 加速器外,也收购 FPGA 大厂 Atera ,并预计将可程式化达到多样功能的 FPGA 用于深度学习领域,而 AMD 则市仍在设法整合其 CPU 与 GPU 资源盼能在深度学习占有一席之地。
到底谁能在这场深度学习成为真正的胜出者还是未知数,不过可理解的是 NVIDIA 现在的利基就是以已经在市场上有大量开发者的 CUDA 语法与硬件架构作为后盾,率先在这场战争中取得先机,且就目前来看确实也发挥其软、硬开发环境的优势,其它深度学习相关厂商要在短时间能够压倒 NVIDIA 恐怕没那么容易。






























