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