「嵌入式 AI」这个概念非常火。不过,它到底是什么?更适合应用到哪些场景里?还有什么是它做不到的?我们应该来听听业内做这一行的专家们的意见。
在人工智能迅猛发展的当下,几乎每一家企业都在探索行业的切入点,试图在人工智能大潮中分一杯羹。
而在追寻 AI 商业化的道路上,人们逐渐发现,要实现技术的落地,不仅需要性能优越的算法模型以及可靠的硬件支持,还需要把 AI 技术和硬件环境进行有机结合,再应用到具体的实际场景中,进而满足用户的需求。
而「嵌入式 AI」就是当前最热门的 AI 商业化途径之一。
「通过观察市场我们发现,在 AI 领域主要有两拨人。一方是高大上的算法团队,一方则是以深圳老板为代表的实体出货商。有趣的是这两拨人是完全不沟通的,就像一帮人看爱奇艺,一帮人看快手一样。」Perceptln 公司联合创始人刘少山根据算法与硬件之间存在的壁垒,举了一个有意思的例子。
Perceptln 于 2016 年成立于硅谷,旨在提供机器人整体软硬件解决方案。创始人刘少山先后就职于 LinkedIn、英特尔、微软研究院,曾担任百度无人车高级架构师,对于嵌入式 AI 有一些独到的见解。
「我们做的就是把 AI 技术带给那些应用厂商,推动整个市场发展。」据刘少山介绍,Perceptln 已针对高、中、低端等不同场景的应用推出三条产品线,分别将 AI 技术嵌入到智能玩具、服务类机器人以及自动驾驶等应用中。
事实上,嵌入式并非是一个新鲜或者「高大上」的概念。
所谓嵌入式,就是指一种可被内置于设备或装置的专用计算机系统。通常来说,具有数字接口的设备都具有嵌入式系统,如手机、车载电脑、智能手表等等。
而嵌入式 AI,则是一种让 AI 算法可以在终端设备上运行的技术概念。很简单,换句话说,它的作用就是能让音箱、手机、机器人等智能硬件在不联网的情况下实时完成环境感知、人机交互、决策控制等功能。
而一位资深算法工程师告诉机器之能,通常来讲他把程序编完了扔给公司里的嵌入式工程师,后者再负责把它嵌入到板子里。其实传统做嵌入也是这个思路,两端都要考虑,俗称「两头堵」:
「按照我的理解,那些专注做嵌入式 AI 的可能是在针对 AI 模型做一些优化或是板子的优化,让算法更高效地跑在板子上。」
那么嵌入式 AI 到底能做到什么?与云端 AI 相比,更适合应用到哪些场景里?还有什么是它做不到的?我们来听听更多业内做这一行的专家们的意见:
什么样的垂直场景更需要嵌入式 AI?
众所周知,神经网络包括模型训练和推断两个过程。而一提训练,就必定会涉及海量的数据输入,计算规模也会根据场景复杂性的递增而变得愈加庞大。
因此,受到计算资源的限制,嵌入式端很难实现模型训练的过程,也是我们下面要说的「几个挑战之一」。
而在推断环节,云端推断和嵌入式推断,二者诉求不同,因此也在不同的应用场景能够发挥自己的优势:
前者的好处是,能够承受高吞吐量并满足复杂计算对资源的要求,因此多用于深度学习模型和计算较复杂的情况;而后者,则更多的应用于对「实时处理」有更高要求的场景中。
什么是「实时处理」?我们来举个最实际的例子。无人驾驶汽车需要实时监测周围环境,但是如果无人车突然进入隧道,或者进入某个连不了网的环境中呢?
是的,驾驶场景复杂多变,并不能保证时刻都能有一个百分之百可用的网络。因此,嵌入式 AI 凭借其实时性优势及脱机运行的能力得以自动驾驶领域展现实力。
国内自动驾驶卡车技术研发公司图森未来 COO 郝佳男就曾在接受机器之能采访时表示:「从理论上讲,在云端处理传感器信号并不可行,存在延迟和可用性问题。」
因此,信号的本地处理也是整个自动驾驶领域的一大诉求,因为设备端采集到数据后上传到计算完成返回终端的过程会不可避免地带来一定的延时,驾驶的危险系数也随之提升。
而中科创达副总裁孙力在前天举办的嵌入式人工智能技术论坛上也提到了这一问题:「自动驾驶汽车每秒钟可以产生 1G 的数据,必须及时的、迅速的在本地来处理决策,不可能移到云端。」
除了无人驾驶,在智能家居方面,试想一下如果用户家中安装了一个监控摄像头,那么把数据传到云端很可能会增加个人隐私泄露的风险。而由于嵌入式 AI 是在本地处理数据,数据没有上云的过程,就可以保证用户的信息安全,免除不必要的麻烦。
除了这些特定的应用场景,一些 AI 技术公司对嵌入式 AI 也有着广泛的需求。而近来因巨额融资引起广泛热议的 Face++就是其中的一员。
「虽然我们主攻金融、安防以及手机智能这三个垂直领域。」公司 CTO 唐文斌向机器之能表示,「但是我们在手机端遇到了第一个问题。」他解释道。
他们在手机端做实名认证及人脸解锁的时候发现,算法会不断「吃」计算力。也就是说,即便计算力不断增长,算法对计算力也总是处于「欲求不满」的状态。
其次是在摄像机端。他谈到算法研发人员希望在做人脸识别的时候,可以让人脸在视频中的检测、抓拍环节在相机端实现。这样一来,就可以只传输有价值的信息,而非原始的大容量视频,能够有效减少传输带宽以及后端部署服务器的计算量及存储量,让系统的整体架构变得更加轻便。
「那么,本来信息可以存 3 个月,现在可以存 3 年,这会带来非常大的价值。」唐文斌补充道。
嵌入式 AI 挑战也很多,AI 公司都是如何选择的?
在把 AI 技术部署于终端设备的过程中,嵌入式技术至关重要。简单来说,这一过程需要对芯片进行全方位考量以评估芯片的性能,然后根据神经网络算法做特殊化处理,「无缝对接」嵌入式设备的能力。「既没有浪费运算单元,又最大程度地体现算法的精度,这是一个艺术活,也是技术活。」孙力如是说。
然而,把嵌入式 AI 从云端迁移到终端却并非易事。孙力表示,目前嵌入式 AI 面临三大挑战,分别为运算能力、功耗及散热。这些也是经典嵌入式设备所面临的问题。
此外,你还需要考虑算法新增的神经网络处理单元与原有 DSP、GPU 计算架构的算法精度二者之间的平衡问题,以及如何对传统运算力较低的智能硬件设备进行升级,或者怎样为传统硬件添加 SoC 以实现智能化转型等等问题。
而这些也基本都与成本挂钩(一提钱现场都笑了)。如何让嵌入式 AI 展现出应有的商业价值,也是真实存在且亟待解决的问题。
因此,孙力表示,在具体操作上,技术人员不仅需要剪裁优化出最佳的计算模型并集成到移动设备上,还要保证操作系统向下驱动底层硬件,向上支持软件算法,而且对于终端设备他们必须有深入的理解。
「只有这样,才能保证整个嵌入式 AI 算法模型经济、高效的运算。」他强调。
又根据刘少山回忆,在创业初期,团队以为算法会是最大的门槛,结果发现整合能力的需求才是最高的。
「这也是美国有许多算法技术很强的初创公司都被谷歌、苹果这类大公司收购的原因。」他解释道,「因为,从算法到落地产品还有一个很远的距离。」
为了解决这些问题,业内目前主要采取三种实现路径,分别是「压缩算法模型」,「不断挖掘硬件潜力」,以及「在压缩模型的同时针对现有芯片进行优化」。
刘少山表示,目前看来,第三种路径是能够最快落地的。但是无论如何,优化到一定程度还会遇到瓶颈,还是需要你转过头去提高硬件性能。
那么一些明星公司们都是如何选择的呢?
深鉴科技与寒武纪就选择设计开发专用芯片。而中科创达则明确表示不做芯片,只在中间层发力,根据下游行业层出不穷的新需求做定制化工作,帮助寒武纪、高通这样的上游芯片企业发挥自己的价值。
但刘少山认为:「业界有许多公司瞄准了视觉方向的芯片加速,但除此之外,针对定位导航和语音交互等技术的芯片行业还相对空白,整个市场仍存在较大发展空间。」
云和端,你选择哪一个?
唐文斌认为,「端+云」的未来发展趋势已经非常明确。一些需要移动端提供快速响应能力的场景可以选择在移动端进行计算,而需要把海量数据汇聚在一起,实现大规模数据挖掘与处理的情况可以放在云端进行。对此,中科创达 CEO 耿增强也持有相同的观点。
「不过,具体哪些放在云端,哪些放在移动端,还没有一条统一的分界线,这也是留给我们的一个问题。」孙力补充道。
「这里面存在较多的组合方式,」刘少山也认为,抓取数据、理解数据、根据理解做出行为决策等等环节可以全部在硬件执行,当然也可以部分给软件、部分给硬件。
「很多感知计算涉及深度学习网络,各家公司对这方面的硬件加速也有很深的理解。不过在决策阶段,很多算法还没有定型,以无人车为例,业界主要还是基于规则的方法来做决策。」
而耿增强则表示,我们无需担心算法定型后,嵌入式 AI 的价值会减弱。「算法是没有完美的,当这个算法趋于完美之时,大家会产生更多的需求,也会不断有新的算法出现,你总会发现自己还有很多技术工作要做。因为技术是没有穷尽的。」
不过,云和端既然还没有统一的应用分界线,那么你是怎样考虑的呢?