北大楊超:以偏微分方程求解為例,AI如何助力科學(xué)計(jì)算?
?? 限時(shí)供應(yīng) ??
準(zhǔn)系統(tǒng) SYS-821GE-TNHR / H20 / H200整機(jī)
6月現(xiàn)貨直發(fā) · 歡迎點(diǎn)擊洽談
立即詢價(jià) →作者 | 楊超
編輯 | 蔣寶尚
來源:雷鋒網(wǎng)
AI技術(shù),特別是機(jī)器學(xué)習(xí)和強(qiáng)化學(xué)習(xí)方法,基于實(shí)驗(yàn)或者計(jì)算產(chǎn)生的數(shù)據(jù)對所求解的問題進(jìn)行可計(jì)算建模,從而得到復(fù)雜問題的有效解決方式,這對當(dāng)今科學(xué)計(jì)算領(lǐng)域的研究范式已經(jīng)產(chǎn)生了巨大影響。
與此同時(shí),以深度學(xué)習(xí)為代表的AI在內(nèi)部機(jī)理、數(shù)學(xué)理論、基礎(chǔ)算法等方面尚不清楚、不完善,AI方法的穩(wěn)健性、精確度等尚缺乏嚴(yán)格的數(shù)學(xué)論證,這正對其進(jìn)一步發(fā)展造成嚴(yán)重阻礙。然而,結(jié)合機(jī)理的思維方式將有可能對面向數(shù)據(jù)的AI技術(shù),提供新的洞見與研究途徑。
2020年5月9日,在未來論壇青創(chuàng)聯(lián)盟YOSIA Webinar中,開展了AI+科學(xué)計(jì)算的主題討論,共有五位嘉賓發(fā)表演講,從AI for Scientific Computing和Scientific Computing for AI兩個(gè)不同的視角進(jìn)行前沿討論。
其中來自北京大學(xué)的楊超教授做了題目為“淺論超級計(jì)算、人工智能與科學(xué)計(jì)算的融合發(fā)展”的報(bào)告。在報(bào)告中楊老師介紹到:科學(xué)計(jì)算和超級計(jì)算之間相互促進(jìn)、共同發(fā)展的閉環(huán)已經(jīng)形成了幾十年了,人工智能近年巨大的成功為科學(xué)計(jì)算帶來了新思路、新方法、新工具,而科學(xué)計(jì)算的嚴(yán)謹(jǐn)體系則有助于提升現(xiàn)有人工智能技術(shù)的可解釋性。
另外,楊老師還以求解偏微分方程舉例說明了神經(jīng)網(wǎng)絡(luò)這一工具為科學(xué)計(jì)算帶來的幫助,并闡述了超級計(jì)算、科學(xué)計(jì)算、人工智能從模型、算法、軟件、硬件多方位融合發(fā)展的觀點(diǎn)。
注:本文經(jīng)過楊超老師的審核和校對。

從主流的科研范式來看,認(rèn)識世界發(fā)現(xiàn)世界的三種最主要的科研手段是實(shí)驗(yàn)、理論和計(jì)算,最近十來年隨著數(shù)據(jù)科學(xué)的興起,基于數(shù)據(jù)的科學(xué)發(fā)現(xiàn)被認(rèn)為是第四種重要的科研范式。而圍繞計(jì)算和數(shù)據(jù)有三個(gè)非常獨(dú)立但又相互關(guān)聯(lián)很大的方向,超級計(jì)算、科學(xué)計(jì)算和人工智能。
從計(jì)算科學(xué)誕生之初,超級計(jì)算和科學(xué)計(jì)算的關(guān)系已經(jīng)建立起來。它們之間的關(guān)系可以概括為:超級計(jì)算就是為了支撐科學(xué)計(jì)算的發(fā)展,科學(xué)計(jì)算作為需求牽引、拉動超級計(jì)算機(jī)性能不斷提升。

早在電子計(jì)算機(jī)誕生之前,超級計(jì)算的思想萌芽就已經(jīng)產(chǎn)生,其中一個(gè)代表性的工作是英國數(shù)學(xué)家理查德森1922年提出來“預(yù)報(bào)工廠”的概念,這個(gè)概念被稱為“理查德森之夢”。
為什么說是一個(gè)夢?因?yàn)?922年當(dāng)時(shí)沒有電子計(jì)算機(jī),他提出的“預(yù)報(bào)工廠”主要用于預(yù)報(bào)天氣。眾所周知,天氣預(yù)報(bào)是科學(xué)計(jì)算領(lǐng)域最有代表性一類應(yīng)用。預(yù)算工廠包括64000臺Human Computers,每臺“計(jì)算機(jī)”由一個(gè)人完成相關(guān)計(jì)算。預(yù)報(bào)工廠中還有專人用信號燈指揮不同的“計(jì)算機(jī)”進(jìn)行數(shù)據(jù)交換。
“預(yù)報(bào)工廠”的計(jì)算目標(biāo)是大氣,把計(jì)算區(qū)域分成64000個(gè)部分,每個(gè)人負(fù)責(zé)一塊,大家分別計(jì)算,并有人去協(xié)調(diào)指揮,這其實(shí)體現(xiàn)了早期人們暢想超級計(jì)算的一種樸素思想。

隨著世界第一臺電子計(jì)算機(jī)ENIAC的問世,理查德森之夢終于得以實(shí)現(xiàn),ENIAC重達(dá)幾十噸,占地面積非常大,并且耗電驚人。據(jù)說每當(dāng)ENIAC開機(jī)的時(shí)候,整個(gè)費(fèi)城的燈都暗了。1950年,馮諾伊曼和他的助手改造了ENIAC的可編程性,并在這個(gè)基礎(chǔ)上編寫了世界上第一個(gè)天氣預(yù)報(bào)程序,成功完成了24小時(shí)預(yù)報(bào),實(shí)現(xiàn)了理查德森之夢,也成為了科學(xué)計(jì)算的蓬勃發(fā)展的一個(gè)重要開端。

如今,歷經(jīng)幾十年的發(fā)展,超算已經(jīng)在科學(xué)計(jì)算的方方面面,例如航空、航天、氣候、能源、材料、安全、天文等領(lǐng)域中發(fā)揮了不可取代的支撐作用。2013年美國能源部曾經(jīng)統(tǒng)計(jì)過一些典型的科學(xué)計(jì)算應(yīng)用中的計(jì)算需求,這些計(jì)算需求即便放在今天來看仍然是很大。

在科學(xué)計(jì)算巨大需求的牽引之下,超級計(jì)算機(jī)的計(jì)算性能按照“十年千倍”的速度迅猛攀升。我們都知道摩爾定律,摩爾定律的是說個(gè)人計(jì)算機(jī)的性能提升速度是每18到24個(gè)月性能翻一番,而超級計(jì)算機(jī)可以達(dá)到每年性能翻一番,“十年千倍”的發(fā)展速度。

現(xiàn)在超算發(fā)展的一個(gè)重要趨勢是:異構(gòu)眾核,即同一個(gè)系統(tǒng)有不同類型的計(jì)算核心,而且每個(gè)芯片上要集成大量的計(jì)算核心。為什么會沿著異構(gòu)眾核趨勢發(fā)展?
其實(shí)這與計(jì)算需求關(guān)系不大,更多的是超級計(jì)算發(fā)展本身的技術(shù)條件限制造成的。現(xiàn)在所有的超級計(jì)算機(jī)都是基于馮諾伊曼體系結(jié)構(gòu),馮諾伊曼體系結(jié)構(gòu)的“算”-“存“分離特性會導(dǎo)致現(xiàn)有工藝下為了滿足計(jì)算需求,能夠選擇的設(shè)計(jì)方案十分有限。這樣的系統(tǒng)現(xiàn)在越來越多,同一個(gè)系統(tǒng)有很多計(jì)算核心,而且計(jì)算核心還不一樣,從設(shè)計(jì)算法和研究軟件角度來說面臨很大挑戰(zhàn)。

例如求解偏微分方程的經(jīng)典并行算法——區(qū)域分解算法,該算法一般假定每個(gè)子區(qū)域應(yīng)該是大致相同,而且滿足一些數(shù)學(xué)上的條件,例如子區(qū)域應(yīng)具有凸性和的單連通性等。在異構(gòu)系統(tǒng)上,這些前提假定已經(jīng)難以成立,需要從思想上突破傳統(tǒng)算法的約束。
對此,我們提出了一套異構(gòu)區(qū)域分解算法,在傳統(tǒng)的區(qū)域分解思想基礎(chǔ)上,對每個(gè)子區(qū)域進(jìn)行第二次切分,切分時(shí)排除掉之前理論上的假定,包括凸區(qū)域、單聯(lián)通區(qū)域之類的約束,目標(biāo)就是要與現(xiàn)有的異構(gòu)系統(tǒng)硬件配置相適配。

雖然理論上很難分析這種異構(gòu)區(qū)域分解算法的收斂性,但是在實(shí)際應(yīng)用中,這種算法達(dá)到很好的應(yīng)用效果。HPCG是基于偏微分方程求解的高性能計(jì)算機(jī)的排名標(biāo)準(zhǔn),我們把這個(gè)算法應(yīng)用于HPCG優(yōu)化里,取得了很好的效果,收斂性非常好,幫助天河2號拿到2016年的HPCG世界排名第一。

如前所述,科學(xué)計(jì)算和超級計(jì)算之間相互促進(jìn)、共同發(fā)展的閉環(huán)已經(jīng)形成了幾十年了。最近十來年隨著大數(shù)據(jù)興起,人工智能技術(shù)得到復(fù)興并呈爆發(fā)式發(fā)展。此時(shí),人工智能作為一個(gè)“新”角色進(jìn)來之后又起什么作用呢?
至少兩個(gè)方面的作用,首先從超算角度來看,超算原本主要用來支撐科學(xué)計(jì)算,現(xiàn)在有了人工智能這種新需求,超算必然也要為人工智能提供強(qiáng)大算力支撐。反過來由于人工智能的本身特性又會改變超算的發(fā)展趨勢。
第二,人工智能和科學(xué)計(jì)算的關(guān)系。人工智能有一些好的數(shù)學(xué)工具和思想方法可以作為新思路、新方法、新工具提供給科學(xué)計(jì)算,科學(xué)計(jì)算又有多年發(fā)展的基礎(chǔ)和較為完善的理論框架,可能幫助我們實(shí)現(xiàn)可解釋性的人工智能。

AlphaGo和AlphaGo Zero作為人工智能最近幾年非常著名的突破,先后打敗了人類的圍棋冠軍。像AlphaGo Zero這種大型的AI應(yīng)用,如果想一天之內(nèi)完成它的訓(xùn)練,我們所需要的計(jì)算能力已經(jīng)超過1E ops,事實(shí)上過去6年訓(xùn)練神經(jīng)網(wǎng)絡(luò)的算力需求已經(jīng)增長了30萬倍,這遠(yuǎn)遠(yuǎn)超出超級計(jì)算機(jī)“十年千倍”的計(jì)算性能提升速度。所以現(xiàn)在有觀點(diǎn)認(rèn)為計(jì)算能力是人工智能發(fā)展的非常重要的基礎(chǔ),甚至有人認(rèn)為算力常勝。
與此同時(shí),人工智能的發(fā)展深刻改變了超算發(fā)展趨勢,尤其是在2017年前后,隨著大規(guī)模AI應(yīng)用的涌現(xiàn),新型超級計(jì)算機(jī)設(shè)計(jì)也逐漸開始考慮人工智能這類應(yīng)用,最有代表性的機(jī)器就是美國的Summit,計(jì)算性能世界排名第一的系統(tǒng),這臺機(jī)器科學(xué)計(jì)算的雙精度浮點(diǎn)計(jì)算性能是148Pflops/s,但是它還通過配備特殊的Tensor Core計(jì)算單元,可以實(shí)現(xiàn)3.4 Eops/s的AI計(jì)算性能。
與此同時(shí)國際上谷歌、 IBM 、寒武紀(jì)、華為等大廠也都先研發(fā)了各種AI處理器。最近,谷歌Jeff Dean等人發(fā)展了采用AI設(shè)計(jì)芯片的新技術(shù),大幅度提升芯片數(shù)據(jù)效率。毫不夸張地說,AI已經(jīng)對硬件設(shè)計(jì)產(chǎn)生方方面面的深刻影響。

在超級計(jì)算機(jī)系統(tǒng)設(shè)計(jì)方面,舉個(gè)例子,牛津大學(xué)2018年出版了一個(gè)白皮書《解碼中國的AI夢》,其中有一個(gè)觀點(diǎn):“中國建設(shè)超級計(jì)算機(jī)方面的成功表明,它有可能趕上AI硬件領(lǐng)域世界領(lǐng)先的企業(yè)……如果其他國家專門開發(fā)針對AI新型超級計(jì)算機(jī),中國在制造傳統(tǒng)超級計(jì)算機(jī)方面的卓越表現(xiàn)可能并不重要“。順著這個(gè)思路我們?nèi)ニ伎迹苍S有一天,可能很快我們會看到專門用于AI計(jì)算的大型超級計(jì)算機(jī)。

現(xiàn)在讓我們回到偏微分方程求解。借助神經(jīng)網(wǎng)絡(luò)這類數(shù)學(xué)工具,我們是不是可以解一些之前難以求解的問題呢?
在這里,我列出了三個(gè)比較有特色的方程,它們都有強(qiáng)烈的非線性,并且計(jì)算區(qū)域具有不規(guī)則和高維的特點(diǎn)。比如第一個(gè)方程的計(jì)算區(qū)域雖然是二維,但是區(qū)域邊界非常復(fù)雜。中間是三維的例子,其計(jì)算區(qū)域是一個(gè)扭曲的torus形成,采用經(jīng)典方法很難準(zhǔn)確的刻劃。第三個(gè)是100維的超立方體,它高維的性質(zhì)決定了經(jīng)典的方法很難去求解。

通過神經(jīng)網(wǎng)絡(luò)的方法可以很好地求解這類問題,我們提出了一套新方法——PFNN,這一方法的最大特點(diǎn)是只需要求解無約束優(yōu)化問題,不需要引入任何懲罰項(xiàng)。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)求解方法或多或少會引入懲罰項(xiàng),但是通過采用一些手段去重新構(gòu)造解空間,可以設(shè)法避免這個(gè)事情。把一個(gè)約束優(yōu)化問題變成完全沒有約束的優(yōu)化問題,數(shù)值計(jì)算結(jié)果表明,PFNN方法可以很好的改善問題的求解精度和計(jì)算效率。
下面考慮如何實(shí)現(xiàn)并行求解。一個(gè)很自然的思路是直接做分布式訓(xùn)練,但這樣的處理沒有很好的利用問題本身的性質(zhì)。偏微分方程的求解,在經(jīng)典的科學(xué)計(jì)算領(lǐng)域,有一個(gè)非常好的并行算法——區(qū)域分解。
我們將區(qū)域分解的思想用在神經(jīng)網(wǎng)絡(luò)求解偏微分方程中。比如可把一個(gè)方形的區(qū)域一分為四之后,增加一點(diǎn)重疊度,就可以把單個(gè)神經(jīng)網(wǎng)絡(luò)訓(xùn)練問題分成子區(qū)域網(wǎng)絡(luò)的訓(xùn)練。通過實(shí)測發(fā)現(xiàn),這樣的手段不但能夠提供很好的并行加速,同時(shí)問題的計(jì)算精度也同時(shí)得到改善,實(shí)現(xiàn)了計(jì)算精度和計(jì)算速度的雙重收益。

從未來的發(fā)展趨勢來看,人工智能、超級計(jì)算、科學(xué)計(jì)算會怎樣發(fā)展?三個(gè)方向共同目的是通過某種手段連接真實(shí)世界和數(shù)字世界。真實(shí)世界就是人類在不斷設(shè)法了解、改造的客觀世界。數(shù)字世界是我們能夠操作、能夠任意實(shí)驗(yàn)的基于計(jì)算機(jī)的數(shù)字化虛擬世界。從真實(shí)世界到數(shù)字世界,至少存在四個(gè)角度,人工智能可以與科學(xué)計(jì)算和超級計(jì)算結(jié)合,發(fā)揮作用。
第一,模型角度。經(jīng)典的科學(xué)計(jì)算方面,很多問題是建模方面很困難,或者模型很準(zhǔn)確但是不可計(jì)算或者很難計(jì)算,或者是模型可以計(jì)算但不夠準(zhǔn)確。這時(shí)候基于人工智能的手段也許可以構(gòu)造更好的模型,比如現(xiàn)在湍流模型,分子力場模型,天氣預(yù)報(bào)領(lǐng)域的物理過程參數(shù)化等都有成功案例。
第二,算法角度。剛才舉的PFNN的例子就是算法角度,人工智能的發(fā)展有很多的很好的數(shù)學(xué)工具,思考問題的視角。借鑒里面好的數(shù)學(xué)工具,比如神經(jīng)網(wǎng)絡(luò),可以應(yīng)用在一些科學(xué)計(jì)算領(lǐng)域的經(jīng)典問題,比如線性方程求解、微分方程組求解、最優(yōu)化問題求解等。
第三,軟件角度。光有算法和模型是不夠的,還需要在計(jì)算機(jī)上實(shí)現(xiàn),寫成軟件,實(shí)現(xiàn)出來。這個(gè)過程涉及到大量的編程工作,而且很容易出錯(cuò)。這時(shí)候如果借助機(jī)器學(xué)習(xí)等手段,可以在編譯優(yōu)化,自適應(yīng)調(diào)優(yōu),自動代碼生成等方面把人們從繁重的體力勞動中釋放出來。
最后就是硬件角度。AI事實(shí)上已經(jīng)深刻改變了超算硬件的發(fā)展,而且未來還會有更多改變,比如計(jì)算單元的設(shè)計(jì)、芯片的設(shè)計(jì)、處理器的設(shè)計(jì)、超算系統(tǒng)的設(shè)計(jì)等。