当下,寒武纪、Graphcore、Wave CompuTIng 等 AI 芯片设计企业都想要以能耗优势攻取市场,英特尔也拿出 Nervara 和 Lake Crest 架构想彻底取代 GPU,在业界看来, GPU 在 AI 计算领域的前景似乎已经不容乐观了。
但 NVIDIA 则是拿出自 2014 年以来与 IBM 的技术合作成果向世界证明:你们错了!
通过与 IBM 的合作,NVIDIA 证明只要通过正确的设计,GPU 还有许多计算潜力可以挖掘,尚无须畏惧新兴 ASIC 架构的挑战,而刚推出的 Power 9 在核心计算性能与 NVLINK 频宽比 Power 8 更上一层楼。
事实上,IBM 基于新款处理器和 NVIDIA GPU 的组合也成为美国能源部超级计算机及 Google 新款资料中心服务器的架构基础,可见过去由 X86 体系主导的高端计算架构版图已经在二者的合力进击下,开始出现松动。
IBM 欲借 AI 浪潮将 Power 架构重新推上高峰
Power 架构起源于 20 世纪 70 年代,原始设计目标是创建一个大型电话交换网络,每秒处理至少 300 个呼叫,预计需要 2 万个机器指令来处理每个呼叫,同时保持实时回应,因此认为有 12 MIPS 性能的处理器是必要的。这个规格要求在当时可以说是非常激进,主流的复杂指令集架构基本上不可能达到这个目标。
但后来开发者另辟蹊径,因为这台机器只需要执行 I / O,分支,添加寄存器,移动数据在寄存器和存储器之间,并且不需要特别的指令来执行大量的计算,因此最终在架构设计方面省略了很多传统处理器所需要的结构部分。
这种单纯化的设计理念,把每个复杂 *** 作的每个步骤都由一个机器指令明确指定,并且名确定义所有指令都需要在相同的恒定时间内完成,而这样的架构后来也被称为 RISC,没错,Power 架构正是所有 RISC 芯片的始祖。后续在核心设计的许多技术创新,比如说 Out of Order(乱序执行),以及寄存器重命名等特性,都被几乎后来所有处理器架构所仿效。
到 1975 年,电话交换机项目被取消,但这个 RISC 处理器的架构概念留下来持续发展,最终在 1990 年推出了 Power 处理器。Power 架构曾是服务器主流架构之一,其特点就是计算能力特强,及拥有极高的带宽表现,针对特定计算负载能够有远比同一代 X86 更好的效能表现。而后期 IBM 也曾开发出针对低功耗环境的嵌入式 Power 技术,甚至曾作为主流游戏机的核心,比如说索尼的 PS2、PS3,以及任天堂 N64、Game cube、wii、Wii U,都是基于 Power 架构,Power 架构可说风生水起,不可一世。
但后来在服务器领域,成本与兼容性取代了绝对性能,即便曾推出世界首款刀片服务器,曾以深蓝的名号打败世界围棋冠军,Power 架构也逐渐走入其他 RISC 高性能处理器的老路,步向衰亡,X86 架构几乎一统服务器核心。
另外一方面,Power 架构在低功耗产品的发展受到 ARM 的狙杀,游戏机核心也被 X86 和 ARM 架构所取代,乍看之下,Power 架构曾经一度走上绝路,所有的客户几乎都丧失殆尽,只能在少数通信设备以及金融业高端服务器市场苟延残喘。
但 IBM 并没有像其他 RISC 公司一样选择直接放弃,而是通过完全开放的方式,意图拯救即将完全死亡的生态,OpenPOWER 也就是在这个时代背景下产生的组织。
OpenPOWER 创始会员有 Google、Mellanox、NVIDIA,以及当时在服务器领域相当出名的泰安 (Tyan) 计算机,OpenPOWER 组织把相关的核心技术 IP 对外开放,提供会员一整套可参考的设计以及相关的软硬件环境,会员可对 Power 架构深度定制化,满足不同应用所需要的计算d性,相关生态因此开始回温。而 IBM 在开放 Power 架构的同时,也持续发展自有的 Power 架构,其最新的架构命名为 Power 9。
AI 时代所带来的各种计算需求把目前的计算架构逼到极限,CPU 已经不敷使用,GPU 也正面临瓶颈与挑战,未来看似是 ASIC 的天下?但 IBM 和 NVIDIA 的合作向世界宣告,ASIC 要取代 GPU 没有那么容易!当然,这是着眼于 NVIDIA 与 IBM 合作开发的 NVLINK 技术。
Power 9 也不是指针对了 NVIDIA 的计算架构作优化,事实上,它针对的是所有平台,包括 AMD、Xilinx,以及其他 AI 计算方案:IBM 与 AMD、ARM、华为等公司合作组件 CCIX 联盟,推出集成了 CCIX 技术,为 Power 9 提供带宽更高的总线加速。就架构定义上来看,可以当作开放规格的 NVLINK,其最高带宽表现也相近,IBM 也为此总线技术取名为 BlueLINK,以作为和 NVLINK 的区分。
另外,IBM 也针对 Power 9 环境推出了分布式深度学习软件 (Distributed Deep Learning;DDL),可以让处理器的 100% 扩容得到 95% 的效率增长,相较起一般公司,比如说 Facebook 的 89% 扩容效率明显高出不少。
IBM Power 计算架构向世界展示了它的强大,而相较英特尔为主的 X86 体系逐渐走向封闭,其在支持 NVLINK 之类的独家规格的同时,也和其他计算架构供应商合作推出了基于 CCIX 接口的 BlueLINK 开放架构,其欲取代 X86 成为 AI 计算领域通用平台的的意图非常明显。
从 IBM 的技术布局看起来野心不小,且专有架构与开放架构兼容并蓄,最大化自己的应用格局,也明显有向目前以 X86 为主的 AI 生态发起挑战的意味。NVIDIA 与 IBM 这个组合在 Power 9 第一波攻势中证明了架构的优势,不仅弥补 GPU 架构在数据传输上的弱点,也更好的发掘了 GPU 的计算潜力。
依靠与 IBM 的合作而得以发挥计算实力的 GPU 架构,似乎又能重新站上竞争的风口,与即将到来的新架构一较高下,芯片成本的弱势暂时也不是问题,毕竟专业计算注重的还是整体性能表现,而不是芯片本身的规模与成本。当然,GPU 架构本身的功耗表现和 ASIC 相较之下还是有落差,但若能针对软硬件的统合与优化来大幅减少机器学习训练过程所需要的时间,也等同节省了功耗,那么就整体来看,差别就不是那么明显。
也因为 NVIDIA 和 IBM 在 NVLINK 技术的合作时程较早,其他计算架构就算依靠开放规格加入 Power 平台,恐怕必须等到新一代产品才有办法实现,在时程上也将落后 NVIDIA 和 IBM 的组合半年到一年以上。而这一年也就成为 NVIDIA 彻底改善产品设计的机会:不论是对现有 GPU 架构进行深度改造,亦或者是改变以 GPU 为核心的策略,针对 AI 计算领域推出专有计算架构。
但值得注意的是,IBM 提出的架构还是以服务器市场为主,诸如在汽车或者是其他终端的 AI 计算领域,Power 架构恐怕就帮不上忙。NVIDIA 虽可凭借与 IBM 的合作巩固高效能计算市场,但是在嵌入式领域,恐怕就必须要提出更高效率的架构。
以汽车产业为例,其最新 Pegasus 自动驾驶平台高达 500W 的功耗,恐怕就不是主流汽车厂能够接受的程度,虽幸好 2020 年之前市场上还不会有可与目前 NVIDIA 相提并论的自动驾驶方案出现,且 L5 自动驾驶在未来几年也难以普及,但 NVIDIA 仍须及早做好准备,借以应对未来的竞争。
英特尔与 NVIDIA 矛盾渐深,IBM 趁虚而入
英特尔从机器学习问世方法以来,就一直希望能够以自家 X86 架构取代 GPU 计算,但 GPU 架构在学习方面的优势太过强大,且英特尔本身的架构发展也陷入停顿,英特尔也只好看着 NVIDIA 在 AI 产业攻城掠地,自己只能一旁艳羡。
但后来英特尔先后并购了 Altera 以及 NERVANA 这两家公司,欲以 FPGA 架构重新进入机器学习领域,且又强调 FPGA 的超低延迟推理性能优势,一时之间 NVIDIA 也大为紧张。
英特尔对 AI 产业野心勃勃,不仅在计算架构,也针对自动驾驶领域买下 Mobileye,所有的商业决策几乎都是针对 NVIDIA 而来,双方虽仍是合作伙伴,但实际上已经势同水火。
在此情形下,NVIDIA 转向与 IBM 的合作也就顺理成章,一方面,IBM 的 Power 架构与 NVIDIA 紧密合作,提供原生 NVLINK 支持,大幅强化 GPU 计算性能,另一方面,IBM 也凭借 GPU 的计算能力,打下 Google 和美国能源部这两个大客户,证明在高性能计算领域,Power 架构仍然宝刀未老,二者的结合正撼动着英特尔一手建立起的 X86 服务器帝国。
GPU 因本身架构与平台限制被 ASIC 步步紧逼
GPU 在 AI 计算领域的优劣势可以用个简单的例子说明:GPU 进行机器学习的训练时,就好像数千个小学生同时计算几千道小学数学题目,而 CPU 则象是大学生,但一所学校只有几个大学生,要同时做几千道小学生题目,每道题目解题耗时虽短于 GPU,但因为题目数量太多,必须排序来做,导致实际解题时间其实远短于解题后答案输出以及等待下一道题目的耗时,整体训练效率也明显不如 GPU。
而在推理的场景上,通常来自终端的要求量要远少于训练时的计算量,几千个小学生分抢题目后,通常最终只有几个小学生能实际承担到计算工作,那么问题来了,回归到 GPU 本身的计算能力只有小学生的程度,在工作量不大的情况下,GPU 无从发挥大量平行计算的优势,于是基本解题能力上的弱势就显现出来了。
事实上,在一般推理应用场景上,GPU 的推理能力在不少情况下可能要小于 CPU,更不用提基本设计就已经是完全神经网络化的 ASIC 方案,以及可根据场景调整计算规模的 FPGA。虽然 NVIDIA 后来提出 TensorCore 来解决推理性能低下的问题,但这是额外的计算单元,而非原本 GPU 架构的能力,这个作法也等同额外增加了 GPU 计算功耗的负担。
最后,GPU 原本就是设计给游戏图像处理市场,而非纯粹计算,所以在架构上必须考虑到图像处理所需的计算d性,这点导致近半晶体管无法被用在实际计算工作上。且因为要做到d性、可编程设计,设计上就必须考虑到一定程度的可重构性。换言之,对 AI 计算而言“冗余”的部分太大,无法像 ASIC 仅需要针对特定的计算工作设计电路,因此可大幅“去芜存菁”,只留下必要的部分。
半导体芯片设计中的晶体管规模不但代表了成本,也代表了功耗,额外的部分越多,消耗的电力和生产成本也越高,而规模数一数二,且近半晶体管无法投入到 AI 计算中的缺点,就成为 GPU 越来越被关注,并同时被新进 ASIC 架构攻击的重点。
NVIDIA 推出 NVLINK 期望解决 GPU 计算的最大瓶颈
而 DT 君也曾经在之前的分析提到,未来 AI 计算芯片的方向,尤其是 ASIC 方面,都走向集成度更高且具备大量片上存储器的方式,甚至在算法或模型设计上进行优化,尽量让数据可以留在片上存储器重复利用,避免数据传输过程中所导致的延迟——而这也是 GPU 架构设计上最被公认的弱点:考虑到芯片应用广度,以及规模对成本及功耗的影响,NVIDIA 或 AMD 都不敢集成容量太大的片上缓存,更何况 GPU 早因大量计算单元的集成,规模之大已是数一数二。
所以 GPU 在进行大量平行计算时,无法把大部分计算完的数据暂存在芯片端,而是要通过总线与主系统来回沟通搬移数据,常常造成 GPU 需空转等待数据送达。而目前的主流 PCIe 3.0 总线最大仅能提供 32GB/s 带宽,刚宣布的 4.0 正式版本虽可达到 192GB/s 的整体带宽,但标准才刚公布,相关方案也要 2018 年稍晚才会推出,对 NVIDIA 而言,可说远水救不了近火。
而英特尔偏好开放标准,循着 PCIe 规格的演进改进自己的总线效率,而不想把 NVIDIA 的 NVLINK 技术放进自己的处理器架构中,考虑的因素包含了过去与 NVIDIA 在专利和架构授权上曾发生过的争议,以及未来英特尔要推广自有的 AI 计算架构,不希望让 GPU 计算架构优势持续下去,因此对 NVLINK 采冷处理的方式。
NVLINK 在 2014 年发表时,因为英特尔的冷处理,NVIDIA 后来便决定和 IBM 共同发展此界面规格,从 Power 8 架构开始支援 NVLINK 1.0 技术,而才刚推出的 Power 9 则是集成了速度更高的 2.0 版,其提供的总带宽可高达 300GB/s,很大程度上解决了数据传输过程的瓶颈,且因为 NVLINK 支持了缓存一致性设计,也同时能够有效提升 GPU 的计算性能。
IBM 打乱英特尔服务器生态,或将引爆 AI 芯片新战局
目前在 X86 平台上展开的 AI 芯片战争,GPU 目前遭受的挑战越来越大,主要就是周边的搭配未能如 NVIDIA 之意,导致计算效率无法完全发挥。但借原生 NVLINK 之助,NVIDIA 在 IBM 新的 Power 平台上表现可说脱胎换骨,这不只是 Power 服务器本身硬件设计上的优势,也同时是 IBM 配套软件上的成功,比如说分布式深度学习软件发挥了极大的功效,让服务器规模的增加能带来相对应的性能增长,而不是只增加了功耗,却没有增加效率。
当然,NVIDIA 和 IBM 的合作其实也是各有所图,NVIDIA 借 BIM 之力大幅强化 GPU 计算架构的性能表现,要在包含英特尔等对手的方案正式面世前先稳住市场。IBM 则是想要在潜藏多年之后重新打进服务器市场,正面挑战英特尔的 X86 生态霸权,因此在连接能力、各类标准的支持方面尽量做到完美,首波攻势虽是和 NVIDIA 联手,但长远来看,还是希望能够吸引到世界上各大主流计算方案,而非仅只 NVIDIA 一家。
至于英特尔要如何应对?如果未来主流计算架构转而支持 IBM 体系,而非 X86,肯定伤害会很大,英特尔手握 FPGA 生态,未来完全封闭起来自己做也不是不可能的事情,但客户的流失将是无可避免的后果,如此看来,IBM 的 Power 架构已可说立于不败之地。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)