全栈基础软硬件平台 助力AI新时代
2020-01-04许映童
作为人工智能的基础技术和通用技术,基础软硬件平台被众多寻求智能化发展的行业高度依赖,同时,它也是人工智能时代国家在世界科技的战略制高点。在2020世界计算机大会上,华为昇腾计算业务总裁许映童结合自身行业经验,分享了在当前时代,华为全栈全场景AI解决方案是如何助力AI朝着更好的方向发展的。
当前,国产芯片、操作系统,包括通用计算、人工智能等领域百花齐放,取得了非常好的发展成果。未来,人工智能发展的目的不是取代人,而是增强人的能力,最终实现安全、可信,但可控还是由人来控制的。
人工智能带动宏观经济蓬勃发展
首先,人工智能作为通用目的技术,对宏观经济带动效应增幅明显。之所以称人工智能技术为通用目的技术,是因为它不是专门为某一个技术领域发明的,它可以赋能千行百业,带来效率的提升,甚至是指数级的提升。此外,人工智能的出现不仅仅带来了技术的变革,还会带来管理的变革、组织结构的变革。可以根据两个数据来说明这一点。首先是对整个GDP的推动,AI将带动GDP快速增长。以蒸汽机为例,蒸汽机带动全球GDP增长0.3%,而根据麦肯锡全球研究所(McKinsey Global Institute)测算,人工智能可在至少未来十年使全球GDP增长1.2个百分点。实际上,人工智能的潜力远远不止于此,这也是为什么全球50多个国家发布了人工智能的相关战略,许多地方政府,以及企业等无法忍受在人工智能时代落后于这个产业的发展,大家都在积极拥抱人工智能。
人工智能的最终目的并不是取代人类,人工智能可以带动就业快速增长。在各种行业中,无论是在服务业,还是建筑、工业中,都会有一些简单、危险的重复性劳动,这些工种可能会消失,但与此同时也会带来新的工作岗位,数据分析师、算法工程师等,人工智能对中国就业的净影响可能将创造约12%的净增岗位,年增长率约为0.6%。因此,这些都是从宏观层面看到的人工智能对社会带来的影响。
从“AI+”到“+AI”还有很远的距离
从技术角度来看,当前大家在谈论人工智能时,更多地是在谈论深度学习。2012年,Hinton课题组为了证明深度学习的潜力,首次参加ImageNet图像识别比赛,其通过构建的CNN网络AlexNet一举夺得冠军,且以近30%的领先优势碾压第二名,把深度学习推到了历史舞台。在深度学习领域,无论图像识别、语音识别、阅读理解等方面,还是所谓的感知智能,都已在单项领域超过了人类。目前,有关人工智能的应用,更多的是一些AI算法公司在某一个技术领域取得突破,然后把这些技术找一个合适的应用场景进行落地,这就是“AI+”。人工智能是一个工具,就类似于一个锤子,满世界找哪里有合适的钉子可以敲一下,这将带来非常大的应用前景。未来,人工智能想要进一步发展,进入一个新的阶段,即所谓的“+AI”的阶段,各行各业融合AI,走向场景化应用,面对千行百业面临的挑战,思考如何用人工智能技术、人工智能方法来解决。但这会带来一个新的挑战,企业的问题、社会的问题,千变万化,单一的某一种技术无法满足客户的需要,这就是为什么人工智能领域需要更多的合作伙伴,需要强调生态,强调多种技术的融合。从“AI+”到“+AI”,意味着人工智能有更大的一个发展空间。
人工智能具有广阔的应用前景,这一点毋庸置疑,但从华为与千行百业中大量的客户合作过程中发现,AI从算法到深度学习模型、网络,再到最终实际生产环节中發生作用还有很远的距离,面临着八大鸿沟、三大挑战。八大鸿沟分别是模型获取、数据准备、训练、准确度验证、应用开发、NPU性能调优、业务流程监控、适配开发。三大挑战分别是算法开发难、应用开发难、业务部署难。从事人工智能行业的工作者都知道,在模型获取时,随着模型不断创新、新的网络不断出现,无论是精度还是规模,相对于以往的网络都更为复杂,实现效果也更好。但对于大量的企业来说,由于没有专业的知识经验,没有办法跟踪这种变化,对于在选择什么网络的问题时,不能像专业公司那样做出很好的选择,这对大量公司来说是一个很大的挑战。对于数据准备环节也是如此,大量的高质量数据该如何获得?尤其是中小企业,既没有高质量数据也没有高精度模型。此外,还存在算力的问题。很多算法公司将算法打造出来,但是很多企业在应用的时候,会遇到很多问题,一些算法工程师,甚至是从美国回来的最顶尖的算法工程师,在应用这些算法的时候也会遇到难题,如何把这个模型部署到生产系统里面?即使是最后的从屏幕上将结果显示出来可能也难倒了很多公司,因为他们更多的是只懂应用而不懂算法,背后还需要有很多行业的支持。没有边缘推理就没有办法真正产生价值,软件如何升级,算法如何升级,数据迭代之后如何进行操作。可以说,整个过程中所有的架构和体系是分裂的,该如何通过统一的架构解决这些问题呢?
华为从两个角度提出了解决方案。第一个是技术解决方案,所有的问题首先依靠整个技术体系,华为昇腾团队的专家们一直在研究用自身的基础软硬件架构来解决这一问题。有两个核心,第一个是解决算力贵的问题,如何才能够让大家用得起AI算力,如何把AI算力充分释放出来。第二个核心问题在于,AI是一个非常大的、复杂的难题,如果让所有公司都从算法工程师开始培养的话,很不现实,而华为昇腾所提供的技术解决方案,可以说是极致性的极致应用,甚至不用代码也能写出和一流算法公司一样高质量的AI业务,这就是华为昇腾的初衷。另外,仅仅只是解决AI的技术性问题还远远不够,生态型意味着终端用户,包括政府、政策制定者等都要发挥作用。
首先,从技术解决方案角度来说,当前中国的人工智能产业可以分成四层,第一层是硬件基础设施,以芯片为中心,包括板块、模组、集群,在这一层中,有很多企业做得很好,可以说是百花齐放。但是从全球来看,在AI芯片的研发上,尤其在数据中心的训练侧,目前还是英伟达的GPU,占据主流性的领导地位。第二层是软件基础设施,在AI领域中最核心的AI框架搭建上,目前占领先地位是谷歌的TensorFlow、Facebook的Pytorch等,其他的一些企业的框架产品与之相比还有很大的差距。第三层是技术层,包括算法等。在技术层中,中国有大量领先的算法公司,包括阿里巴巴、百度等,其实在这一层可以说中国之所以具有很多领先的企业,主要是得益于过去移动互联网的发展,大量的数据、数据的连接、应用等,随之催生出优秀的算法,从而使得在这一方面处于领先地位,呈现出整个生态在应用层、技术层拥有大量的世界级的领先公司。因此可以说,当前中国的人工智能聚焦于应用层与技术层,基础层相对薄弱。市场上有很多基础公司主要致力于芯片、AI操作系统和AI框架的研发上,但在这个层面其实是非常薄弱的。
全栈基础软硬件平台助力AI发展
人工智能无论应用多么丰富,如果没有一个坚实的基础设施,没有一个可持续的保证,它的未来便不可持续,它的发展也不可能走得非常远。因此,考虑到这一点,华为推出了一个全栈的、全场景的解决方案。2019年,在科技部19个人工智能专项领域中,华为作为唯一合作平台,承接国家新一代人工智能开放创新平台。目前华为昇腾团队在不断努力进行研发,主要从四个层面进行,包括AI系列硬件、AI算子开发、AI模型开发、AI应用开发。在AI系列硬件层,从手机、终端,以及边缘侧摄像头里面的AI核,包括500个小站,覆盖全部形态,里面是一个统一的架构——端-边-云统一架构,现在终端运行和服务器集成运行的AI核是统一的。AI算子开发层,具有异构计算架构,核心的作用就是把芯片强大的算力释放出来。
可以这么理解,华为坚持硬件开放、软件开源、使能合作伙伴。在硬件上,提供标准的模组、板卡等部件,使能伙伴开发基于昇腾部件的硬件解决方案。AI的应用是面向千行百业的,具有几千种、几万种落地应用方法。而华为也在不断寻求与业界伙伴的合作,未来打造出这样一个开放的硬件形态。软件方面,提供昇腾应用使能MindX,开放包括深度学习平台参考设计、智能边缘组件、优选模型库,以及行业SDK;开源AI框架MindSpore,帮助AI开发者更简单、更高效地开发和使用AI技术,兼容支持主流框架如TensorFlow、PyTorch等;开放统一编程接口AscendCL,支持伙伴构建基于昇腾的AI应用和业务。在应用方面,华为不做应用,不通过应用变现,所有应用的算法都是由合作伙伴来做,这就是生态在整体上的一个合作策略。
首先,在硬件层,ATlas系列硬件将构筑最强AI算力平台。从Atlas 200、Atlas 500、Atlas 500 Pro,到Atlas 800,在推理方面,相对于目前全球最主流的推理卡,业界推理卡分析路数最高可达40路,而华为的产品可以做到80路,视频分析2倍领先于业界。这些主要得益于芯片的性能,此外还有华为整个全栈软件优化的优势。目前,在硬件这方面,华为已经有几家全国性的合作伙伴,未来还会继续发展更多的合作伙伴,展開深度合作。
CANN3.0使能全场景AI开发,通过这一层,能够让上层的应用调用。这其中有一个核心的设计理念,首先是端-边-云全覆盖,对于企业来说,在开发应用时,不需要考虑是部署在手机中还是其他哪些地方,支持TensorFlow、Caffe、PyTorch等多种框架,还支持多种操作系统、硬件系统。通常情况下,在网上看不到形态系统,在部署的时候便可以使用端-边-云的协同。接下来就是极简开发,对上提供统一的API接口,下面包含很多库,在开发时最大限度地利用计算性能,直接调用接口,在这个过程中可以直接使用系统中已经写好的算子库,也可以根据自身情况使用自身的算子库。可以说,CANN是真正的算法专家、算法工程师,用户在使用时可以提出自己原创性的算子,优化整个CANN。目前,该产品中已经有超过一千多种的高性能算子,还可以创造自己新的网络,在不久的未来将会产生非常大的影响力,这种开放的架构是可以实现的。此外,它还具有使能极致性能的特点,软件和硬件可以一体化设计,这就是为什么苹果的IOS系统可以和它的CPU配合得很好,其本身可以持续优化。同样一个理念,目前华为的产品中已经内置了昇腾的图编译技术,包括高性能算子,基本性能已经很优秀,同时提供可扩展的工具以便继续优化。
在研发这个产品的过程中,我们累计投入超过3000张人脸,1000多人的软件团队,远远超过了芯片的开发工作量,这就是做一个平台和做一款产品的差别,平台要考虑到各种形态,考虑到兼容,这不是一个简单的软件架构,涵盖了一套编程体系,包括CANN、编程语言等,以及配套CANN支撑整个全流程开发的工具链,而一套工具链中又包含了各种工具,包括算子开发、模型推理、应用开发、应用部署,这一全流程的工具链。如果只是做某一个平台,没有考虑到可以应用到全行业中变成一个通用平台的话,其实不需要打造这个工具。华为的目的就是希望一开始可以真正成为和全球最优秀的竞争对手去抗衡的一个体系。
接下来介绍一下MindSpore 1.0,就是目前自主可控的主流框架。MindSpore 1.0,可以将其称之为全场景AI计算框架,三大创新助力全场景AI应用。
全流程极简,无论是小白还是专家都可以快速基于MindSpore 1.0上手,打造简单易用的AI开发套件。在具体场景下使用这种模型,对精度进行了大量的训练,模型开发套件“即开即用”;模型调优套件“所见即所得”,动静结合,既可以静态执行,也可以动态执行,在线灵活切换;第三方支持套件“一键转换”,与很多生态实现了共享和兼容。
全周期的编程,达到全场景协同,整个体系围绕极致性能、极致应用,自适应部署多样化设备,模型“私人订制”,这是一个后发优势,综合目前整个人工智能领域的发展,可以对上文提到的八个鸿沟、三大挑战进行优化。在数据中心训练的模型,可以一键式推送到边缘侧,无论大小,全程不需要人工干预。
全自动并行,模型、算子自动切分,多核自动扩展到集群。不仅能够把图、计算图进行拆分,还可以从算子选择不同的执行单元,AI算力非常耗时,如何通过充分的应用来实现这一点是值得考虑的问题,如今集群越来越大,如何把一次计算分布在不同的机柜、不同的结果单元中非常重要,8卡、32卡,目前全球的竞争对手典型场景下也只能做到75%和80%的并行度,而这也是全栈优化的一个结果。
目前,在华为手机或其他一些高端手机中的人脸识别、在线翻译等,很多都已经使用了MindSpore,据统计,每天的调用次数超过1.6亿次,已经在端侧大规模使用。可以说,MindSpore是一个大规模生态,仅靠华为一家没法繁荣发展,为此,华为在这一方面也在不断想办法,举行了大量活动,包括开发者赋能等,已经发展了全球5.5万个开发者,每个月都会有一些线上、线下活动,目前已经在70所高校进行了MindSpore相关合作,包括科研、教学等。此外,团队研发的模型也已联合20多所高校来开发、完善,所以目前MindSpore生态的进展可谓突飞猛进。
此外,MindSpore上面还有一层MindX,使能伙伴AI应用创新。它不需要上文所讲的算子、网络,直接把AI当成服务,还提供技术支持,包括组件2+1+X,即“深度学习使能、智能边缘使能+优选模型库+行业SDK”。目前,团队重点是面向制造推进,传统制造通过AI来转型升级是一个大课题,这个场景应用将具有非常大的发展前景。
另外一个就是面向视觉领域、面向头像、面向视频领域,目前这一块已经有所成果。SDK应用的场景,除了算力、算法之外,很重要的就是内耗。在制造业领域,团队将30年的制造业经验与人工智能发展结合在一起,在华为松山湖工厂中的80多个生产线应用,覆盖服务器、无线、终端等产品,将传统设备的95%左右的准确率提高到目前智能化设备的99.9%以上的准确率,这意味着机器真正可以代替人工质检,将整个质检工作量降低了60%。目前,这些产品已经在规模上线了。
助力AI计算中心建设,推动AI产业发展
可以说,人工智能技术真正的未来,一定是应用,但这一未来的实现仅仅依靠单一企业是很难做到的。上文已经提到了人工智能发展所面临的算力、算力贵等问题。AI基础设施建设成为撬动产业发展的核心抓手,而华为昇腾AI在不断助力人工智能计算中心建设,推动AI产业发展,里面含有软件基础设施、硬件基础设施、基建基础设施,具有专业团队进行维护。预制模块化数据中心,超短建设周期,快速使能产业;AI集群具有超强算力,满足AI海量算力需求;全栈AI软件平台,使能各层级开发者。最终将达到什么样的效果?第一是公共算力服务,通过政府政策,为当地企业提供普惠的公共算力服务;第二是应用创新孵化平台,结合地方产业特点,打造AI應用示范标杆;第三是产业聚合发展平台,建设生态创新中心,带动AI产业集中集约化发展;第四是科研创新和人才培养平台,支撑科研创新和AI人才培养,实现人工智能共性技术突破。
以算力集群赋能产业集群,带动产业发展,华为一直在努力,希望借助人工智能计算中心,协同城市、教育、交通、金融、能源等所有的千行百业,让人工智能融合到这些场合里面,真正让人工智能解决生产问题、效率问题,从而实现人工智能的愿景,让人类变得更美好,让我们生活变得更美好。
(本文根据华为昇腾计算业务总裁许映童在“2020世界计算机大会”上的演讲整理而成,未经演讲人审阅)