摘要
从决定「造芯」的第一天起,创始团队就非常笃定,AI 芯片是成本问题的唯一解决办法,也为企业自身发展指明了一条通路。
2015 年是云知声的历史转折点。
在此之前,这家专注于物联网人工智能服务的初创企业一直以算法公司自居。但很快,团队愈发意识到算力和成本是不可化解的矛盾。当通用芯片的成本居高不下,批量生产遇到了成本瓶颈,于是云知声决定「自主造芯」。
从决定「造芯」的第一天起,创始团队就非常笃定,AI 芯片是成本问题的唯一解决办法,也为企业自身发展指明了一条通路。从 2015 年搭建团队,到 2017 年着重技术打磨,终于,云知声在 2018 年 5 月份宣布,其首款自研 AI 芯片「雨燕」得到成功验证,并于同年 8 月份正式量产。2019 年 4 月份,第一批搭载云知声 AI 芯片的产品将在市场流通。
这仅是云知声「自主造芯」的开始,若干款芯片「正在赶来的路上」。如何把握住巨大的市场,号准商业脉搏,对云知声来说既是机遇亦是挑战。在云之声 Open Day 上,云知声副总裁李霄寒分享了自己对 AI 芯片的思考和心得。
(云知声副总裁李霄寒 | 云知声)
2007 年,随着移动互联网时代的开启,移动智能设备的数量呈现了指数级的增长,数字化程度明显提高。当下,用户的个人位置、信用、货币都已基本实现数字化,为人工智能的落地和发展,奠定了坚实的数据基础。
「而在即将进入的物联网时代,设备数量会再次大幅攀升」。李霄寒注意到,除了移动互联网所应用的传统数据之外,物联网囊括了家庭环境、位置、温度、语音、图像等数据维度。这些新数据是「弹药」,在产业界、资本界以及科研界都予以了高度重视。
李霄寒认为,在物联网时代,人工智能的落地和挑战需要一个新的 SOC,这其中包含芯片、云和人工智能技术。
如今,云端不仅集成了很多 AI 能力,还集成了教育类、医疗类等知识,发展程度相对完备。当所有的知识与用户连接时,就需要一个载体。过去,这个载体是智能手机,但在物联网时代,这个载体可能是开关插座、音箱等智能设备。李霄寒认为,边缘 AI 芯片和服务端芯片同等重要。借助这些载体来承接云端的能力,并触达至用户,采用 AI 芯片是绝佳的解决方案,它是 AIoT 落地的核心关键。
「我们现在处在一个非常牛的时代」,李霄寒感叹。当闻名遐迩的 AlphaGo 击败了围棋世界冠军李世石,无人不惊叹机器的强悍实力。有趣的是,早在 1997 年,深蓝击败了当时的国际象棋冠军时,有一种论调认为「国际象棋复杂度有限」,如果有一天机器能够在围棋赛场击败人类,才是人工智能时代的标志。
近 20 年后,AlphaGo 不负众望。它采用的是谷歌自研的 TPU 架构的人工智能芯片,与同期的 CPU 和 GPU 相比,TPU 可以提供 15-30 倍的性能提升,以及 30-80 倍的效率(性能/瓦特)提升。
「AI 芯片可以分为两类,第一类是服务端芯片,即经过大规模的数据处理进行训练并形成 AI 模型;第二类是边缘 AI 芯片,云知声主攻这方面的芯片打造」,李霄寒表示。
云知声以往在设计传统 CPU 的时候,更在意电路的设计是否足够好、足够强劲,能否降低成本和功耗。「通用芯片要面向所有的场景,有可能运行一款游戏,也有可能运行图像处理软件,它不需要考虑不同的需求,只需要把芯片设计得足够强劲。」
但边缘 AI 芯片的设计,需要考虑的因素截然不同。因为不同的场景下的芯片需求不同,譬如电视端的芯片和风扇选用的芯片肯定不一样,前者要更加强大,能够做视频的检测,后者只需要控制电机和遥控感应即可。
李霄寒总结说,云知声的特别之处在于,抛弃了传统芯片企业「先造芯再考虑卖给谁」的套路。他们认为正确的路径应该恰恰相反,先用方案解决某一个场景下的问题,验证成立后,再考虑如何生产降本。所以,先要有成熟的落地场景,清晰的需求和系统的 AI 算法,有了这三个前提之后,可以定义清楚芯片的 SPEC,然后再考虑后面的芯片的研发步骤、架构设计等问题。这是云知声做芯片的逻辑和流程。
(李霄寒表示,打破冯•诺依曼的计算机架构已成为业内的共识 | 云知声)
新时代自然会对传统的 AI 解决方案提出一些新要求。
首先是通用架构在 AI 落地的过程中,需要更强大的边缘算力来测算边缘数据。比如降噪需要大量的计算,算力越强大,数据维度就越多,效果也会越好。
但是企业不可能无止境地去满足它。这个约束来自于成本。「我们不可能为了解决智能音箱的拾音问题,造一款百元级的芯片,即便非常强大,但在商业上是不成立的。」必须要把它的成本控制在一个范围。这就构成了一种矛盾。
这对云知声来说是一种巨大的挑战,李霄寒表示,「在新的场景和新的环境下,要基于场景,针对具体的应用,着眼 AI 算法,再加上芯片的应用,设计新的芯片。因此基于这种环境下,我们要考虑的因素要多得多。」
另外一个挑战受制于上世纪四十年代,以冯•诺依曼内存墙为代表的计算机架构。这一架构在芯片上明确了计算和存储分离的概念,「需要计算的时候,把大脑拉过来,在运算单元上处理,再从内存上不断获取数据,拿回去」。人们现在几乎使用的所有芯片,均是基于冯•诺依曼架构运行的。
显然,在 AI 芯片的架构下,它碰到了新的复杂问题。芯片在处理 AI 算法的时候,面临「需要处理的数据非常多」,以及「大量的数据拷贝需求」的问题。在这种情况下,CPU 大部分的时间是在休息,带宽却频繁地在做传输工作。运算构件与存储构件之间大量的数据交换限制了系统的运算效率。
打破冯•诺依曼限制,拉紧计算单位和存储单位的距离,让二者尽可能的接近,已成为业内的共识。DeepNet 是云知声的 AI 加速处理器,DeepNet 1.0 成功应用于去年 5 月份发布的「雨燕」芯片。「雨燕」相对传统的芯片来讲,计算效率获得了 50 倍的提高。这枚芯片贯彻了云知声「让冯•诺依曼更矮」的核心思想。
DeepNet 2.0 是云知声的多模态神经网络处理器,支持多种推理网络,可重构计算并支持某一系列计算公式的硬加速。它的原理是把乘法等价换算成加法,大幅提高计算效率。
这样还不够,云知声期望让这堵墙变得更加低矮。在计算器内部,计算单元和行使单元基本结合在一起。当数据输送到第一个 MACKJ 的时候,计算完成完马上放到 M1,然后再做相应的其他计算,保证在 10 个周期之内,完成全部计算,这样使计算效率得到大幅度的提高。
在我们进行语音计算的时候,一般来讲 CPU 的利用率也就是 10% 左右,剩下的 90% 都是在搬运数据。这个架构可以把 CPU 的利用率提高 60% 以上,只剩下不到一半的数据搬运工作。
此外,服务端有低功耗的需求,边缘侧对低功耗的需求更加旺盛。电池供电设备,手机、音箱、眼镜等所有这些便携式的设备都面临一个功耗的问题,但低功耗和大规模的并行计算是相互矛盾的,怎样在特定的功耗条件下,支持设备的算力,这是非常大的挑战之一。
李霄寒认为,解决这个问题的必然方法是使用新的架构,来处理新的数据维度,因此需要在边缘侧(设备端)具有相应的算力。
据了解,在云知声第一代 AI 芯片设计上,可以用 2% 的算力做动静检测,把 98% 的功能关掉。当设备被唤醒,机器判定动静之后,会做一个活体检测,整个初步的判断,仍然有 90% 的算力处于休眠状态。一旦检测到是人在发声,并判断发音和唤醒词是否匹配,至此需要 20% 的算力足矣。李霄寒表示,在实际情况中,绝大部分芯片在夜间都是处于休眠状态。
追求效率的传统方式,是更灵活地控制功耗,「当芯片工作的时候会全力以赴的运行,不工作的时候就关闭。但 AIoT 时代的游戏规则变了,我们首先要从应用层面考虑,然后再考虑算法是否要为芯片本身改变。」所以,AI 芯片不仅是硬件和芯片的设计问题,而且是芯片上层应用到整个场景的系统性问题。
安全同样是一个绕不开的话题,云知声高度重视 AI 芯片的安全性。AI 芯片的安全包含两方面,第一是防止软件放在芯片上「被拷贝」、「被倒卖」。一旦发生类似事件,企业的知识产权就没办法受到保护,蒙受巨大的金钱损失;第二是确保代码的完整性。当所有的设备都可以联网,意味着在开放的环境下,任何人都可以访问用户的芯片,一旦被黑客利用并被曝光,对于企业而言就是一场毁灭性的灾难。
故此,云知声在芯片的所有设计工作中都考虑到了机密性和完整性,确保芯片的所有代码全部经过加密,确保所有在 NTO 内运行的代码不被人篡改。
李霄寒最后强调,AI 芯片的设计绝对不能被孤立。基于端云互动的思想提供了多模态处理的能力,在性能、功耗、面积上达到优异的平衡,并兼顾连接和安全的需求。
领取专属 10元无门槛券
私享最新 技术干货