智能计算系统:从深度学习到大模型
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 智能计算系统

1.2.1 什么是智能计算系统

一个完整的智能体需要从外界获取输入,并且能够解决现实中的某种特定问题(例如弱人工智能)或者能够解决各种各样的问题(强人工智能)。而人工智能算法或代码本身并不能构成一个完整的智能体,必须要在一个具体的物质载体上运行起来才能展现出智能。因此,智能计算系统就是智能的物质载体。

现阶段的智能计算系统,硬件上通常是集成通用处理器和智能处理器的异构系统,软件上通常包括一套面向开发者的智能计算编程环境(包括编程框架和编程语言)。

采用异构系统的原因在于,近十年来通用处理器的计算能力增长近乎停滞,而智能计算能力的需求在不断以指数增长,二者形成了剪刀差。为了弥补这个剪刀差,智能计算系统必须要集成智能芯片来获得强大的计算能力。例如,寒武纪深度学习处理器能够以比通用处理器低一个数量级的能耗,达到100倍以上的智能处理的速度。

异构系统在提高性能的同时,也带来了编程上的困难。程序员需要给系统中的两类芯片编写指令、调度任务,如果没有系统软件的支持会非常困难。因此,智能计算系统一般会集成一套编程环境,方便程序员快速便捷地开发高能效的智能应用程序。这套编程环境主要包括编程框架和编程语言两部分。常用的深度学习编程框架包括TensorFlow和PyTorch等,深度学习编程语言包括CUDA语言和BCL语言等。

1.2.2 为什么需要智能计算系统

以通用处理器为中心的传统计算系统的速度和能效远远达不到智能应用的需求。例如2012年,谷歌大脑用1.6万个通用处理器核跑了3天的深度学习训练来识别猫脸[17]。这充分说明传统计算系统的速度难以满足应用需求。2016年,AlphaGo与李世石下棋时,用了1202个CPU和176个GPU[18],每盘棋电费就要数千美元,与之对比,李世石的功耗仅为20 W。这充分说明传统计算系统的能效难以满足应用需求。2020年,完整地训练一次GPT-3总共耗费3.14×1023浮点运算次数,在一台8卡V100 GPU服务器上需要约3640天(约9.97年)。这充分说明传统计算系统的单节点模式难以满足应用需求。因此,人工智能不可能依赖于传统计算系统,必须有自己的核心物质载体——智能计算系统。

1.2.3 智能计算系统的发展

从发展历史上看,已有的智能计算系统可以大致分为两代:第一代智能计算系统,出现于1980年前后,主要是面向符号主义的专用计算系统;第二代智能计算系统,出现于2010年左右,主要是面向连接主义的专用计算系统。同时,我们预期未来会出现一类新的智能计算系统,成为强人工智能/通用人工智能的物质载体。这或许会是第三代智能计算系统。

1.2.3.1 第一代智能计算系统

20世纪80年代是人工智能发展的第二次热潮。第一代智能计算系统主要是在这一次热潮中发展起来的面向符号逻辑处理的计算系统。它们的功能主要是运行当时非常热门的智能编程语言Prolog或LISP编写的程序。

1975年,麻省理工学院(MIT)AI实验室的R.Geenblatt研制了一台专门面向LISP编程语言的计算机——CONS,它是最早的智能计算系统之一。1978年,该实验室又发布了CONS的后继CADR。1981年日本提出了五代机计划。该计划认为过去的第一代、第二代、第三代、第四代计算机分别是真空管计算机、晶体管计算机、集成电路计算机和超大规模集成电路计算机,而第五代计算机是人工智能计算机,人们只需要把要解决的问题交给它,而不需要告诉它如何去解,它就能自动求解出该问题。本质上讲,日本五代机也是一个Prolog机。整个20世纪80年代,美日高校、研究所、企业研制了各种各样的Prolog机和LISP机。

20世纪80年代末到90年代初,人工智能进入冬天。第一代智能计算系统找不到实际的应用场景,市场坍塌,政府项目停止资助,创业公司纷纷倒闭。图1.3[5]是MIT博物馆保存的自己研制的LISP机。

从技术上看,第一代智能计算系统是一种面向高层次语言的计算机体系结构,其编程语言和硬件是高度统一化的,比如LISP和Prolog。这种计算系统被淘汰的原因主要有两方面:一方面,不同于现在人工智能有大量语音识别、图像识别、自动翻译等实际应用需求,当时的Prolog和LISP等符号智能语言并没有太多的实际应用需求;另一方面,当时的通用处理器发展速度非常快,专用计算系统的迭代速度跟不上通用处理器。在20世纪摩尔定律的黄金时期,每一年半通用处理器的性能就能提升一倍,10年下来通用处理器的处理速度能取得100倍的提升。而专用的智能计算系统没有通用处理器那么广泛的应用,往往需要数年才有资金进行迭代更新。几年下来,专用的智能计算系统的速度可能不比通用处理器快多少。因此第一代智能计算系统逐渐退出了历史舞台。

1.2.3.2 第二代智能计算系统

第二代智能计算系统主要研究面向连接主义(深度学习)处理的计算机或处理器。中科院计算所从2008年开始做人工智能和芯片设计的交叉研究,2013年和法国国家信息与自动化研究所(Inria)共同设计了国际上首个深度学习处理器架构——DianNao。随后,中科院计算所又研制了国际上首个深度学习处理器芯片“寒武纪1号”。在此基础上,全球五大洲30个国家/地区的200个机构(包括哈佛大学、斯坦福大学、麻省理工学院、谷歌、英伟达等),以及两位图灵奖得主、10余位中美院士、30位ACM会士、100位IEEE会士在广泛跟踪引用中科院计算所的论文,开展相关方向研究。因此,Science杂志刊文评价寒武纪为深度学习处理器的“开创性进展”,并评价寒武纪团队在深度学习处理器研究中“居于公认的领导者行列”。表1.1列出了一些第二代智能计算系统的代表性工作。

图1.3 MIT博物馆保存的第一代智能计算系统(LISP机)

与第一代智能计算系统相比,第二代智能计算系统有两方面的优势:第一,深度学习有大量实际的工业应用,已经形成了产业体系,因此相关研究能得到政府和企业的长期资助;第二,摩尔定律在21世纪发展放缓,通用处理器性能增长停滞,专用智能计算系统的性能优势越来越大。因此,在可预见的将来,第二代智能计算系统还将长期健壮发展,持续迭代优化。

事实上,今天的超级计算机、数据中心计算机、手机、汽车电子、智能终端都要处理大量深度学习类应用,因此都在朝智能计算系统方向演进。例如,IBM将其研制的2018年世界上最快的超级计算机SUMMIT称为智能超算机。在SUMMIT上利用深度学习方法做天气分析的工作甚至获得了2018年超算应用最高奖——戈登·贝尔奖。手机更是因其要用深度学习处理大量图像识别、语音识别、自动翻译等任务,被广泛看作一种典型的小型智能计算系统。仅集成寒武纪深度学习处理器的手机就已有近亿台。因此,未来如果人类社会真的进入智能时代,可能绝大部分计算机都可以被看作智能计算系统。因此,本书主要介绍第二代智能计算系统。

表1.1 代表性深度学习处理器/计算机

1.2.3.3 第三代智能计算系统展望

第一代和第二代智能计算系统均是面向弱人工智能的定制化设计的智能计算系统,目标是让智能算法跑得更快更省电。它们之间的区别仅在于,第一代智能计算系统面向符号主义智能(Prolog和LISP),而第二代面向连接主义智能(深度学习)。一个非常有意思的问题是,未来的第三代智能计算系统会是什么样子?

大模型的发展给这个问题带来了一种可能的答案。随着智能计算系统计算能力的逐步增强,深度学习大模型可以变得越来越大,甚至在规模上超过人脑,这将不仅仅是把个别弱人工智能问题做得更好,而是能逐步逼近强人工智能,从而像人一样在各种简单问题上表现得更好。如果我们能使大模型进一步拥有逻辑推理和涌现等高级认知智能,或许强人工智能有可能成为现实。因此第三代智能计算系统应当具有超强计算能力,从而能涌现出强人工智能的系统。