近年来AI已迎来了巨大的飞跃。我们看到这项技术应用于自动驾驶汽车、协作式机器人和多用途深度学习系统(这种系统可以独自玩转各种各样的棋盘游戏,借助地铁地图推断路线或借助家谱图推断关系)。然而,在AI从功能相对专门化变成能够像人类一样轻松处理众多任务之前,还有一段路要走。
向开发这种强人工智能迈出的一步是在计算机上模拟人类大脑如何运转,以便研究人员能更深入地了解智能背后的内在机理。可问题是,人类大脑异常复杂,即使借助今天的大型超级计算机的强大功能,还是不可能模拟人脑1000亿个神经元与数万亿个突触之间的所有相互关系。
但现在这个目标更接近了一步,这要感谢一群国际研究人员,他们现在已开发出了一种算法,该算法不仅加快了现有超级计算机上的人脑模拟,还向未来的百亿亿次运算超级计算机(每秒能执行上百亿亿次运算的计算机)上实现“全脑”模拟迈出了一大步。
全脑模拟所需的计算
这项研究成果发表在《神经信息学前沿》(Frontiers in Neuroinformatics)杂志(https://www.frontiersin.org/articles/10.3389/fninf.2018.00002/full?utm_source=G-BLO&utm_medium=WEXT&utm_campaign=ECO_FNINF_20180302_exascale-brain)上,概述了研究人员如何在超级计算机机上构建一个神经网络的新方法。想了解这项任务有多艰巨,仅举一例来说明:现有的超级计算机(比如日本神户计算科学高级研究所的千万亿次运算K计算机)也只能复制大脑中10%部位的活动。
那是由于它受制于构建模拟模型的方式,这影响了超级计算机的节点之间如何通信。超级计算机可能有超过十万个这样的节点,每个节点都有自己的处理器来执行运算。在更庞大的模拟中,这些虚拟神经元分布在计算节点之间,以便高效地均衡处理工作负载,然而这些更庞大模拟面临的挑战之一是神经网络的高连通性,这需要大量的计算能力来复制。
斯德哥尔摩瑞典皇家理工学院的苏姗娜•孔克尔(Susanne Kunkel)是论文作者之一,她说:“在神经网络模拟能够进行之前,需要以虚拟方式构建神经元及其连接,这意味着它们需要在节点的内存中创建实例。在模拟过程中,神经元不知道目标神经元在哪些节点上,因此神经元的短电脉冲需要发送给所有节点。然后,每个节点检查所有这些电脉冲中哪些对该节点上存在的虚拟神经元来说很重要。”
用更简单更形象的话来说,这比给每个节点发送整堆草垛,那样每个节点都需要从这堆草垛中找到对它来说很重要的那些针。不用说,这个过程消耗大量内存,虚拟神经元网络的规模增大时更是如此。想要使用现有技术来扩大规模,并模拟整个人脑,就需要比当今超级计算机多出100倍的处理内存。然而,新算法改变了游戏规则,因为它可以优化这个过程,为此它让节点可以先交换哪些节点发送、哪些节点接收方面的信息,那样以后每个节点只需要发送和接收它所需要的信息,没必要翻遍整堆草垛。
论文作者、于利希研究中心的雅各布•乔丹(JakobJordan)说:“有了这项新技术,我们可以比以前更好地充分利用现代微处理器的并行机制,这在百亿亿次运算计算机中将变得极为重要。”
研究团队发现,借助这种经过改进的算法,一个由5.8万亿个突触连接的5.2亿个神经元组成的虚拟网络在于利希研究中心的超级计算机JUQUEEN上运行,能够在5.2分钟的运算时间模拟1秒钟的生物时间,而以前使用传统方法需要28.5分钟的运算时间。
据预测,将来能够执行百亿亿次运算的机器将比当前超级计算机的性能高出10倍到100倍。借助该团队开发的算法(将作为一种开源工具来提供),这将意味着更能够探究智能在整体上的机理。
论文作者、于利希神经科学与医学研究所的马库斯•迪斯曼(Markus Diesmann)特别指出,毫无疑问,基于这项工具的未来研究成果不仅有助于进一步推进AI发展,还将惠及众多科学学科。“结合百亿亿次硬件和适当的软件可以让我们得以研究大脑机理的基本方面,比如可塑性和学习过程。”
领取专属 10元无门槛券
私享最新 技术干货