看点:每家AI芯片公司都需要成为一家软件&系统公司。
3月9日,由智能行业第一媒体和产业服务平台智东西主办的“GTIC 2018 全球AI芯片创新峰会”在上海召开,本次大会以“走进AI世界 从芯看未来”为主题,邀请到32名重磅嘉宾到场分享,从上游产业链、到炙手可热的创业项目、再到各领域在AI芯片推动下的产业升级新思考,系统地探讨AI芯片在2018年的技术前景和产业趋势。
本次峰会上,国内AI芯片行业四小龙之一的深鉴科技,其联合创始人兼CEO姚颂,以“AI芯片行业新思维”为演讲主题,并分享了自己对整个AI芯片行业的思考。以下是智东西为您整理的姚颂演讲核心干货。
怎样定义AI芯片
本次峰会是关于AI芯片的峰会,但是到底怎样的芯片才能称为AI芯片?一开场,姚颂先从现在大家谈论的不同的AI范围就从这一问题说起:“AI是一个相当宽泛的概念,到底该如何定义AI芯片呢?这里面隐含着一个逻辑,现在当我们说到AI的时候,其实指的只是AI中机器学习的那一部分;当我们现在说机器学习时,大部分指的又是其中深度学习的那一部分;而目前流行的神经网络算法也只是深度学习中的一部分”。
无论是深度学习还是机器学习,又都分为训练侧和推理侧,两个独立部分。在神经网络中又会有VGG网络、ResNet-50网络等分类,在这些网络之上又会有SSD、Faster R-CNN等面向对象的框架。所以当大家谈到AI的时候,首先要明确具体指的是哪一层面。今天,我们谈到AI时,更多地指的是机器学习和深度学习。
在对人们所说的AI的范围进行了梳理后,姚颂进一步指出对AI不同的定义,则会造成整个芯片设计的不同,难易程度也会不同,针对机器学习等高层级的设计理念,其通用性则越强,针对某种特定的神经网络开发的芯片,其专用性则越强。如果是想做具有高质量通用性能的芯片,比如设计CPU这样的芯片,是相当困难的事情。如果是要做最简单的芯片,则只需要先把算法做好,再把算法硬化到芯片上,这是最容易设计和实现的一个思路。因此,姚颂认为从设计层面上来看,大部分AI芯片的设计比CPU 、GPU等通用芯片更容易设计。
对此,姚颂还举出目前市面上所出现的,针对不同层级AI定义的芯片的例子。比如国外的芯片巨头如ARM将CPU上添加神经网络加速库、NVIDA的针对AI训练侧的GPU、Xilinx的FPGA、针对深度学习推理侧的TPU V1、把自动驾驶算法写到芯片上的Mobileye Eye Q5 、Intel CPU 、Movidius DSP 等都是针对不同层级的AI芯片。国内方面也有不少企业在AI芯片上取得了进展,其针对的AI层级也有所不同,如寒武纪面向更通用的机器学习市场的Cambricon MLU 、 深鉴科技自家的DeePhi DPU则更加关注深度学习层面、地平线的Horizon Journey更专注于面向行业的算法。因此,姚颂总结到:“当你听到一个公司在做AI芯片时,首先需要弄清楚其芯片是针对哪一个AI层级的”。
在明确了不同层级的AI定义层级后,姚颂继续深入到一家做AI芯片的企业需要做哪些工作。姚颂说做AI芯片并不像大家想的仅仅做个芯片这么简单,他以做CPU为例给出了从应用到最终系统的八个层次。
姚颂以压缩应用为例进行了详细解释:在这八个层级的最上层是应用,无论是zip还是rar等格式的压缩应用,其下层都包含着一系列的算法和库。而这些算法和库的开发和建立,是需要为所有的程序员和开发者提供一个可用于开发的软件环境,比如微软Windows里的Visual Studio就是这样一个环境。而软件环境的建立则需要下一层级的操作系统、驱动程序和编译程序的支持,比如Visual Studio里的MSVC,就可将程序编译到最终指令。比如CPU上的X86指令集,就是一个很通用的指令集,可将上层应用和下层芯片需要做的事很好的割裂开。
有了指令集后,芯片的核心架构就可定义出来了,再往下的层级芯片公司可选择做或者不做,比如ARM做的就是IP授权,而英特尔做的就是芯片本身。再往下的层级就是芯片本身的实现,是制作板卡还是做SoC。对于做CPU的公司,中间两层即指令集和IP是最重要的,以这一层往上和往下都有两个相对明确的边界,对于做CPU的公司来说向上和向下的层级可选择不做。
但对于做AI芯片的公司来说,该如何来划定这两条边界呢?姚颂作为资深AI芯片设计者,给出了自己的理解。首先,对于AI芯片来说,其设计是针对不同用户的,因此指令集各异,芯片上跑的各项需求也各异,这些具有针对性和差异性的指令集对于AI芯片公司来说是需要自己开发的。
芯片底层的程序和应用算法也是天差地别的,姚颂以做人脸识别算法为例,他说更多的程序员会选择用Python和C编写程序,有些还需要改动操作系统内核等,而做这些之前必须要把上层的设计环境做好。姚颂继续指出,做底层设计的人和做应用的人是相互割裂的。但对于AI芯片公司来说,是不是做到IP这个层面就够了,要不要把芯片做出来,要不要进一步做称板卡的形式?如果再往上走,算法要不要做出来?姚颂说对于AI芯片来说,将算法做出来也是可以的,因为用户使用AI芯片来进行算法开发也需要一定的时间。比如英伟达做自动驾驶芯片,就将最终系统到应用一整套都做出来了,所以对于芯片公司来说,决定上下两条划分线到底该划到哪个层级,是相当重要的问题。
在拥有了一款性能非常好的芯片,并在市场上有了一定的竞争力之后,AI芯片公司该怎样构建产品的护城河呢?
姚颂说到,AI芯片公司最终的目的无非是让更多的用户使用自家的产品,而这里可拆解成三个部分:1、产品要有竞争力;2、要让用户接触到你的产品,并愿意使用;3、产品要刚好满足用户需求。姚颂更是提到不做到这三点产品是很难有长期的竞争力的。
从用户对产品的体验来说,姚颂也提出分为四个层级:第一层能用,处于这一层级的AI芯片可以满足运行机器学习算法,这就表示这块芯片能用了;第二层好用,当一块AI芯片的性能功耗比已经很高,随后又有了相应的完整的软件开发工作流,能够让大家把这些软件在芯片上使用起来,这就是好用;第三层爱用,如果一款芯片的操作非常简单,可以傻瓜式的一键开发,用户就会爱用了;第四层离不开它,要相处于这一层级,芯片公司就需要为客户提供额外的价值,比如为用户提供一个平台,其上有大堆的开源项目,可供用户进行参考设计。
在构建产品护城河时,最重要的基础部分就是硬件,硬件良好的性能功耗比将支持功能更多的软件功能,这需要不同层级间进行组合。比如安防行业,如果像大华这样的公司接了项目后,中间需要有集成商进行集成,比如将视频管理软件、IP摄像头集成到芯片系统上。如果想把AI加入到摄像头中,其实只需要将添加一个具有AI功能的模组,在这个模组里面是芯片和各种模组嵌入式软件。通过调整集成中各软硬件的连接串口,模组逐渐趋于稳定,再通过开发环境用户就可将集成后的系统使用起来。
在进行层级组合的时候,姚颂提到有两件事对于AI芯片公司来说很重要:一是提供的层级,离客户越近总收入就越高,离最终客户越远分到的钱就越少;二是芯片设计每跨越一个层级,开发周期就会增加6个月到一年,这是一个非常长的开发时间。
想要构建起产品的护城河,还有一个重要的点就是增加产品的不可替代性?对此姚颂也分享了自己的观点,他认为有五点需要AI芯片研发公司注意:1、在芯片设计时候,明确知道最终用户的需求;2、缩短开发周期,将芯片开发的难度降到最低;3、将芯片集成到系统中,使其运行更加简单;4、尽可能减少第三方的协作5、为用户提供更多的参考设计。
对于为用户提供更多的参考设计,姚颂提到了一些自己的想法:一是尽可能往应用层走,多了解一些应用;二是花更多的精力为用户提供便捷使用的软件,尽可能提供算法和库。三是尽可能多地提供垂直行业里需要的算法框架。四是尽可能地提供系统级方案,而不是单一的芯片。五是尽可能构建生态环境,让大家能够看到更多的用户生成的内容。
最后,姚颂总结到,一款好的AI芯片产品需要精确的算法加上针对整个垂直行业的全系统,他化用爱迪生“天才是百分之一的灵感加百分之九十九的汗水”的名言说,“研发出芯片本身只是完成了整个AI芯片的1%,对于AI芯片的开发者来说还有99%的脏活累活要做”。
在这些脏活累活中,AI芯片的开发者们不仅要多关注垂直行业的应用,以此定义系统和芯片架构,更要多关注终端用户,为他们提供更多的服务。
当然,站在AI芯片行业从业者的角度,姚颂也指出了关于AI芯片公司定位非常重要的一点:每家AI芯片公司都需要成为一家软件&系统公司,这样才能在市场竞争中取得优势。
在公众号回复“GTIC”,获取清华大学魏少军、英伟达Simon See、深鉴科技姚颂、腾讯叮当陈谦、宇视姚华、深思考杨志明的演讲PPT下载方式!更多嘉宾ppt将陆续对外公布!