序言一
未来20年或更长的时期内,人工智能将是科学技术和经济发展的重要方向,智能化技术有可能触发新一轮经济长波甚至第四次产业革命。世界各国都制定了发展人工智能技术和产业的长期规划,在这些规划中,适应智能化社会需求的人才培养都已被列为一项艰巨而紧迫的任务。
由于巨大的市场潜力和国家高技术研究发展计划(863计划)等国家科技计划形成的长期科研积累,我国的人工智能应用和算法研究走在世界前列。但是,我国人工智能基础层、技术层和应用层的人才数量占比分别为3.3%、34.9%和61.8%,基础层人才比例严重偏低。这种现状是我国计算机领域长期不重视系统教育造成的。
我国近千所大学设立了计算机专业,近年来有上百所高校创办了人工智能专业。由于缺乏师资力量和合适的教材,目前一些学校的人工智能课程重点教授流行的机器学习算法和图像处理等应用,培养出来的学士、硕士和博士只会用算法调参数,并不真正理解人工智能应用到底是怎样运转起来的。对于人工智能算法究竟如何调用编程框架、编程框架如何与操作系统打交道、编程框架中的算子在芯片中如何运行,很多学生并没有清晰且全面的理解。缺乏系统知识和系统思维,学到的知识点就是零碎的,没有打通“任督二脉”。学生毕业后参加实际工作,懂不懂系统知识带来的工作成效差别巨大。同样一个程序,一个普通的程序员来写和一个懂体系结构的程序员来写,性能可能差几万倍。
中国科学院计算技术研究所从1956年成立起就一直从事计算机系统研究。1990年依托中科院计算所成立的国家智能计算机研究开发中心继承了计算所的学术传统,既做系统结构研究,又做人工智能理论、算法和应用研究。陈云霁、陈天石研究员领导的团队研制的“寒武纪”智能芯片就是在这样的环境中孕育出来的。看到国内人工智能系统人才十分短缺的现状,陈云霁研究员主动请缨,2018年在中国科学院大学率先主讲了“智能计算系统”课程,后来又在北京大学、北京航空航天大学、天津大学、中国科学技术大学、南开大学、北京理工大学、华中科技大学等高校独立或联合开设了同样的课程。2019年8月他办了一次导教班,全国40多所高校的60多位老师参加了这次导教班。他的“智能计算系统”课程受到老师和学生的普遍欢迎。经过两年的打磨,这门课的内容已基本成熟。中科院计算所智能处理器研究中心多位同人努力将讲课的录音整理成文字,形成了这本书。
一个完整的智能计算系统涉及芯片、系统结构、编程环境、软件等诸多方面,内容十分庞杂,要在一个学期讲完所有的内容十分困难。这本书采用“应用驱动,全栈贯通”的原则,以“图像风格迁移”这一具体的智能应用为牵引,对智能计算系统各层软硬件技术栈的奥妙和联系进行精确、扼要的介绍,使学生对系统全貌有深刻印象,达到举一反三、触类旁通的效果。
人工智能过去不是大学教育的必修课,培养人工智能专业的人才需要本科教育再加3~6年时间的硕士或博士教育。目前阻碍人工智能在各个行业落地的因素之一是人员成本太高,加速培养研究生只是解决困难的路径之一,但不能从根本上解决问题。对任何行业而言,技术人才的构成都是金字塔结构,而构成金字塔底层的技术人员主力应该是大学毕业生。因此,如何让大学毕业生在推广智能应用中发挥重要作用是本科教育应该考虑的问题。中国科学院大学启动了一个计划,让本科生在全开源的EDA工具链上设计出开源处理器芯片并完成流片,实现带着自己设计的芯片毕业的梦想。这本书的初衷也是希望能培养更多懂智能计算系统的本科生,加速弥补人工智能的人才缺口。由于我国系统结构方向的师资力量较薄弱,也许很多学校一开始会将这本书作为研究生教材。希望通过大规模教学实践的检验,这本书能进一步修改完善,成为一本广泛采用的高年级本科生教材。
互联网服务业的发展得益于开源软件和公共开发平台,丰富的网络软件开发工具使得开发互联网App成为一件轻松的事情。同样,提供容易掌握的成套抽象化工具,可以大幅度降低人工智能的应用人才门槛。这本书除了讲述深度学习等智能算法和加速处理器外,特别用了两章篇幅详细阐述编程框架的使用和机理。所谓编程框架可以从两方面来理解:一方面将算法中的常用操作(如卷积、池化等)封装成“算子”,方便程序员直接调用;另一方面像操作系统一样,作为软硬件的界面,起到承上启下的作用。目前,我国的技术人员使用的编程框架基本上都是外国公司提供的开源软件,使用最多的是Google公司开发的TensorFlow。从长远来讲,如果中国的技术人员离不开外国公司的编程框架等开发平台,智能产业的发展一定不平衡、不协调。会用编程框架和会自己写编程框架是差别悬殊的两种本领。希望通过本课程的教学,中国能培养出可以自己创立编程框架的研发队伍,为技术领先、有市场竞争力的人工智能开源平台贡献中国力量。
陈云霁研究员不但善于做基础研究,写了不少引领世界潮流的高水平论文,而且长期从事芯片设计工作,有丰富的工程实践经验。他主持编写的这本书具有理论与实践相结合的特点。这本书不但每一章都有从实践中总结出来的习题,而且专门安排了一个大实验,要学完本课程的学生实际动手开发一个能完成图像风格迁移(如把一幅风景照片转换成梵高风格的画)的简单智能计算系统。国外一流大学的计算机系统课程都有较多的课程实验,中国科学院大学开设的操作系统等课程也配有大量的实验内容,学生反映做实验的收获很大。“纸上得来终觉浅,绝知此事要躬行。”计算机系统方面的课程如果停留在“纸上谈兵”,学生学到的知识往往是空洞的名词术语,毕业后仍然会“眼高手低”。希望采用这本书作为教材的学校尽量创造条件,让学生有动手做实验的机会。
李国杰 中国工程院院士
2019年12月