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