智能计算:系统 - 图1

是什么?

一个完整的智能体需要从外界获取输人,并且能够解决现实中的某种特定问题(例如弱人工智能)或者能够解决各种各样的问题(强人工智能)。

而人工智能算法或代码本身并不能构成一个完整的智能体, 必须要在一个具体的物质载体上运行起来才能展现出智能。因此,智能计算系统是智能的物质载体。

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

image.png

采用异构系统的原因在于,近十年来通用CPU的计算能力增长近乎停滞,而有能计算能力的需求在不断以指数增长,二者形成了剪刀差。

为了弥补这个剪刀差,智能计算系统必须要集成智能芯片来获得强大的计算能力。异构系统在提高性能的同时,也带来了编程上的困难。程序员需要给系统中的两类芯片编写指令、调度任务,如果没有系统软件的支持会非常困难。

因此,智能计算系统一般会集成一套编程环境,方便程序员快速便捷地开发高能效的智能应用程序。这套编程环境主要包括编程框架和编程语言两部分。

常用的深度学习编程框架包括 TensorFlow 和 MXNet 等,深度学习编程语言包括 CUDA 语言和 BCL 语言等。

image.png

为什么?

以通用 CPU 为中心的传统计算系统的速度和能效远远达不到智能应用的需求。

2012年,谷歌大脑用1.6万个CPU核跑了3天的深度学习训练来识别猫脸。

这充分说明传统计算系统的速度难以满足应用需求。

2016 年,AlphaGo 与李世石下棋时,用了 1202 个CPU和 176个 GPU,每盘棋电费就要数千美元,与之对比,李世石的功耗仅为20瓦。

智能计算:系统 - 图4

这充分说明传统计算系统的能效难以满足应用需求。

因此,人工智能不可能依赖传统计算系统,必须有自己的核心物质载体 —— 智能计算系统。

怎么样?

从发展历史上看, 已有的智能计算系统可以大致分为两代:

第一代智能计算系统,出现于1980年前后,主要是面向符号主义的专用计算系统

第二代智能计算系统,出现于2010年左右,主要是面向连接主义的专用计算系统。

预期未来会出现一类新的智能计算系统,成为强人工智能/通用人工智能的物质载体。这或许会是第三代智能计算系统。

第一代

20世纪80年代是人工智能发展的第二次热潮。

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

智能计算:系统 - 图5

1975年,MIT AI 实验室的 R. Geenblatt 研制的一台专门面向 LISP 编程语言的计算机 CONS ,是最早的智能计算系统之一。1978 年,该实验室又发布了 CONS 的后继 CADR。

1982年日本启动了“五代机”计划。该计划认为过去的第一代、第二代、第三代、第四代计算机分别是真空管计算机、晶体管计算机、集成电路计算机和超大规模集成电路计算机,而第五代计算机是人工智能计算机,人们只需把要解决的问题交给它,它就能自动解出该问题。本质上讲,日本五代机也是一个 Prolog 机。

同年,美国成立了微电子与计算机技术公司 (Microelectronics and Computer Technology Corporation, MCC)来研制智能计算系统。

整个20世纪80年代,美日高校、研究所、企业研制了非常多的各种各样的 Prolog 机和 LISP 机。

20 世纪 80 年代末到 90 年代初,人工智能进人冬天。第一代智能计算系统找不到实际的应用场景,市场坍塌,政府项目停止资助,创业公司纷纷倒闭。

从技术上看,第一代智能计算系统是一种面向高层次语言的计算机体系结构,其编程语言和硬件是高度统一化的,比如 LISP 和 Prolog。

这种计算系统被淘汰的原因主要有两个方面:

一方面,不同于现在人工智能有大量语音识别、图像识别、自动翻译等实际应用需求,当时的 Prolog 和 LISP 等符号智能语言并没有太多的实际应用需求

image.png

另一方面,当时的通用CPU发展速度非常快,专用计算系统的迭代速度跟不上通用CPU。

在 20 世纪摩尔定律的黄金时期,每一年半 CPU 的性能就能提升一倍,10年下来CPU的处理速度能取得100倍的提升。而专用的智能计算系统没有CPU那么广泛的应用,往往需要数年才有资金进行迭代更新。

几年下来,专用的智能计算系统的速度可能不比通用CFU快多少。因此第一代智能计算系统逐渐退出了历史舞台。

第二代

第二代智能计算系统主要研究面向连接主义(深度学习)处理的计算机或处理器。

中科院计算所从 2008 年开始做人工智能和芯片设计的交叉研究,2013 年和 Inria 共同设计了国际
上首个深度学习处理器架构 —— DianNao。

随后,中科院计算所又研制了国际上首个深度学习处理器芯片“寒武纪1号”。

Science 杂志刊文评价寒武纪为深度学习处理器的“开创性进展”,并评价寒武纪团队在深度学习处理器研究中“居于公认的领导者行列”。

智能计算:系统 - 图7

和第一代智能计算系统相比,第二代智能计算系统有两方面的优势:

第一,深度学习有大量实际的工业应用,已经形成了产业体系,因此相关研究能得到政府和企业的长期资助

第二,摩尔定律在21世纪发展放缓,通用CPU性能增长停滞,专用智能计算性能优势越来越大。

在可预见的将来,第二代智能计算系统还将长期健壮发展,持续迭代优化。

今天的超级计算机、数据中心计算机、手机、汽车电子、智能终端都要处理大量深度学习类应用,因此都在朝智能计算系统方向演进。

例如,IBM 将其研制的 2018 年世界上最快的超级计算机 SUMMIT 称为智能超算机。

智能计算:系统 - 图8

在 SUMMIT上利用深度学习方法做天气分析的工作获得了 2018 年超算应用最高奖 一 Gorden Bell奖。

手机更是因其要用深度学习处理大量图像识别、语音识别、自动翻译等任务,被广泛看作种典型的小体积智能计算系统。

未来如果人类社会真的进人智能时代,可能绝大部分计算机都可以被看作智能计算系统。

第三代

第三代智能计算系统将不再单纯追求智能算法的加速,它将通过近乎无限的计算能力,给人类带来前所未有的机器智能。

这里面的核心问题在于如何通过高计算能力来提升智能。如果只是把一个深度学习模型做大、做复杂,那么高计算能力不过能将某些模式识别问题的识别精度提升几个百分点,而难以触及智能的本质。

智能计算:系统 - 图9

可以猜测,未来的第三代智能计算系统将是一个通用人工智能/强人工智能发育的沙盒虚拟世界,它通过近乎无限的计算能力来模拟一个逼近现实的虚拟世界,以及在虚拟世界中发育、成长、繁衍的海量智能主体(或者说是人工生命)。

智能主体可以在虚拟世界中成长,通过和环境的交互,逐渐形成自己的感知、认知和逻辑能力,甚至理解虚拟世界、改造虚拟世界,从而可能拥有通用智能。

或许这个目标需要三五十年,甚至五百年才能达到,但我们依然认为,为了人类的进步,值得朝这个目标努力。

智能计算:系统 - 图10