“天机芯”登《自然》封面后清华实现类脑计算“图灵完备性”突破

继 “天机芯” 和基于忆阻器件的神经形态芯片之后,清华大学类脑计算团队的研究成果,于 10 月 14 日再次发表在了《自然》杂志上。

这次,他们首次提出了 “类脑计算的完备性” 概念,为类脑计算这一有可能在未来与传统计算系统相媲美的新型计算机系统,补上了一块重要的理论短板,让类脑计算的软、硬件各自独立开发成为了可能,更可以大幅提升很多应用的计算效能,是神经形态计算领域的重大理论突破。

针对这一重大突破,DeepTech 与文章的共同一作与共同通讯作者、团队负责人张悠慧教授进行了深入交流。他详细解读了类脑计算完备性的来龙去脉,以及对于相关领域研究的重大意义。

图 | 张悠慧教授(左三)团队(来源:清华大学)

作为受生物神经系统(包括大脑)工作原理、与结构启发的计算技术处理信息的计算技术,类脑计算、或者说神经形态计算,被认为是实现通用人工智能的重要途径之一,也是新一代计算机发展的极具潜力的方向之一。

现有的通用计算机系统,一直延续着冯?诺依曼在 1946 年提出的 “存算分离” 架构 —— 存储部件与计算部件分离,程序与数据统一存储。这种天才的架构让计算机在过去的几十年来性能突飞猛进,奠定了第三次工业革命的基础。

然而,冯?诺依曼架构存在一个问题,就是处理器与存储器中交换程序与数据时,会消耗大量的时间和能量。在人工智能时代,随着需要处理的数据量的攀升,冯?诺依曼瓶颈越发明显。

例如,阿尔法狗与李世石和柯洁对弈的时候,强大的算法虽然赢了人类对手,但一局的电费就高达 3000 美元,而完成同样功能的人脑,顶多吃一顿饭就可以了。

图 | 阿尔法狗战胜了人类,但能耗代价却是惊人的(来源:yuzeh.com)

那么,能否根据受生物神经系统(包括大脑)工作原理与结构启发的计算技术,来设计计算机系统呢?答案是肯定的。这就是所谓的类脑计算的概念。

与传统的计算技术相比,类脑计算最主要的区别之一在于摆脱了冯?诺依曼架构 “存算分离” 的枷锁。受生物神经系统(包括大脑)工作原理与结构启发,类脑计算系统用超大规模集成电路和微纳电子来仿生神经突触与神经元的功能,将数据存储和处理的功能集中在计算单元上,从而大幅减少处理器从存储器中读取和写入数据的能耗。

通过这一高效整合形式,类脑计算可以能效更高、性能更好、速度更快地处理数据。这一潜能让它有可能成为与传统的通用计算系统相比肩的未来计算系统。

图 | 神经元(来源:IC photo)

自上世纪八九十年代提出以来,类脑计算一直受到很多关注,近年来更是持续突破。例如,清华大学就曾在去年和今年两次发文,展示了我国在类脑计算领域的强劲研发能力。

2019 年,清华大学施路平教授团队的类脑计算芯片 “天机芯”(Tianjic)让一辆自行车实现了自动驾驶。这款实现了异构融合的电子芯片,整合了现有的人工网络算法和类脑的脉冲神经网络算法,同时支持神经科学发现的众多神经回路网络和异构网络的混合建模,实现了无人自行车驾驶。

图 | 施路平教授团队的天机芯曾登上《自然》杂志封面(来源:Nature )

今年年初,清华大学吴华强教授团队则成功研发出了一款基于多阵列忆阻器的存算一体系统,在器件和电路芯片层面,用新型的非易失性器件忆阻器,研发出了世界上第一款全硬件的基于忆阻器的神经计算芯片,在处理一些神经网络应用时,它能获得比 GPU 高出两个数量级的性能优势。

然而,尽管类脑计算的软硬件研究成果已经显示出了其在一些应用上相比于通用计算系统不小的优势,但还有一个明显的短板 —— 类脑计算还没有自己的完备性。

通用计算领域有一个重要的概念,叫做 “图灵完备性”。所谓的完备性,指的就是一个计算系统的功能边界,它能做什么。对于通用计算机来说,“一个具有图灵完备性的机器可以计算任何一个可计算的函数”,张悠慧向 DeepTech 解释道。

有了图灵完备性,开发软件的工程师只要使用图灵完备的编程语言去编写程序,就可以保证这个程序在任何一个符合图灵完备的硬件设备上,转换成等价的指令序列。

这样,通用计算系统的软件和硬件的开发就可以独立开来,各自专注于自己领域的事情,而无需担心程序能否在所有芯片上使用,芯片又能否支持所有的程序。

然而,由于类脑计算尚处于起步阶段,类脑计算的功能边界并没一个很好的定义。往往是一类应用出来了,就按照归纳法,设计类脑计算系统来完成这类工作。但面对未来其它的工作,类脑计算能不能完成,就不得而知了。

而且这类设计方法往往使得每一个芯片架构都需要一套专门的软件工具链来配合,从而使得不同类脑计算系统之间难以做到相互兼容。

做为一个从事计算机系统研究的科学家,张悠慧敏锐地注意到了这个问题。要想实现类脑计算的跨越式发展,单靠一个一个具体的芯片、工具链、应用和算法的创新实现是不够的,还需要从计算机系统的理论出发,解决类脑计算的完备性问题。

通过研究,他们提出了类脑计算的完备性概念:对于任意图灵可计算的函数,只要一个计算系统可以给出一个误差在可接受范围内的函数,那么它就可以被认为是类脑完备的。

这意味着,类脑计算不像通用计算一样,要求每一步计算的精度,而是只要结果的精度足够,就可以了。

这是由于类脑计算与通用计算根本上的不同所决定的。通用计算在计算一个函数的时候,用的是 “算” 的方法 —— 利用给定的算法,“算” 出答案。而类脑计算主要依靠神经网络,它并不关注一步一步的计算过程,只要参数够多,就可以拟合出足够精确的结果,某种程度上可以说这个结果是 “记” 出来的。

类脑计算的完备性就把 “算” 和 “记” 结合了起来,除了可以 “算”,有些时候还可以用神经网络来 “记” 出答案。通过新加上的这一维度,某些应用的系统优化空间可以增加 50-60 倍,“系统的设计和优化空间变大了,那就会带来直接的性能功耗比上的收益”,张悠慧表示。

除此之外,类脑计算完备性的重要意义还在于,它有望实现软硬件研究的去耦合,可以把类脑计算不同方向上的研究结合起来,相互协作,共同推进这个领域的前进。

类脑计算是一个典型的交叉学科,生物、硬件、材料、软件等不同背景的研究人员都在从事这个领域的研究。之前,大家并没有一个跨平台的工具链,开发的时候遇到的硬件约束条件都是特定和不兼容的。

有了类脑计算的完备性,张悠慧团队设计了相应的类脑计算机层次结构:

向上,是图灵完备的软件模型,只要开发的算法是用图灵完备的语言编写的,就可以不再担心硬件的约束问题;

而向下,他们提出了类脑计算完备的硬件体系结构,相比于图灵完备性,放松了对于计算过程与精度的要求,因此适配性更好;

而在软件和硬件之间,他们开发了相应的编译层。任意图灵可计算的函数,都可以转换为类脑计算完备硬件上的模型,让类脑计算系统也可以支持通用计算。

图 | 类脑完备的计算系统架构(来源:Zhang, Y. et al. Nature 586, 378–384 (2020).)

如此一来,不同社区的团队成果就可以融合起来,做软件的不用再关心硬件的约束,做硬件的也不用担心软件能不能支持。做算法、做软件、做硬件的人,都可以专注于自己的专长,像通用计算一样,不同层次可以各自发展,成果又可以无缝兼容。

为了挖掘类脑完备性的潜力,他们重新实现了施路平教授的天机芯自动驾驶自行车的案例。还突破了传统类脑计算系统的限制,进行了鸟群模拟和 QR 分解的计算。

张悠慧表示,“很多人认为类脑计算跟通用计算的高度将是一样的,要是真的想达到这样的高度,就必须要达到完备性。”

展望未来,张悠慧并不想对大概多久能建立完善的类脑计算的产业链做出准确的估计。类脑计算是很有可能实现通用人工智能的重要方向之一,要达到那样的高度,还有很长的距离要走。

但在这一进步过程中,计算系统效率提升是实实在在的 —— 不论这种提升是来自于新型的非易失性器件(如忆阻器),还是来自于类脑计算完备性所扩大的系统设计空间。作为一个交叉学科,“基于新的工艺和新的芯片,在一些应用场合下,类脑计算将在三五年内实现性能的显著提升。”