0
作者 | 未來論壇
編輯 | 蔣寶尚
AI技術(shù),特別是機器學(xué)習(xí)和強化學(xué)習(xí)方法,基于實驗或者計算產(chǎn)生的數(shù)據(jù)對所求解的問題進(jìn)行可計算建模,從而得到復(fù)雜問題的有效解決方式,這對當(dāng)今科學(xué)計算領(lǐng)域的研究范式已經(jīng)產(chǎn)生了巨大影響。
與此同時,以深度學(xué)習(xí)為代表的AI在內(nèi)部機理、數(shù)學(xué)理論、基礎(chǔ)算法等方面尚不清楚、不完善,AI方法的穩(wěn)健性、精確度等尚缺乏嚴(yán)格的數(shù)學(xué)論證,這正對其進(jìn)一步發(fā)展造成嚴(yán)重阻礙。然而,結(jié)合機理的思維方式將有可能對面向數(shù)據(jù)的AI技術(shù),提供新的洞見與研究途徑。
2020年5月9日,在未來論壇青創(chuàng)聯(lián)盟YOSIA Webinar中,開展了AI+科學(xué)計算的主題討論,共有五位嘉賓發(fā)表演講,從AI for Scientific Computing和Scientific Computing for AI兩個不同的視角進(jìn)行前沿討論。
其中來自北京大學(xué)的楊超教授做了題目為“淺論超級計算、人工智能與科學(xué)計算的融合發(fā)展”的報告。在報告中楊老師介紹到:科學(xué)計算和超級計算之間相互促進(jìn)、共同發(fā)展的閉環(huán)已經(jīng)形成了幾十年了,人工智能近年巨大的成功為科學(xué)計算帶來了新思路、新方法、新工具,而科學(xué)計算的嚴(yán)謹(jǐn)體系則有助于提升現(xiàn)有人工智能技術(shù)的可解釋性。
另外,楊老師還以求解偏微分方程舉例說明了神經(jīng)網(wǎng)絡(luò)這一工具為科學(xué)計算帶來的幫助,并闡述了超級計算、科學(xué)計算、人工智能從模型、算法、軟件、硬件多方位融合發(fā)展的觀點。
注:本文經(jīng)過楊超老師的審核和校對。
從主流的科研范式來看,認(rèn)識世界發(fā)現(xiàn)世界的三種最主要的科研手段是實驗、理論和計算,最近十來年隨著數(shù)據(jù)科學(xué)的興起,基于數(shù)據(jù)的科學(xué)發(fā)現(xiàn)被認(rèn)為是第四種重要的科研范式。而圍繞計算和數(shù)據(jù)有三個非常獨立但又相互關(guān)聯(lián)很大的方向,超級計算、科學(xué)計算和人工智能。
從計算科學(xué)誕生之初,超級計算和科學(xué)計算的關(guān)系已經(jīng)建立起來。它們之間的關(guān)系可以概括為:超級計算就是為了支撐科學(xué)計算的發(fā)展,科學(xué)計算作為需求牽引、拉動超級計算機性能不斷提升。
早在電子計算機誕生之前,超級計算的思想萌芽就已經(jīng)產(chǎn)生,其中一個代表性的工作是英國數(shù)學(xué)家理查德森1922年提出來“預(yù)報工廠”的概念,這個概念被稱為“理查德森之夢”。
為什么說是一個夢?因為1922年當(dāng)時沒有電子計算機,他提出的“預(yù)報工廠”主要用于預(yù)報天氣。眾所周知,天氣預(yù)報是科學(xué)計算領(lǐng)域最有代表性一類應(yīng)用。預(yù)算工廠包括64000臺Human Computers,每臺“計算機”由一個人完成相關(guān)計算。預(yù)報工廠中還有專人用信號燈指揮不同的“計算機”進(jìn)行數(shù)據(jù)交換。
“預(yù)報工廠”的計算目標(biāo)是大氣,把計算區(qū)域分成64000個部分,每個人負(fù)責(zé)一塊,大家分別計算,并有人去協(xié)調(diào)指揮,這其實體現(xiàn)了早期人們暢想超級計算的一種樸素思想。
隨著世界第一臺電子計算機ENIAC的問世,理查德森之夢終于得以實現(xiàn),ENIAC重達(dá)幾十噸,占地面積非常大,并且耗電驚人。據(jù)說每當(dāng)ENIAC開機的時候,整個費城的燈都暗了。1950年,馮諾伊曼和他的助手改造了ENIAC的可編程性,并在這個基礎(chǔ)上編寫了世界上第一個天氣預(yù)報程序,成功完成了24小時預(yù)報,實現(xiàn)了理查德森之夢,也成為了科學(xué)計算的蓬勃發(fā)展的一個重要開端。
如今,歷經(jīng)幾十年的發(fā)展,超算已經(jīng)在科學(xué)計算的方方面面,例如航空、航天、氣候、能源、材料、安全、天文等領(lǐng)域中發(fā)揮了不可取代的支撐作用。2013年美國能源部曾經(jīng)統(tǒng)計過一些典型的科學(xué)計算應(yīng)用中的計算需求,這些計算需求即便放在今天來看仍然是很大。
在科學(xué)計算巨大需求的牽引之下,超級計算機的計算性能按照“十年千倍”的速度迅猛攀升。我們都知道摩爾定律,摩爾定律的是說個人計算機的性能提升速度是每18到24個月性能翻一番,而超級計算機可以達(dá)到每年性能翻一番,“十年千倍”的發(fā)展速度。
現(xiàn)在超算發(fā)展的一個重要趨勢是:異構(gòu)眾核,即同一個系統(tǒng)有不同類型的計算核心,而且每個芯片上要集成大量的計算核心。為什么會沿著異構(gòu)眾核趨勢發(fā)展?
其實這與計算需求關(guān)系不大,更多的是超級計算發(fā)展本身的技術(shù)條件限制造成的。現(xiàn)在所有的超級計算機都是基于馮諾伊曼體系結(jié)構(gòu),馮諾伊曼體系結(jié)構(gòu)的“算”-“存“分離特性會導(dǎo)致現(xiàn)有工藝下為了滿足計算需求,能夠選擇的設(shè)計方案十分有限。這樣的系統(tǒng)現(xiàn)在越來越多,同一個系統(tǒng)有很多計算核心,而且計算核心還不一樣,從設(shè)計算法和研究軟件角度來說面臨很大挑戰(zhàn)。
例如求解偏微分方程的經(jīng)典并行算法——區(qū)域分解算法,該算法一般假定每個子區(qū)域應(yīng)該是大致相同,而且滿足一些數(shù)學(xué)上的條件,例如子區(qū)域應(yīng)具有凸性和的單連通性等。在異構(gòu)系統(tǒng)上,這些前提假定已經(jīng)難以成立,需要從思想上突破傳統(tǒng)算法的約束。
對此,我們提出了一套異構(gòu)區(qū)域分解算法,在傳統(tǒng)的區(qū)域分解思想基礎(chǔ)上,對每個子區(qū)域進(jìn)行第二次切分,切分時排除掉之前理論上的假定,包括凸區(qū)域、單聯(lián)通區(qū)域之類的約束,目標(biāo)就是要與現(xiàn)有的異構(gòu)系統(tǒng)硬件配置相適配。
雖然理論上很難分析這種異構(gòu)區(qū)域分解算法的收斂性,但是在實際應(yīng)用中,這種算法達(dá)到很好的應(yīng)用效果。HPCG是基于偏微分方程求解的高性能計算機的排名標(biāo)準(zhǔn),我們把這個算法應(yīng)用于HPCG優(yōu)化里,取得了很好的效果,收斂性非常好,幫助天河2號拿到2016年的HPCG世界排名第一。
如前所述,科學(xué)計算和超級計算之間相互促進(jìn)、共同發(fā)展的閉環(huán)已經(jīng)形成了幾十年了。最近十來年隨著大數(shù)據(jù)興起,人工智能技術(shù)得到復(fù)興并呈爆發(fā)式發(fā)展。此時,人工智能作為一個“新”角色進(jìn)來之后又起什么作用呢?
至少兩個方面的作用,首先從超算角度來看,超算原本主要用來支撐科學(xué)計算,現(xiàn)在有了人工智能這種新需求,超算必然也要為人工智能提供強大算力支撐。反過來由于人工智能的本身特性又會改變超算的發(fā)展趨勢。
第二,人工智能和科學(xué)計算的關(guān)系。人工智能有一些好的數(shù)學(xué)工具和思想方法可以作為新思路、新方法、新工具提供給科學(xué)計算,科學(xué)計算又有多年發(fā)展的基礎(chǔ)和較為完善的理論框架,可能幫助我們實現(xiàn)可解釋性的人工智能。
AlphaGo和AlphaGo Zero作為人工智能最近幾年非常著名的突破,先后打敗了人類的圍棋冠軍。像AlphaGo Zero這種大型的AI應(yīng)用,如果想一天之內(nèi)完成它的訓(xùn)練,我們所需要的計算能力已經(jīng)超過1E ops,事實上過去6年訓(xùn)練神經(jīng)網(wǎng)絡(luò)的算力需求已經(jīng)增長了30萬倍,這遠(yuǎn)遠(yuǎn)超出超級計算機“十年千倍”的計算性能提升速度。所以現(xiàn)在有觀點認(rèn)為計算能力是人工智能發(fā)展的非常重要的基礎(chǔ),甚至有人認(rèn)為算力常勝。
與此同時,人工智能的發(fā)展深刻改變了超算發(fā)展趨勢,尤其是在2017年前后,隨著大規(guī)模AI應(yīng)用的涌現(xiàn),新型超級計算機設(shè)計也逐漸開始考慮人工智能這類應(yīng)用,最有代表性的機器就是美國的Summit,計算性能世界排名第一的系統(tǒng),這臺機器科學(xué)計算的雙精度浮點計算性能是148Pflops/s,但是它還通過配備特殊的Tensor Core計算單元,可以實現(xiàn)3.4 Eops/s的AI計算性能。
與此同時國際上谷歌、IBM、寒武紀(jì)、華為等大廠也都先研發(fā)了各種AI處理器。最近,谷歌Jeff Dean等人發(fā)展了采用AI設(shè)計芯片的新技術(shù),大幅度提升芯片數(shù)據(jù)效率。毫不夸張地說,AI已經(jīng)對硬件設(shè)計產(chǎn)生方方面面的深刻影響。
在超級計算機系統(tǒng)設(shè)計方面,舉個例子,牛津大學(xué)2018年出版了一個白皮書《解碼中國的AI夢》,其中有一個觀點:“中國建設(shè)超級計算機方面的成功表明,它有可能趕上AI硬件領(lǐng)域世界領(lǐng)先的企業(yè)……如果其他國家專門開發(fā)針對AI新型超級計算機,中國在制造傳統(tǒng)超級計算機方面的卓越表現(xiàn)可能并不重要“。順著這個思路我們?nèi)ニ伎迹苍S有一天,可能很快我們會看到專門用于AI計算的大型超級計算機。
現(xiàn)在讓我們回到偏微分方程求解。借助神經(jīng)網(wǎng)絡(luò)這類數(shù)學(xué)工具,我們是不是可以解一些之前難以求解的問題呢?
在這里,我列出了三個比較有特色的方程,它們都有強烈的非線性,并且計算區(qū)域具有不規(guī)則和高維的特點。比如第一個方程的計算區(qū)域雖然是二維,但是區(qū)域邊界非常復(fù)雜。中間是三維的例子,其計算區(qū)域是一個扭曲的torus形成,采用經(jīng)典方法很難準(zhǔn)確的刻劃。第三個是100維的超立方體,它高維的性質(zhì)決定了經(jīng)典的方法很難去求解。
通過神經(jīng)網(wǎng)絡(luò)的方法可以很好地求解這類問題,我們提出了一套新方法——PFNN,這一方法的最大特點是只需要求解無約束優(yōu)化問題,不需要引入任何懲罰項。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)求解方法或多或少會引入懲罰項,但是通過采用一些手段去重新構(gòu)造解空間,可以設(shè)法避免這個事情。把一個約束優(yōu)化問題變成完全沒有約束的優(yōu)化問題,數(shù)值計算結(jié)果表明,PFNN方法可以很好的改善問題的求解精度和計算效率。
下面考慮如何實現(xiàn)并行求解。一個很自然的思路是直接做分布式訓(xùn)練,但這樣的處理沒有很好的利用問題本身的性質(zhì)。偏微分方程的求解,在經(jīng)典的科學(xué)計算領(lǐng)域,有一個非常好的并行算法——區(qū)域分解。
我們將區(qū)域分解的思想用在神經(jīng)網(wǎng)絡(luò)求解偏微分方程中。比如可把一個方形的區(qū)域一分為四之后,增加一點重疊度,就可以把單個神經(jīng)網(wǎng)絡(luò)訓(xùn)練問題分成子區(qū)域網(wǎng)絡(luò)的訓(xùn)練。通過實測發(fā)現(xiàn),這樣的手段不但能夠提供很好的并行加速,同時問題的計算精度也同時得到改善,實現(xiàn)了計算精度和計算速度的雙重收益。
從未來的發(fā)展趨勢來看,人工智能、超級計算、科學(xué)計算會怎樣發(fā)展?三個方向共同目的是通過某種手段連接真實世界和數(shù)字世界。真實世界就是人類在不斷設(shè)法了解、改造的客觀世界。數(shù)字世界是我們能夠操作、能夠任意實驗的基于計算機的數(shù)字化虛擬世界。從真實世界到數(shù)字世界,至少存在四個角度,人工智能可以與科學(xué)計算和超級計算結(jié)合,發(fā)揮作用。
第一,模型角度。經(jīng)典的科學(xué)計算方面,很多問題是建模方面很困難,或者模型很準(zhǔn)確但是不可計算或者很難計算,或者是模型可以計算但不夠準(zhǔn)確。這時候基于人工智能的手段也許可以構(gòu)造更好的模型,比如現(xiàn)在湍流模型,分子力場模型,天氣預(yù)報領(lǐng)域的物理過程參數(shù)化等都有成功案例。
第二,算法角度。剛才舉的PFNN的例子就是算法角度,人工智能的發(fā)展有很多的很好的數(shù)學(xué)工具,思考問題的視角。借鑒里面好的數(shù)學(xué)工具,比如神經(jīng)網(wǎng)絡(luò),可以應(yīng)用在一些科學(xué)計算領(lǐng)域的經(jīng)典問題,比如線性方程求解、微分方程組求解、最優(yōu)化問題求解等。
第三,軟件角度。光有算法和模型是不夠的,還需要在計算機上實現(xiàn),寫成軟件,實現(xiàn)出來。這個過程涉及到大量的編程工作,而且很容易出錯。這時候如果借助機器學(xué)習(xí)等手段,可以在編譯優(yōu)化,自適應(yīng)調(diào)優(yōu),自動代碼生成等方面把人們從繁重的體力勞動中釋放出來。
最后就是硬件角度。AI事實上已經(jīng)深刻改變了超算硬件的發(fā)展,而且未來還會有更多改變,比如計算單元的設(shè)計、芯片的設(shè)計、處理器的設(shè)計、超算系統(tǒng)的設(shè)計等。
(雷鋒網(wǎng))(雷鋒網(wǎng))(雷鋒網(wǎng))
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。