边缘AI——这个继人工智能、云计算、边缘计算之后冒出来的新词,到底有什么特别?简单来说,它就是把计算和推理能力从云端拉到离数据最近的地方,让设备自己就能快速做决策。不用联网,不用等云服务,数据一产生,本地算法立马开工,几毫秒内搞定。这意味着什么?意味着智能摄像头、无人机、汽车这些设备,不再只是“听话”的工具,而是有了当场判断的能力。

更准确地定义一下:边缘AI,就是在边缘计算环境里跑人工智能。传统的云计算要把数据传到远程数据中心去处理,而边缘AI直接在生成数据的设备上干活——比如一台相机自己就能检测到异常,并当场决定要不要报警或记录。随着AI技术越来越普及,边缘AI设备正在快速渗透到汽车、无人机、监控摄像头等场景,出货量也在猛增,具体数字看下图就清楚了。

从出货量分类图能看出,边缘AI设备涵盖数亿计的工业和消费产品,需求五花八门,单一架构根本不可能通吃。在微控制器或低端芯片上跑推理模型倒是可行,但多数机器学习任务需要更复杂的硬件组合——FPGA、ASIC、SoC,再加上CPU、GPU,有时候还得用Google的TPU这类专用芯片来加强。这些加强手段,大部分是以翻跟斗的形式出现的。FPGA、SoC、ASIC这些专用芯片,专门帮资源有限的x86设备处理海量图像或音频数据,逐层分析、计算、加权,让应用能准确判断每个数值的意义。英特尔和英伟达已经杀进了这个市场。
不过,英伟达的Jetson这类产品并没有让人眼前一亮。Jetson是一个GPU模块平台,功耗预算7.5W,虽然比英伟达常规产品70W的功耗低得多,但对边缘应用来说,一般设备功耗不超过5W,7.5W还是太高了。许多IP公司正在为神经网络寻找加速方案,所以市面上选择不少,翻跟斗已经开始成为边缘设备推理的刚需。但问题在于,要在潜在的亿万个设备上塞进ML加速和支持,需要更高的可定制性、更低的成本,以及更专门针对资源受限设备ML需求的规范——换句话说,整个市场必须拿出更好的处理器才行。神经推理需要数万亿次乘法累加运算,模型从矩阵的一层层提取数据,每一层所需的数据大小可能都不一样,有些设备用8位整数输入反而比16位跑得更快。
Xilinx想要利用自己在FPGA和系统级设计上的积累,推出一套新的产品线和路线图,尽量覆盖边缘设备市场的大多数需求。去年春天他们就开始琢磨这个想法,到10月才正式官宣,描述了一个自适应计算加速平台,“利用CPU、GPU和FPGA的力量来加速一切应用”。Xilinx的演示展示了广泛的产品线、使用案例和AI引擎核心的详细规格,目标是比传统方法提升单位芯片面积3~8倍的性能,并提供高性能DSP能力。
另一边,FlexLogix做了一款可重构神经翻跟斗,采用低DRAM带宽设计。芯片的面积和功耗目标规格预计明年上半年完成,下半年流片。这个推理引擎直接充当CPU,而不是一个更大更漂亮的翻跟斗。它采用模块化可扩展架构,核心思路是减少移动数据的次数,同时改进数据和矩阵计算的加载方式,从而降低数据传输的时间和能耗成本。
有意思的是,FlexLogix把DRAM单独分配给每个处理器块,而不是把它当成一个大内存池统一管理。因为DRAM没法同时向芯片的多个部分输送数据。如果按传统冯·诺依曼架构,把DRAM当一个大内存池用,对于神经网络来说就不是什么好策略。
Xilinx、FlexLogix以及其他玩家纷纷涌入这个还在发展中的边缘推理市场,说明业界对市场前景以及SoC、FPGA制造商的技术能力有广泛信心。但这并不能保证他们能摆平安全、隐私、用户习惯的惯性等无形障碍。FPGA、ASIC和SoC加速机器学习这个市场,目前仍处于起步阶段。
一个新市场刚起来的时候,涌进大量新参与者和新方法是正常现象。FPGA和ASIC供应商也在其中,因为这些技术能让懂行的公司快速做出像样的产品。不过,标准终究会在未来一两年内回归,到时候参与者的数量和专长会稳定下来,与其他市场的互通性也会得到保障。
