参与:李泽南、微胖 毫无疑问,2016 年科技界的关键词是人工智能与机器学习。但直到今天,除了自动驾驶汽车和手机里的智能助手,没有人能列举出几种应用了机器学习的设备。人工智能在哪里?我们不禁产生了怀疑。当我们要求 Siri 播放音乐,或提供明天的天气预报时,那个「她」是在你手机中的意识体,还是苹果服务器的一部分?亚马逊 Alexa 呢?答案是:它们都在云端。 当你正在考虑这些技术上的问题时,投资者和开发者们则更进一步,开始研究 AMD、英特尔、英伟达、高通和 Xilinx 提供的芯片各有哪些优点,哪一家公司的芯片更符合人工智能时代的需要了。本文为你展示了目前芯片行业的图景,atv,针对不同的应用需求(云端、单机和混合场景),对目前市面上的芯片类型进行了分类讨论。 以行业和部署位置分类 根据 Angel List 的数据,目前应用机器学习构建业务的初创公司数量惊人,已达 1700 家,投资机构则超过了 2300 个。下表列出了这些公司触及各领域的大致分类,以计算能力为标准,共分为单机、混合以及云端解决方案三种。 机器学习应用图景 (Source: Moor Insights & Strategy) CPU、GPU、ASIC 还是 FPGA? 目前机器学习的应用主要是通过大量编制好的数据训练神经网络模型,然后再让训练后的神经网络处理接收需要处理的数据。其中训练神经网络如何「思考」的过程需要耗费大量计算资源,这类任务通常是由数据中心的 GPU 来完成的,而 GPU 的提供商以英伟达为主,在 AMD 等其他公司的竞品性能有限的情况下,目前英伟达的市场地位稳固。但在混合以及单机计算解决方案领域,目前市场上还存在一定的竞争,下图展示了更大方向上机器学习硬件的主要产品。 机器学习图景中的硬件情况 在机器学习时代刚刚到来的今天,全球市场并未出现「一家独大」的局面。所有硬件公司都声称自家的计算架构(CPU,GPU,ASIC 和 FPGA)最适用于人工智能和机器学习的计算,并给出了自己的数据。实际上,每一种架构仅会在特定场景、数据、应用或部署方式条件下优于其他架构。数据的复杂性和任务的速度要求决定了计算能力的需求,而应用场景则对延迟和功耗产生不同限制。 CPU,如数据中心常见的英特尔 Xeon 和 Xeon Phi,还有移动设备中采用的高通骁龙,善于处理相对简单的数据,比如文本和 jpeg 图片,一旦要训练神经网络,在处理源自诸如 4K 摄像头或雷达的高速率像素数据时,就会捉襟见肘了。为了解决这一问题,英特尔准备推出新版本的多核 Xeon Phi,代号 Knights Mill,有望今年年底上市。不过,在很多情况下,完成任务需要一个 GPU,一个专用集成电路(ASIC)类似英特尔期望中的 Nervana 引擎或编程 FPGA 以满足低能耗、低延迟的性能水平,这是智能无人机、车辆或导弹方面应用的基本需求。尽管英伟达 GPU 在未来仍会是很多性能测评的胜出者,因为它是最快的解决方案,但是,当加速算法不断演进时,FPGA(通常来自英特尔或 Xilinx)却有能力对机器学习算法进行专门优化,延迟也低。在云端,我们也能发现类似情况,在这个领域里 GPU、FPGA 以及类似谷歌 TPU 的 ASIC 共存,每类都代表一些独特的功能,针对特定数据类型和吞吐要求,各自有其利弊。 一些应用,atv,比如视觉导航自动驾驶系统就需要一种混合硬件的解决方案,以满足应用环境对延迟和数据处理的要求。尽管之前提到的加速善于运行人工智能推理引擎、传感器融合、数据预处理,后评分策略执行也需要很多特定的 I/O,快速传统逻辑最适合 CPU。为了应对这一挑战,英伟达提出了混合硬件平台,英伟达 Jetson TX1 和 DrivePX2 是 ARM 处理器与 GPU 的混和体,甚至还附有存储单元,而英特尔和 Xilinx 的 SoC 中,ARM 处理器和 FPGA 被整合成为一个单独、优雅的低能耗解决方案。所有这些设备都可以在无人机、工厂机器人/合作机器人以及自动车辆等应用场景中找到自己的位置,这些领域要求开发者们必须合理地权衡速度、灵活性以及功耗需要。 英伟达 Jetson TX1,适用于为嵌入式系统中的机器学习和计算机视觉任务提供计算能力 (责任编辑:本港台直播) |