CoCoPIE的探索与抉择,摸索前行的AI领域新星

51CTO

    【51CTO.com原创稿件】这是一家人工智能创业公司,成立之日尚短,刚完成A轮融资。
    创始团队中有三位分别来自美国东北大学、北卡罗来纳州立大学及威廉玛丽学院的本领域知名教授。
    它聚焦于端侧AI的实现,致力于在不额外增加人工智能专用硬件的情况下,让现有处理器能实时地处理人工智能应用。
    它就是CoCoPIE——在一条少有人走的路上摸索前行的AI领域新星。
    这家名字有点可爱的AI技术公司在近日迎来了其新任负责人李晓峰博士。李晓峰曾担任OPPO软件首席架构师、华为技术副总裁、华米美国分公司总经理兼技术副总裁,拥有丰富的技术研发和管理经验。对于终端设备的智能化趋势,他有何见解?AI创业公司众多,他为何选择掌舵CoCoPIE?结合CoCoPIE的技术和应用前景,他如何规划公司的当下和未来?就这些问题,李晓峰接受了51cto记者的专访。
    挑战:如何在终端设备上实现AI应用实时化
    随着5G和物联网技术的普及,人工智能在终端设备上的应用并不少见,大众对于人脸识别、视频监控、工业质检、远程维护等场景也算得上耳熟能详。但受限于终端设备的算力、功耗、内存等因素,终端设备的智能化之路依旧荆棘丛生。
    李晓峰指出:AI算法目前的主要技术是基于深度学习的,这就意味着,一般而言,比较大的模型才有可能获得较好的准确度。但模型大了之后就必然导致对算力的较高要求,而这一点在当前的终端设备上却很难被满足。
    当前AI在主流终端硬件上的实现方式是,设备将数据发送至云端进行运算处理,处理完毕后再发回至设备。这种方法固然是解决了算力问题,但一来服务器成本和带宽成本较高,二来应用体验会有时延。因此,如何实现AI运算本地化就成为了技术突破的焦点。
    李晓峰介绍:面对这一问题,业界常用的解决方法有两种,一是研发AI专用芯片或定制ASIC芯片;二是对模型进行大幅度压缩,降低对算力的要求。但就目前来说,这两种方法都存在明显不足。专用芯片固然能针对性解决算力问题,但成本高、研发周期长、通用性弱、风险性高,另一方面,模型压缩往往以准确度的下降为代价,也许能解一时之急,但终究很难在精准度和效率间取得平衡。
    要推广普及终端设备智能化,就必须解决这一困境。当CoCoPIE团队洞悉这一点时,他们敏锐觉察到:机会来了。他们并未拘囿于现有的解决方案,而是从第一性原理出发,分析AI任务的算力要求的本质,选择了一条少有人走的路进行探索。
    选择:CoCoPIE的另辟蹊径
    为什么AI任务在现有硬件上表现不好?李晓峰总结主因有二:“一方面是现有的AI计算中有很多冗余计算,另一方面现有的运行引擎没能充分发挥芯片的潜力。”
    通俗来说,专用芯片之所以更适合AI任务,是因为具有大量的矢量计算单元,能够适合大规模并行计算的需求。但事实上,当前主流芯片也基本都有了矢量计算单元。CoCoPIE团队认为,在深度学习模型本地化运算的过程中,CPU、GPU、DSP等主流硬件尚有很大潜力没有被开发。相比于AI专用芯片,这些通用芯片固然能力要弱一些,但执行当前的AI任务也基本够用。
    如何充分发挥这些通用芯片的潜力?李晓峰解释道,前提是必须有“优异的编译器”,通过精巧的设计将AI任务转换为合适的矢量计算,同时控制好总体的计算量。基于这一认识,CoCoPIE设计了一种人工智能模型的压缩-编译协同方案,能够使得以往无法运行在终端设备上的神经网络得以在终端上运行,进而在现有的终端设备硬件条件下,实现端侧智能的高效实时化。此外,这种软件协同模型亦可有效加速各种新生代AI硬件。
    李晓峰认为,CoCoPIE的技术路线在端侧AI领域有巨大的成长空间。早在CoCoPIE成立之前他就与创始团队认识并参与过初期讨论,后续也在持续关注其进展。李晓峰选择在CoCoPIE的发展关键期加入,对双方来说都是恰逢其会。
    对李晓峰来说,他高度认可CoCoPIE的技术实力,相信其能在端侧AI大有可为。他提到:端侧AI的潜在市场是万亿美元规模。能有机会在这样的发展风口参与其中,通过自身努力改变人们的生活,是幸事也是乐事。
    对CoCoPIE来说,李晓峰之前的工作经历和团队管理经验会为公司带来关键的助益。无论是在英特尔、华米、华为还是OPPO,围绕端侧设备展开的一系列工作都让他深刻体察到——端侧计算的重要性在不断扩展,端侧用户价值在不断提升。
    在英特尔时,李晓峰曾带领团队负责Android系统在英特尔移动平台上的性能、功耗和流畅性,并开发了业界第一个Android评测套件;在华米时曾领导团队进行健康手环产品的软件和算法研发;在担任华为技术副总裁时,曾带领团队研发应用于移动设备的智能感知算法;在OPPO时,曾发明基于感知触发的新型应用技术……这些经历让他对端侧AI的技术发展和市场需求拥有深刻的理解,对于端侧设备智能化的发展趋势和构建方式有深层的洞见,也让他对于掌舵CoCoPIE更有信心。
    内核:在“协同设计”中走出的第三种可能
    对一家技术公司来说,如果说掌舵者代表剑之所指、心之所向,那么核心技术永远是筑基之石、立身之本。在业界普遍认为硬件是限制当前终端设备进行实时推理的主要因素,故而针对芯片的竞争趋向白热化的当口,CoCoPIE的另辟蹊径反而提供了一种的新的可能和想象空间。
    CoCoPIE,即Compression-Compilation co-design for Performance, Intelligence,  and Efficiency,意为一种高性能、高智能和高效率的压缩-编译协同设计方式。从这个名字我们可以直观地看到CoCoPIE的技术核心和优势所在。
    李晓峰对此做了进一步说明:压缩和编译是在硬件上拟合深度学习模型以实现高效执行的两个关键步骤。CoCoPIE技术的核心在于二者的“协同设计”,这是CoCoPIE的首创技术。这个技术的关键在于,在设计压缩的时候考虑编译器及硬件的偏好从而选择压缩的方式,在设计编译器的时候利用压缩模型的特点来设计相应的编译优化方法。
    要做到这一点,寻找合适的模型压缩方式是关键。模型压缩需要在不影响模型准确度的前提下,减少模型的参数(权重)数量,从而降低模型本身训练及推理复杂度。
    以往权重剪枝主要有两种方式:针对任意权重的非结构化剪枝和针对过滤器或通道的结构化剪枝。非结构化剪枝能够优化任意权重,保证了准确率,但是由于剪枝不规则,对硬件优化不友好,不利于实现并行运算,计算能耗也会因此升高。结构化剪枝对所有通道和过滤器都做统一剪枝,由于剪枝方式规则,有利于硬件加速,但随之而来的是准确率的降低。
    两者各有利弊,综合权衡下,CoCoPIE开创性提出了第三种方案——一种基于模式(pattern)的权重剪枝方法。
    李晓峰解释,这种方法的基本思想是,针对不同的运行环境及模型特性,找到其特定的模式,对过滤器可以选取不同的模式进行剪枝。这种压缩方式本质上是一种“细粒度的结构化剪枝”,可以保证在有效减少计算量的前提下依然保证准确率不变。同时,编译器可以基于该模式对过滤器进行重新排列及代码生成,有利于最大化地实现计算并行化和内存优化。这样将压缩和编译完美地结合起来,实现了准确率和高效率的二者兼得。
    对应压缩和编译两个步骤,CoCoPIE设计了两个组件:CoCo-Gen和CoCo-Tune。CoCo-Gen通过将基于模式的深度神经网络(DNN)剪枝与基于模式的代码生成相协同,生成高效的DNN执行代码;CoCo-Tune则基于软件工程中可组构性的概念,将整个网络当做很多的组件模块的结合,其中每个模块由一系列CNN层组成。CoCo-Tune对这些可复用的训练模块进行预训练并将结果用于之后的网络,从而显著缩短DNN模型压缩及训练的过程。
    CoCoPIE带来的性能提升是非常可观的,它的加持不仅可以使很多曾经无法在端侧通用芯片上运行的模型得以高效运行,而且效率表现也远优于专用芯片。在对照实验中:
    同样是VGG-16神经网络,用通用芯片和谷歌TPU-V2作比,使用CoCoPIE后在移动设备Samsung Galaxy  S10上比在TPU-V2上能效提高了近18倍;
    同样是Samsung Galaxy  S10平台,运行行为识别的C3D和S3D两个任务,CoCoPIE的速度比Pytorch分别提高了17倍和22倍;
    另外,对功耗测试的结果显示,CoCoPIE与TVM相比,执行时间缩短了9倍以上,功率却仅多消耗了不到10%。
    产品:拓展智能泛在化的空间
    对一家人工智能创业公司来说,要寻求发展,除了在技术上不断精进外,建立完善的产品和服务体系也是重中之重。对此,李晓峰已经有了清晰的概念。
    在他看来,公司当前的发展重点是建立高技术壁垒的可以放量的产品体系,真正把领先的技术转化为可以直接服务于大规模客户需求的产品体系。同时要把团队建设、产品战略、业务战略这些公司发展的核心闭环打造坚实,与合作生态形成良性互动,这样就可以把雪球滚动起来,不断积累,加速成长。
    在创新技术的产品转化方面,李晓峰强调,他更侧重的是智能技术的泛在化(ubiquitous)。这里的“泛在化”更多意指无处不在的,而不是单单的普适化、大众化。
    他认为,过去在设备里植入芯片能跑一个或一些应用,就被认为是智能设备(Smart  Devices)。但实际上这里的“智能”实现要依赖云端、依赖网络,一旦这些外部条件出现变化或故障,均有可能带来不可预计的损失。何况很多业务本身对于隐私安全、运行安全都有要求,这些不可控因素会使人不敢将业务部署在端侧。这种状况在很大程度上也限制了端侧AI的发展。
    因此要真正推动Smart Devices(智能设备)向Intelligent  Devices(智慧设备)演进,必须拓展其发展空间,使AI真正无处不在,让端侧智能在本地真正实现,而不是受限于外因。CoCoPIE目前在做的就是加速这一进程。CoCoPIE的技术实质是让AI任务在芯片平台上实现高效执行,也就是起到连接AI任务和硬件平台的作用,这个环节为端侧AI的本地实时化提供了路径,重塑了Intelligent  Devices的想象空间。
    李晓峰介绍,目前CoCoPIE的技术已经拥有了比较多样的落地场景。具体来看可以分为三类:AI应用的优化执行,比如助力实现实时的视频增强;智能设备AI赋能,比如摄像头的活动检测;芯片平台的一体化设计,比如为芯片平台设计和集成AI运行栈。
    基于这些场景,CoCoPIE可以为用户提供三类服务:其一,通过供完整的工具链和SDK来赋能客户;其二,通过云侧SaaS提供大规模的自动化AI模型优化服务;其三,深入合作提供定制化服务。
    目前CoCoPIE的合作客户有腾讯、滴滴、美国交通部、高知特(Cognizant)等等,涵盖了互联网厂商、移动设备制造商、芯片平台提供商等多个领域。
    远方不远:万物智能互联,想象无远弗届
    无论是个人还是企业的发展都离不开时代。我们正身处一个怎样的时代?
    5G发展如火如荼,物联网也在多年沉寂后走到了聚光灯下,万物互联开始成为时代的技术梦想。无数的终端设备犹如繁星,在这个梦想中明灭起伏,不可轻忽。CoCoPIE窥见了其中光景,于是在这个玩家众多的赛道欣然入局。
    李晓峰说:“设备是为人服务的,是人的能力的延伸。”
    在他看来,端侧设备是人与数字世界进行交互的载体,端侧能力的发展趋势就是让人可以自由地在物理世界和数字世界之间进出。未来,越来越多的端侧设备一定会协同起来,让这个进出的过程更加流畅、自然、无感。
    要达成这一目的,必须满足两方面的要求:一方面,端侧必须能够理解人,清楚人的意图和环境,才能定位优质服务,做好数字世界的入口;另一方面,端侧必须能够给人以愉悦真实的体验,才能输出优质服务,做好数字世界的出口。这两者都需要端侧设备更加“聪明”,既能知道人的需要,又能满足人的需要,做到“交互智慧化、体验真实化”。发展端侧AI的重要性就在于此,CoCoPIE也正是为此而生,长路漫漫,它亦期待着更多同行者,相携数程,得见未来。
    【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】
    来源:51CTO张洁