以史为鉴,计算技术发展的回顾
电子计算机诞生 70 多年了,这 70 多年来,计算技术追求的目标主要有两点:第一,算得更快,这主要靠系统硬件技术进步;第二,使用更方便,这主要靠软件系统技术进步。
系统硬件技术的进步得从两方面努力,一是发明新器件,器件(逻辑器件/存储器件)是计算机的基础,可以说是一代器件一代系统。二是创新体系结构,即创造适合应用特点的高效体系结构,随着芯片技术的发展,又存在微体系结构和宏体系结构的创新。计算模型和算法的创新,催生了体系结构的创新。
系统软件技术的进步也得从如下方面努力:一是优化系统资源管理,提高资源利用效率;二是提供友好的人机交互方式,这主要是靠操作系统来做;第三是发明面向领域应用的编程语言;第四是丰富应用开发环境,这里包括软件工具、编程库、中间件等。计算竞争形态的演变早期是单个计算机系统的竞争,可以说是一种型号、一种体系结构、一套应用软件,这时候软件依附于硬件,用户更换计算机型号的时候要移植已有的应用软件。到中期,变成了计算机系列的竞争,这是由 IBM 360 系列开始的,时间是 1964 年。这时候,系列内不同型号向下兼容,当用户升级型号的时候,已有的应用软件在原则上可以不用变化。到了网络时代,是计算生态的竞争。计算基础平台,包括系统硬件和系统软件,以及平台上承载的利益相关的技术和服务商提供的产品集合,总体来讲形成了一个竞争的计算生态。计算生态竞争的特点计算生态竞争和传统的单个计算机系统及计算机系列的竞争有不同的特点。
第一,不再是单打独斗,而是利益相关者的抱团竞争。
第二,生态的核心是基础平台,或者说是研发平台的相关企业。
第三,平台越早进入市场,就越容易占领先机,定下生态发展的主旋律。
第四,平台上承载的内容越丰富,生态规模越大,就越容易吸引用户,应用越多就发展越快,生态系统就会越稳定。
互联网时代,一个领域经过一段时间的竞争,最后往往出现一两个计算生态垄断的格局。纵观每一次计算技术的转轨,都会发现可能会引发行业的洗牌。有的企业抓住了机遇,就发展为新的产业巨头,比如英特尔抓住微处理器发展的机遇;有的与时俱进,开拓了新的发展领域,比如 IBM 的大中型机、PC 机、云计算;有的未适应这种技术转轨,就可能退出了相关领域,如摩托罗拉、诺基亚。我国传统计算发展历程回顾我国传统计算发展历程,可以分两个阶段。一是在电子管、晶体管中小规模集成电路时代。我国元器件与国际相比有差距,但是还不太大,是量上的差别。当时完全是基于国产的器件研制计算机的硬件系统,同时自行研制软件系统。比如 1964 年哈军工研制的 441B-I 型通用计算机,就是全国产晶体管。1979 年,国防科大研制成功的 151-IV 型大型通用计算机,全部采用国产中小规模的集成电路(全部器件自主设计、定型、生产),用于远望一号测量船的中心数据处理。当时我国发展计算机的原则是:借助外援而不依靠外援,坚持独立自主引进技术,不单纯购买机器,有步骤地发展我国计算机事业。当集成电路进入超大规模时代,我国在微处理器技术方面出现了质的差距。为满足发展需求,1981 年以后国家允许进口配套的器材来组装系统或者直接引进计算机系统来解决应用需求,这样基于引进的微处理器设计系统或者集成引进系统来做开发应用,就成为主要路径。由于系统硬件退出了核心技术,系统软件也就失去了发展动力,大部分学校也把人才培养转向了计算机应用专业。特别是出现了软硬联盟、抱团竞争的计算生态垄断以后,我国几次努力都未能改变传统基础计算平台发展的被动局面。
回顾这段历史,我想有如下几点启示:
第一,使能技术、基础平台,决定了自主发展的基础能力。
第二,模型和算法创新,能够牵引体系结构的变革。
第三,规模的应用是整个生态发展进步的动力,技术的转轨可以来创新发展的机遇。
智能计算带来创新发展的机遇
我要谈的第二点是智能计算带来创新发展的机遇。大家都把这一次人工智能的兴起归结为深度学习+大规模计算+大数据(算法、算力、数据)。2006 年被视为深度学习元年,虽然神经网络概念较早就提出来了。深度学习之所以成功的重要背景是,计算能力达到了可实用要求,互联网的发展又带来了大量可用的数据。
这一次人工智能的兴起有一个重要特点。前两次更多是由学术主导,学术界呼吁政府和投资人投资。而本次主要是商业主导,政府和投资人主动向热点领域投入。可以说,这一次的兴起是人工智能技术真正与产业结合,飞入寻常百姓家。智能计算的特点人工智能,或者说智能计算也存在生态问题。智能计算分为两个相对独立的阶段,一是训练学习阶段,二是推理应用阶段。智能计算平台可以分为两大类,一个是「云侧」平台,解决模型的训练(学习)以及海量智能信息服务(推理)问题,一个「端侧」平台,百花齐放,主要解决推理应用。
智能计算模式相对比较少,精度要求相对低。深度学习算法集中在一些相对固定的操作模式,如向量、矩阵运算,在训练阶段,单精度(32 位)或者半精度(16 位)就可以了,在推理阶段,甚至可以到低值、二值。此外,智能计算可并行度高,目前神经网络同一层的计算可以完全并行,而且很多是规则的大数据流并行。智能计算对体系结构的要求智能计算也对体系结构提出了新的要求。比如,在云侧的模型训练需要高效能大规模并行计算能力的支撑。特别是学习模型参数多,数据规模大,计算量大的时候。比如涉及到 80 多亿个参数的机器翻译神经网络模型,这种大型模型的训练,即使在现在的大规模计算平台上,有的也需要几个月的时间。
在云侧,如果用来推理应用就需要高吞吐率、低延迟的服务计算模式支撑,满足海量并发推理任务的服务质量要求,对海量在线用户的快速实时响应。端侧的推理应用需要小型化、高能效、低时延、传感-计算-通信融合的体系架构支撑。无人机/无人车/机器人等诸多设备,对时延要求非常苛刻。智能计算技术发展态势当前智能计算技术发展态势主要有如下特征。
一,大家都在积极探索高效智能处理芯片体系结构及实现技术。例如传统通用芯片、FPGA 半定制芯片、全定制芯片或者类脑芯片。总体上来讲,专用的 ASIC 芯片具有一定优势,测试表明,专用 ASIC 的能效比(性能/瓦)明显优于 CPU 和 GPU,同时,ASIC 芯片发展前景也比较好,预计 2025 年市场规模将超过 CPU 和 GPU 的总和。
二,努力探索新型体系结构。比如分析人工智能计算特点,凝练高效人工智能计算指令集;面向智能计算的高速互联拓扑;存算一体、算通融合、异质异构计算架构;适用 AI 其它模型的体系架构,如图计算、规则推理等。此外,还有探索高效好用的智能计算的软件生态,比如智能计算软件框架,包括高效语言编译、基础算法库等等,努力打造软硬一体的智能生态计算。
在云侧,计算机产业几大优势企业正在竞争主导地位,比如谷歌的定制专用智能芯片 TPU,英特尔和微软试图采用 CPU+FPGA 争夺市场,华为发布专用智能芯片昇腾 910。在端侧,各大公司纷纷推出 ASIC 芯片架构,ARM、英特尔、苹果、高通等企业在芯片上做出了很大的努力,中国企业的典型代表有华为、寒武纪、比特大陆。同时,各公司纷纷开源智能计算软件框架,当前的态势是群雄竞争,谷歌领跑。我前面讲过,传统计算已经形成了软硬件抱团竞争的垄断态势,但是智能计算当前的态势是,软硬件还相对独立,尚未形成软硬一体抱团竞争的垄断局面。我们应抓住自主、创新的发展机遇这里做出小结。
人工智能应用对基础软硬件平台技术提出了很大的挑战,目前智能计算的生态尚未形成垄断的态势。正因为这样,就给我们创造了机遇,要抓住自主、创新发展智能生态计算的机遇期。智能计算还有很多理论性的难题有待攻克,谁能在这些难题上率先取得突破,谁就有可能牵引新结构体系的发展。
夯实基础,防止重蹈历史覆辙
我想谈的第三点是夯实基础、防止重蹈历史覆辙。现在人工智能非常热,人工智能发展也很快。我国人工智能发展面临大好机遇我国人工智能计算发展面临一个很好的机遇。我国应用需求旺盛,应用成果多。2016 年,中国数字经济居全球第二,占 GDP 比重超 30%,互联网应用发展非常好。2018 年,中国人工智能企业数量在全球排名第二,是全球人工智能投融资规模最大的国家之一。同时,我们也拥有一支实力强的科技队伍。AI Index 2018 显示,我国在人工智能领域发表论文的数量已经超过美国。人工智能领域的专利申请排名前十的国家,中国也是排在第一。在基础领域,我们也取得了可喜的成果。我前面提到,在传统领域,比如芯片技术上,特别是在微处理器阶段,我们的落后导致我们的基础必须要依靠别人。而现在围绕智能芯片的研发,2018 年,中国有 7 家企业进入全球排名的前 24 名。智能计算软件框架,中国企业也有领头,比如百度的 PaddlePaddle、腾讯的 Angel、阿里的 X-DeepLearning 等。我们有很好的起点。严峻挑战但是我们也面临着严峻的挑战。
一,原始创新能力不足。我们的研究跟踪多、创新少,量有优势、质量上明显不够。
二,短板明显。智能芯片产品主要面向推理,云侧训练芯片竞争能力弱,高性能 GPU、FPGA 仍依靠引进。
三,从事技术平台和处理器芯片的企业数量比较少。无论是在计算基础平台还是处理器芯片研制上,我们的企业占的比例都较少。
四,应用开发主要基于国外智能计算软件框架之上。
五,我国自主智能计算软件框架的影响力与国际相比存在较大差距。聚集在上面的第三方应用少,以自用为主。从 Github 活跃度上可以看到,百度 PaddlePaddle、腾讯 Angel、阿里 X-DeepLearning 与谷歌 TensorFlow 等差距较大。
除了以上几点,最大的挑战是,虽然我国软硬件研发能力已有质的提升,但研发产品的竞争力仍然不强。如果我们不抓住机遇,夯实基础,下大力气去打造有竞争力的抱团竞争的智能计算生态,仍然只是注重近期效益,发展应用,我们就有可能重蹈传统计算产业的覆辙。一旦在人工智能领域、智能计算领域也形成若干个这样的垄断生态,那我们又要变得被动。如何应对目前的艰难局面对于如何应对,我觉得有如下几点思考。
一,学术界要面向智能计算挑战问题,加大国内外合作,持之以恒,以基础理论、计算模型和算法上的创新突破,牵引体系结构的创新。
二,产业界要推进产业联盟(芯片、平台、应用商),发挥既有骨干企业优势,构建上下游协同的产业链,集中力量打造我国有竞争力的智能计算生态。关键是集聚应用、滚动发展、形成规模,规模越大,生态会越稳定。
三,管理部门要综合施策。一是激励骨干企业加大对基础平台的投入;二是引导学术界、企业、应用部门基于自主计算生态做研究和开发;三是成立智能产业发展大基金,市场和政府协同,以目标为导向,推动产学研联合。特别是要关注当前的一些小微创新。
四是教育部门要合理部署多层次人工智能领域人才培养,在人工智能领域,从当前来看,虽然大家都很重视,但无论是人才总数还是基础人才数量,我国和国际存在很大差距。
最后,我想用这么一句话来总结今天的报告,前事不忘后事之师,只有夯实基础,才能够行稳致远,谢谢大家!