AI 抢滩阵式1:加强定义问题能力&前瞻基础研究
AI 大潮逼近!潇洒冲浪或……狼狈灭顶?
人工智能 (AI) 狂潮来袭,有人盲从跟风、见猎心喜,也有人视若洪水猛兽,愁肠百结;关于强/弱 AI 的道德争议、软/硬计算技术、实用性、与人类竞合矛盾的辩证不绝于耳,对于 CPU (中央处理器)、GPU (图形处理器),乃至不断推陈出新的各式特定应用集成电路 (ASIC)——APU (加速处理器)、VPU (视觉处理器)、TPU (张量处理器),以及可编程逻辑门阵列 (FPGA) 的讨论亦不断跃上版面。在走马看花众多演进史、产品规格与零散案例后,有志屹立 AI 浪头的开发者在实际应用时,到底该考虑哪些面向并选择符合所需的组件?
GPU 以"浮点计算"名动江湖
CPU 是由计算逻辑单元 (ALU)、内存和控制器所组成,可一力完成讯号处理、指令编码、发号施令等动作;然而在讯号链传递的过程中,若事无轻重缓急皆由 CPU 出面,未免不够"知人善任"。为加速繁杂且重复性高的数据处理 (如:影像图文件),人们变通地将 IC 大部分的晶体管挪给超大数组 ALU 做并行计算,因而促成 GPU 兴起。若将整个 IC 资源分配用人类大脑潜能开发模拟,有人善于思考、决策,一如 CPU;有人精于逻辑推理、就像 GPU,在"高精度浮点计算"尤其相形见长。因此,若将两者硬性比较,似乎有失公允。
近年拜 AI 遍地开花之赐,让 GPU 忽集万千宠爱于一身,目前已有超过 2,000 家的 AI 新创公司建构于龙头厂商英伟达 (NVIDIA) 的产品之上,连带使其身价暴涨。眼见 GPU 风华正茂,英特尔 (Intel) 与超威 (AMD) 也着手开发新一代指令集以提升 CPU 的浮点计算能力;前者于近期正式发布业界首款"类神经网络处理器"(NNP)——Nervana,省略标准高速缓存 (Cache)、避免记忆不同步、须清除快取的麻烦,以提高计算效率,后者在收购 ATi 公司后启动"Fusion"项目,欲借助"异质系统架构"(HSA) 的 APU,以 CPU+GPU"二打一"之姿奋力一搏。
APU 最大特点为:使用 HyperTransport (HT) 总线将 CPU 和 GPU 两个不同计算架构整合在同一个 IC 上,使其协同运作;开发人员可通过免权利金 OpenCL (开放计算语言) 的应用程序编程接口 (API),加速 CPU、GPU 和 APU 进程。APU 的最终目标是:将 CPU 与 GPU"完全融合",根据任务类别自动分派计算任务,以降低设备的功耗和发热。特别一提的是,AMD 于 2007 年发布的 SSE5 指令集,已意外被 Intel 吸收、优化为"乘法及加法融合指令"(Fused Multiply-Add, FMA),以简化计算步骤、使浮点计算的峰值倍增。
VPU、TPU 为"特定应用"分众市场而生
VPU 主要专注于影像计算、不须负责输出或处理其它应用,旨在作为特定 AI 工作的独立加速器或"推论"(inference) 引擎,颇具"特务"意味;真正捧红 VPU 一词的推手,当属电脑视觉芯片先驱 Movidius 公司。Movidius Myriad 2 VPU 芯片组已获联想 (Lenovo) 虚拟现实 (VR) 产品采用,而 Google 也承诺用它作为平台的神经计算引擎,增进移动设备的机器学习能力。2016 年 9 月收归 Intel 旗下后,今年更为大疆创新科技的首款迷你无人机 Spark 加强物体检测、实现 3D 制图和基于深度学习算法的环境感知。
随后,Intel 又陆续推出内建 Movidius Myriad 2 VPU 的神经计算棒 (NCS) 与 Myriad X VPU 系统单芯片 (SoC)——前者每秒超过千亿次浮点计算可实时执行深度神经网络 (DNN);后者要求"全球首个配备专用神经网络计算引擎的 SoC"。同样看好图像处理商机,日商索思未来 (Socionext) 亦抢在今年初发表首款符合 OpenVX 开放 API 标准的图像显示控制器暨加速器 SC1810,内建专利 VPU 除配有 OpenVX 硬件加速器,还具备可编程数据并行加速器;免授权金的 API 及专属 VPU、H.264 编译码器,可降低嵌入环景监控、物体侦测等视觉功能成本。
TPU 是 Google 针对自家开源深度学习框架 TensorFlow 所发展的 ASIC,兼具 CPU、GPU 可编程优点,能在不同网络模型执行复杂指令集 (CISC),在深度学习 (Deep Learning) 的"推论",拥有更好的"单位功耗效能"。即使个别浮点计算能力不如 GPU,但团结力量大,今年发布的第二代 TPU2 (又称 Cloud TPU) 集成四个 16 位处理器,每组效能达 180 TFLOPS (TeraFLOPS);现已布署在 Google Compute Engine 平台上,与 CPU、GPU 协作加速。若将 64 个 TPU2 串联升级为"TPU Pods"超级电脑,效能更上看 11.5 PFlops (PeraFLOPS)。
"灵活"是 FPGA 最大优势,异质计算蓄势起飞
上述一众 ASIC 产品,都是电路布局既定的硬件系统;但严格来说,用于图像处理 (训练) 及统计计算 (推论) 的技术要求仍有些许差异。若想要用一块电路板灵活满足两种需求,就得为开发人员保留部分编程空间,于是,类似"半成品"的 FPGA,因为可一举解决全定制电路的不足与 FPGA 逻辑闸电路有限的缺憾,也趁势搭上这波 AI 顺风车。开发人员可运用 Verilog 或 VHDL 等硬件描述语言定义逻辑电路,根据当下需要快速布线、连接内部逻辑区块后,再刻录至 FPGA;惟因指令周期有限、功耗相对大,无法因应过于复杂的设计。
赛灵思 (Xilinx) 继今年 3 月在 2017 嵌入式世界大会上展示视觉导向智能系统后,5 月更宣布投资专精于深度压缩、编译工具链,以及系统层级优化的机器学习应用领域的深鉴科技公司,拟推出各种从终端到云端的推论平台。整体论之,FPGA 适用于初期出货量偏小的产品或供原型设计验证之用,Cadence、Synopsys 等电子设计自动化 (EDA) 供货商亦积极提供相关解决方案;以 NVIDIA 为首的 GPU 受惠于先天的并行计算架构,格外适合捕捉"瞬间"的高效计算 (HPC);但欲将 AI 进阶到"人脑决策",CPU 亦须与时俱进、加入协作行列。
另一方面,AMD 正快马加鞭冲刺 AMD Radeon Instinct GPU 加速器,加上自有 x86 CPU 专利、锁定服务器开发的多內核 EPYC 处理器加持,是否能让"异质融合计算"再上一层楼、与 Intel、NVIDIA 一争长短?值得关注。此外,由于多数机器学习不需从 cache 读取数据,若数据源高度本地化、侧重就地执行的专职应用,则 VPU、TPU 等"术业有专攻"的分众 ASIC,更便于"挑重点"嵌入、集中火力专攻某一项职能——这也是为何 AlphaGo 从 CPU+GPU 架构转成 TPU 后,对弈实力如秋风扫落叶、大获全胜之故。
AI 要能付诸实际应用,才有获利机会
事实上,系统商自行开发的 ASSP 预估有增多趋势,也是众家硅智财暨 EDA 工具商所念兹在兹、殷切期盼的潜力市场;例如,微软 (Microsoft) 的扩增实境 (AR) 显示器 HoloLens,即内建"全像处理器"(Holographic Processing Unit, HPU)。归根结底,我们究竟要如何在这波滔天巨浪中安身立命?诚如波士顿顾问公司 (BCG) 合伙人暨董事总经理徐瑞廷日前在《2017 arm 科技论坛高峰座谈会》中所提及:"时至今日,光谈技术及对行业的影响是不够的,如何落实到应用层面才重要,而不同应用场景的使用案例 (Use Case) 更是焦点。"
照片人物:BCG 合伙人暨董事总经理徐瑞廷
徐瑞廷表示,如果不能了解终端用户怎么应用产品,今后将很难使得上力。除了商业模式的改变、满足客户对产品规格的需求并降低成本外,还须考虑到与不同生态系的伙伴合作。企业内部也要重新思考组织策略,不是只有卖产品、而是要更深入理解客户,故人才需求也不同;从销售单一组件、产品到整体解决方案,既有员工能力未必跟得上。为获取新能量,导致投资并购、企业转型与是否引入新血的议题十分热烈,例如,日本某家传感器厂商为取得终端资料便成立顾问团队,改以"提升良率"为卖点。