人工智能最大的作用就是带来了边缘计算?

2019年11月08日 作者:Teardown

过去两年来,人工智能(AI)已经从学术奇迹演变为全球重大趋势了。以某种形式呈现的机器学习(machine learning)即将彻底改变几乎所有领域——从消费者、汽车、工业到电子产业的每一个领域,并且正以未知的方式影响整个社会和我们的生活。

事实上,对于产业来说,这表示每一家处理器供货商都将机器学习视为「金鸡母」。这一场战争已经开打,他们正积极调整自家公司策略,竞相为具有最大潜力的领域——数据中心以外的机器学习,或是边缘AI (AI at the edge)——提供可加速特定工作负载的理想解决方案。

边缘AI拥有巨大的光明前景,因为它几乎适用于每一种电子装置,从无人驾驶车可在行驶中「看到」路上行人,到能够接收并响应语音命令的咖啡机等。需要在低延迟、数据隐私、低功耗和低成本之间任意组合的应用最终都将转移到边缘执行AI推论。

值得注意的是,从下图Gartner提供的新兴技术发展周期报告(Hype Cycle for Emerging Technologies, 2019)来看,边缘AI (Edge AI)只不过是发展还不到5年时间的一个点。

 

Gartner提供的2019年新兴技术发展周期报告:Edge AI要「达到生产力成熟期」(plateau of productivity)大约还需要2-5年的时间。(来源:Gartner)

AI推论的工作负载是特定的:它们需要对大量低精度资料进行大规模平行处理,而内存存取正成为一项瓶颈。大部份的处理器类型都在试图适应这些要求。

目前主要的技术是GPU——实际上应该说是当今一家公司的细分市场。很幸运地,GPU的单指令多数据(SIMD)架构本来是为了加速计算机绘图而开发的,如今也顺势演变成为极其适用于AI工作负载。辉达(Nvidia)正乘着这一波浪潮前进,致力于开发AI超级计算机,用于数据中心、自动驾驶等以及甚至是小型的边缘装置。

其他业者也想在这个市场分一杯羹。长久以来习于加速数学算法的FPGA供货商开始完善其产品组合,以因应边缘AI处理的需求。赛灵思(Xilinx)采用特定领域架构(domain-specific-architecture)的概念,将可编程逻辑与其他运算类型结合在一起,为新的工作负载客制化数据串流。同时,莱迪思半导体(Lattice)则瞄准在低功耗装置中进行图像处理。

还有许多新创公司的新架构成功达阵,从内存处理器(processor-in-memory;PIM)技术(如Mythic、Syntiant、Gyrfalcon)到近内存运算(near-memory computing,如Hailo);从可编程逻辑(Flex Logix)到RISC-V核心(Esperanto、GreenWaves);以及从极其微小(Eta Compute)到超大规模(Cerebras、Graphcore)等领域。这些新创公司大多数都在为边缘打造AI。但是,当他们开始与Nvidia和Intel等巨擘正面竞争时,是否还会有足够的利基市场足以支持他们?时间会说明一切。

此外,还有许多新创公司从另一个方向着手解决这个问题:调整AI工作负载以便在微控制器(MCU)等传统硬件上更有效地执行。诸如PicoVoice和Xnor等公司正在寻找新方法来利用现有装置的指令集,以执行矩阵乘法。

结合Google在TensorFlow Lite上的成果——一款可将机器学习模型缩小到适合MCU的编译程序——毫无疑问地,这将为不需要连接因特网即可进行推论任务的语音启动装置等应用开启大门。

嵌入式开发人员在面对这些新型加速器芯片组时,必须学习如何使用它们。软件是这一挑战的重要组成部份。更传统的CPU、MPU和MCU显然在此具有领先优势。

尽管要打造一个围绕着新软件平台的开发社群并非不可能,但这毕竟并不容易实现的。Nvidia花了十年的时间打造其GPU软件平台——CUDA,才实现当今的成果。任何想要进入这一领域的业者都需要打造工具库与工具,以及透过会议与论坛来教育开发人员。但这些都可能让新创业者的有限资源更加吃紧。

灵活性是成功秘诀的另一个要素。尽管当今的图像处理模型有赖于卷积神经网络(CNN),但不同类型的神经网络也适于像语音识别等其他应用,而且学术界还一直在提出新的神经网络概念。先进的网络可能还需要更复杂的数据串流方案。为了加速当今CNN而开发硬件的一个风险在于可能导致过于专业化,而无法加速未来的网络平台。因此,AI工作负载的本质应该被视为一项不断变化中的目标,在灵活性和性能之间取得适当的平衡,这对于未来的发展至关重要。

这个领域的战争才刚刚开打。最后的赢家将属于那些选择适合自家公司的利基市场并为其努力打拼、投资软件堆栈以及教育产业、并在此快速发展的产业中保持灵活性的公司。当然,还必须要能以合理的价格进行。

相关文章

tracer