AI中国网 https://www.cnaiplus.com
想象一下,假如回到中学时代,你是如何解线性方程组的?我想你用的是高斯消元法。对于一个有3个变量x、y、z的线性方程组,你会一步一步地消去其中一个方程中的两个变量,从而解出剩下的那个变量,再返回去用相同的方法解出其余两个变量。
计算机也是这么做的。对于一个三元线性方程组,它能很快地给出计算结果,但是随着方程的增多,它所需要的时间将迅速增加。用计算机科学的语言说,它的时间复杂度是O(N3),意味着计算机的运行时间随方程数量的三次方增加,如果解一个包含10个变量的线性方程组需要的时间是1,那么解一个包含100个变量的线性方程组需要的时间是1000。在实际应用中,比如运行在超级计算机上的气候模拟、基因分析、材料合成,涉及的变量数可能达百万量级,那么解线性方程组的时间将会是1018。即使时间单位是一纳秒(十亿分之一秒),1018也意味着十亿秒,约三十年。这么慢的计算速度是难以忍受的,人们通常通过部署多个处理器,利用并行计算来缩短计算时间,但是相对于时间复杂度的增长速度,这些改变都不是本质的。
量子计算可以为解线性方程组带来本质的改变。于2008年提出的HHL量子算法可以以O(logN)的时间复杂度解线性方程组,这就意味着,如果解一个包含10个变量的线性方程组需要的时间是1,那么解一个包含一百万个变量的线性方程组需要的时间也仅是6,从而实现计算速度的指数级增长。量子计算看起来非常有前景,但由于存在工作温度极低和量子退相干等重重困难,量子计算机(尤其是可商业化的量子计算机)的实现遥遥无期。另外一方面,尽管量子计算已能实现指数提速,但其实可能存在一种更快的计算方式,即时间复杂度为O(1),意味着解不同大小的线性方程组所花的时间是相同的。
近日,意大利米兰理工大学的一支研究团队报道了这样一个计算电路,可以实现一步解线性方程组,耗时只需几十纳秒。这样的计算性能,不仅优于传统的数字计算机,也优于未来的量子计算机。同时,该团队表示,基于这项发明,他们很快将开发出革新人工智能技术的新一代计算加速器。
该项研究于最近发表在国际顶级期刊《美国科学院院刊》。关于这项研究的具体内容,该项目的负责人Daniele Ielmini解释:“解线性方程组指的是,找出满足方程Ax=b的未知向量x,A是系数矩阵,b是已知向量。”要解这类问题,“常规的数字计算机根据一个特定的算法,需要很多步操作才能完成,也就意味着需要相当的计算时间和能耗”,Daniele Ielmini强调。
作为欧洲研究委员会旗下项目的一部分,该电路通过把矩阵A存储在一种特别的器件(忆阻器)里,以一种名为存内计算的新型计算方式解线性方程组。Daniele Ielmini继续解释,“忆阻器可以存储模拟数值,因此利用忆阻器构成的矩阵可以映射一个系数矩阵A,从而实现极速计算。此外,除了解线性方程组,忆阻器电路还可以解矩阵的特征向量等问题。” “所有的这些操作都只需一步就能完成。”他强调。
论文的第一作者孙仲表示,“现实生活中的很多问题本质上是一个线性方程组,比如谷歌公司的网页排序算法PageRank,本质上就是求解一个随机矩阵的特征向量,那么用我们的电路可以一步完成计算,从而为这些搜索引擎提供加速。”“我们的电路已经在大量的代数问题上测试并得到验证,甚至包括复杂的微分方程,比如解一个电子的量子波函数的薛定谔方程。”他补充道。
忆阻器电路求解薛定谔方程概念图
由于可以一步完成不同的计算任务,该电路非常有应用前景。不同于量子计算,该电路所利用的技术、产品在工业上均已非常成熟或者正在市场化,包括Intel和Micron近几年推出的3D XPoint存储技术。去年,该团队在学校与德勤举办的产品转化大赛上展示了他们基于该线性方程组求解电路和机器学习电路的项目,赢得了大赛唯一的Disruptive Innovation奖。目前,团队正在学校孵化器和德勤等咨询公司的帮助下,准备把技术带向市场。
团队成员展示他们的产品转化大赛Disruptive Innovation奖
AI中国网 https://www.cnaiplus.com
本文网址: