加入收藏 | 设为首页 | 会员中心 | 我要投稿 185手机网 (https://www.185shouji.cn/)- 热门手机、苹果手机、手机推荐、手机图片、手机助手!
当前位置: 首页 > 4G频道 > 通讯 > 正文

北大教授:超级计算机计算性能提升速度是"十年千倍"

发布时间:2020-06-02 22:41:35 所属栏目:通讯 来源:网络整理
导读:北大教授:超级计算机计算性能提升速度是

例如求解偏微分方程的经典并行算法——区域分解算法,该算法一般假定每个子区域应该是大致相同,而且满足一些数学上的条件,例如子区域应具有凸性和的单连通性等。在异构系统上,这些前提假定已经难以成立,需要从思想上突破传统算法的约束。对此,我们提出了一套异构区域分解算法,在传统的区域分解思想基础上,对每个子区域进行第二次切分,切分时排除掉之前理论上的假定,包括凸区域、单联通区域之类的约束,目标就是要与现有的异构系统硬件配置相适配。

虽然理论上很难分析这种异构区域分解算法的收敛性,但是在实际应用中,这种算法达到很好的应用效果。HPCG是基于偏微分方程求解的高性能计算机的排名标准,我们把这个算法应用于HPCG优化里,取得了很好的效果,收敛性非常好,帮助天河2号拿到2016年的HPCG世界排名第一。

如前所述,科学计算和超级计算之间相互促进、共同发展的闭环已经形成了几十年了。最近十来年随着大数据兴起,人工智能技术得到复兴并呈爆发式发展。此时,人工智能作为一个“新”角色进来之后又起什么作用呢?至少两个方面的作用,首先从超算角度来看,超算原本主要用来支撑科学计算,现在有了人工智能这种新需求,超算必然也要为人工智能提供强大算力支撑。反过来由于人工智能的本身特性又会改变超算的发展趋势。第二,人工智能和科学计算的关系。人工智能有一些好的数学工具和思想方法可以作为新思路、新方法、新工具提供给科学计算,科学计算又有多年发展的基础和较为完善的理论框架,可能帮助我们实现可解释性的人工智能。

AlphaGo和AlphaGo Zero作为人工智能最近几年非常著名的突破,先后打败了人类的围棋冠军。像AlphaGo  Zero这种大型的AI应用,如果想一天之内完成它的训练,我们所需要的计算能力已经超过1E ops,事实上过去6年训练神经网络的算力需求已经增长了30万倍,这远远超出超级计算机“十年千倍”的计算性能提升速度。所以现在有观点认为计算能力是人工智能发展的非常重要的基础,甚至有人认为算力常胜。

与此同时,人工智能的发展深刻改变了超算发展趋势,尤其是在2017年前后,随着大规模AI应用的涌现,新型超级计算机设计也逐渐开始考虑人工智能这类应用,最有代表性的机器就是美国的Summit,计算性能世界排名第一的系统,这台机器科学计算的双精度浮点计算性能是148Pflops/s,但是它还通过配备特殊的Tensor Core计算单元,可以实现3.4 Eops/s的AI计算性能。与此同时国际上谷歌、IBM、寒武纪、华为等大厂也都先研发了各种AI处理器。最近,谷歌Jeff Dean等人发展了采用AI设计芯片的新技术,大幅度提升芯片数据效率。毫不夸张地说,AI已经对硬件设计产生方方面面的深刻影响。

在超级计算机系统设计方面,举个例子,牛津大学2018年出版了一个白皮书《解码中国的AI梦》,其中有一个观点:“中国建设超级计算机方面的成功表明,它有可能赶上AI硬件领域世界领先的企业……如果其他国家专门开发针对AI新型超级计算机,中国在制造传统超级计算机方面的卓越表现可能并不重要“。顺着这个思路我们去思考,也许有一天,可能很快我们会看到专门用于AI计算的大型超级计算机。

现在让我们回到偏微分方程求解。借助神经网络这类数学工具,我们是不是可以解一些之前难以求解的问题呢?(图)在这里,我列出了三个比较有特色的方程,它们都有强烈的非线性,并且计算区域具有不规则和高维的特点。比如第一个方程的计算区域虽然是二维,但是区域边界非常复杂。中间是三维的例子,其计算区域是一个扭曲的torus形成,采用经典方法很难准确的刻划。第三个是100维的超立方体,它高维的性质决定了经典的方法很难去求解。

通过神经网络的方法可以很好地求解这类问题,我们提出了一套新方法——PFNN,这一方法的最大特点是只需要求解无约束优化问题,不需要引入任何惩罚项。传统的神经网络求解方法或多或少会引入惩罚项,但是通过采用一些手段去重新构造解空间,可以设法避免这个事情。把一个约束优化问题变成完全没有约束的优化问题,数值计算结果表明,PFNN方法可以很好的改善问题的求解精度和计算效率。

下面考虑如何实现并行求解。一个很自然的思路是直接做分布式训练,但这样的处理没有很好的利用问题本身的性质。偏微分方程的求解,在经典的科学计算领域,有一个非常好的并行算法——区域分解。我们将区域分解的思想用在神经网络求解偏微分方程中。比如可把一个方形的区域一分为四之后,增加一点重叠度,就可以把单个神经网络训练问题分成子区域网络的训练。通过实测发现,这样的手段不但能够提供很好的并行加速,同时问题的计算精度也同时得到改善,实现了计算精度和计算速度的双重收益。

从未来的发展趋势来看,人工智能、超级计算、科学计算会怎样发展?三个方向共同目的是通过某种手段连接真实世界和数字世界。真实世界就是人类在不断设法了解、改造的客观世界。数字世界是我们能够操作、能够任意实验的基于计算机的数字化虚拟世界。从真实世界到数字世界,至少存在四个角度,人工智能可以与科学计算和超级计算结合,发挥作用。

第一,模型角度。经典的科学计算方面,很多问题是建模方面很困难,或者模型很准确但是不可计算或者很难计算,或者是模型可以计算但不够准确。这时候基于人工智能的手段也许可以构造更好的模型,比如现在湍流模型,分子力场模型,天气预报领域的物理过程参数化等都有成功案例。

第二,算法角度。刚才举的PFNN的例子就是算法角度,人工智能的发展有很多的很好的数学工具,思考问题的视角。借鉴里面好的数学工具,比如神经网络,可以应用在一些科学计算领域的经典问题,比如线性方程求解、微分方程组求解、最优化问题求解等。

第三,软件角度。光有算法和模型是不够的,还需要在计算机上实现,写成软件,实现出来。这个过程涉及到大量的编程工作,而且很容易出错。这时候如果借助机器学习等手段,可以在编译优化,自适应调优,自动代码生成等方面把人们从繁重的体力劳动中释放出来。

最后就是硬件角度。AI事实上已经深刻改变了超算硬件的发展,而且未来还会有更多改变,比如计算单元的设计、芯片的设计、处理器的设计、超算系统的设计等。

最后我想利用这个机会介绍一下我们课题组正在招新,感兴趣的欢迎到这个网站(https://scholar.pku.edu.cn/chaoyang/news)。谢谢大家。

主题分享三:《多尺度问题:科学计算+人工智能Crack the Multiscale Problem: Scientific Computing + Artificial Intelligence》

明平兵 中国科学院数学与系统科学研究院研究员

(编辑:185手机网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读