人工智能正變得無處不在,全球最快的計算機上也在運行人工智能負載,這也在改變HPC(高性能計算,High Performance Computing)。不過,人工智能將如何影響編程,軟硬件以及和訓練需求?

  本文作者認爲,AI可能是HPC歷史上最大的變革推動者,至於爲什麼,他給出了AI在2019年對HPC產生最大影響的十大原因。

  10、 Tensors(張量):人工智能計算的通用語

  向量代數的使用催生了爲矢量計算設計的計算機。來自Cray的早期超級計算機是矢量超級計算機,它帶動了應用程序以矢量和矩陣代數問題的方式表示,這反過來又推動了計算機的設計,確保矢量計算能更快運行。多年來,這種循環定義了HPC。

  張量代數可以視爲廣義矩陣代數,因此它是超級計算機能力的自然演化,而不是一場革命。任何支持矩陣運算的機器都可以進行張量運算。今天,CPU通過通用編譯器,加速Pythons,增強庫和優化框架的支持就可以支持矢量和張量的高性能計算。

  正如向量之前對HPC的硬件、軟件以及想法的影響,張量也正在深刻的改變着我們。

  9、語言:高級編程語言

  Fortran編程語言在HPC領域佔據主導地位,再加上C和C ++語言幾乎統治了HPC市場。通常通過C語言接口來擴展來支持加速器。嘗試使用新語言來打破現有的格局已經失敗,因爲現有語言已經形成了一個生態,包括HPC的應用程序、用戶、代碼等。

  AI帶來了新的需求,這將擴展與HPC相關的語言。他們不會改變使用Fortran的大多數物理學家的活動,但使用MATLAB和Python的數據科學家需要根據他們的需求量身定製解決方案。

  Python以及其它框架和編程語言,似乎正成爲HPC越來越重要的部分。不過他們實際運行的程序仍將用C/C++/Fortran編寫,但AI程序員既不會知道,也不關心它。

  8、以不同方式思考:通過重新思考的方法來替換遺留代碼

  HPC非常傳統,相對而言人工智能是新的。就目前而言,當兩者相互作用時,它將重提有關實現遺留代碼的問題,在某些情況下這些代碼可能早就該實現了。說法可能是“讓我們爲這段代碼添加一些人工智能功能”,但現實將是努力可能成爲浪費時間。還記得Java熱潮的早期許多“轉換爲Java”的努力嗎?

  就像那些早期瘋狂的Java時代一樣,急於將代碼重寫爲新形式的人既有成功的也有失敗的。投資回報率(ROI)將是關鍵,但預測創新的結果往往是錯誤的。

  7、可移植性和安全性:虛擬化和容器

  安全性和可移植性的具體問題是,“我可以在我的機器上安全地運行嗎?”和“它能在我的機器上運行嗎?”,這是虛擬化和容器試圖解決的問題。當然,安全性來自於良好的硬件和軟件特性。對於許多人來說,虛擬化和容器似乎能確立這種組合。

  容器已引起許多開發人員的關注,因爲它們比虛擬機更靈活、可部署、可升級、具備雲多功能性,並且可以節省虛擬機授權許可成本。

  在任何HPC或AI的會議上談論容器似乎只能站着說說。但這正在改變,例如Python和Julia在配置時可以更好地擴展,容器可以幫助部署。

  容器爲用戶提供了良好的環境,2019年將看到HPC領域越來越多的容器使用,部分原因是AI用戶的對此表現出的興趣。毫無疑問,這會對HPC帶來挑戰,因爲這需要優化的生態系統。如今,這個領域正在進行這方面大量的精細工作,HPC社區將幫助實現這一目標,滿足大家對容器的渴望。

  6、規模問題:大數據

  只要有人工智能,就有大數據。人工智能的重點是利用數據模型從大量的數據集中找到價值。許多HPC中心已經有很多基礎設施可以很好地處理大數據問題。

  所有HPC中心都將大數據作爲新系統的主要需求,AI工作負載是大數據需求的主要動力。

  由於存儲器的高成本,我們看到存儲器大小與FLOP/s的比率多年來一直在下降。這對大數據發展不利。與持久內存相關的新功能帶來了一些希望,並支持大型機器(包括HPC)中的大數據模型。這些新的內存技術提供了主內存和本地存儲(SSD)的擴展。

  我今天寫的是人工智能如何影響HPC,但我還得指出HPC對可視化的熱愛將對AI產生的影響。將數據放在最接近處理器的位置是最適合進行實際數據可視化的處理器,是HPC影響AI / ML的最重要的方法之一。當然,使用和理解大數據以及可視化數據和分析是相互交織的。

  5、大量計算:雲計算

  人工智能開發人員可能已經比HPC開發人員更多地接受了雲計算。雖然HPC“在雲中”已經出現,但AI應用的高性能計算需求將加速“雲中的HPC”。

  4、硬件:交互式能力,爲庫和框架提供性能

  人工智能的計算量並不大。這意味着少數庫接口和框架主宰着“AI加速器”作爲其賣點。

  交互能力是一個長期存在的要求,它一直被HPC系統“擱置”,現在被AI程序員將其放置在“前端和中心”。這種變化對“HPC”的改變速度還有待觀察,但2019年該領域的創新即使分散且有些隱祕也會引人注目。交互性也可稱爲“個性化”。

  HPC更多的硬件多樣性、交互性支持以及爲性能優化的附加庫/框架抽象,以支持AI工作負載。HPC社區對性能的關注將有助於說明基礎設施的更多融合將有利於數據中心部署。沒有人願意放棄性能,只要他們不必這樣做,HPC社區的專業知識將有助於商業化AI / ML的性能,從而帶動社區之間更多的硬件技術融合。

  3、人員融合:用戶多樣性和對HPC興趣的增加

  AI將吸引許多具有不同背景的新人才。AI將以前所未有的規模爲HPC帶來民主化。過去幾年,“HPC民主化”用於描述HPC(以前只有大型組織的人纔可以使用)如何被小的工程師團體和科學家羣體使用。數學和物理問題可能推動了早期的超級計算髮展,但最近更多的用戶發現HPC性能在醫學、天氣預報和風險管理等領域不可或缺。

  AI帶來了比HPC更廣泛的用戶羣,爲HPC的民主化帶來了全新的應用。將AI增加到發展HPC的列表中,我們繼續爲追求世界上最高性能的計算添加更多理由, HPC專家和AI專家正在結合,以產生我們都能感受到的興奮。

  2、新投資:推理

  機器學習通常可以被認爲是由“訓練”的學習階段和 “推理”的“做”階段組成。看起來我們需要更多的循環進行推理而不是更多循環進行訓練,特別是當我們看到機器學習無處不在地嵌入到身邊的解決方案中時。市場分析師估計,推理硬件市場是訓練硬件規模的5-10倍。

  有了這麼大的市場機會,毫不奇怪,所有人都希望進入市場更大的推理市場。推理已在FPGA,GPU,DSP和衆多定製ASIC處理器上運行。功耗,延遲和總體成本都是賣點。高性能、低延遲、易於重新編程的FPGA似乎是補充當前CPU主導的推理市場的合理選擇,時間會證明。

  跟着市場的選擇,您將看到推理工作負載將對包括HPC在內的所有計算產生重大影響。

  1、應用程序的融合:不是在“重新思考”之後進行替換 ,“融合”兩全其美,擴展工作負載多樣性並看到不同工作負載的融合

  那些有遠見的人已經證明,HPC和AI結合時有很多機會。鼓舞人心的研究範圍從擁有一箇中立的網絡學習到“ 像蒙特卡羅模擬一樣 ”,具有非常好的結果,只需要一小部分計算需求; 將系統整合到能夠預測極端天氣的模式,如颶風,或天氣預報系統。生成對抗網絡(GAN)是一類機器學習系統,許多人都非常重視,GAN無疑有助於融合HPC和AI / ML。

  雖然現在很少有應用結合HPC算法和AI技術,基於早期的結果,我很容易預測這是HPC應用的未來,並且將因爲AI帶來HPC最大的變化。

  理解這十種力量

  計算在某種意義上並沒有改變:它完全取決於整個系統對用戶的作用。雖然需求有變化,但一個完整的系統由硬件起來和軟件組成不會改變。實際上,很容易被單一技術(硬件或軟件)分散注意力; 最好的系統會謹慎地應用最新技術,我非常偏愛地稱其爲“選擇性加速” ,強調在重要時使用加速。當我經常使用Python時,我喜歡Python加速(一種依賴CPU的軟件技術)。當我需要低延遲推理時,我喜歡FPGA加速。當我只需要一點加速時,我不使用任何一個。這是建立平衡系統的藝術。這前十的名單並沒有打破爲多用途機器提供最佳整體效果現實的平衡。

  結論:AI將使用HPC,這將永遠改變HPC

  顯然AI將使用HPC,這將永遠改變HPC。事實上,AI可能是HPC歷史上最大的變革推動者。HPC隨着科技的發展不斷進步,工作負載也將隨着人工智能的發展而變化。我不認爲辯論收斂與交叉給予足夠的信任的概念,人工智能用戶將加入HPC社區,並留下自己的標記。他們也將使用非HPC系統,就像其他HPC用戶一樣。

  將有專爲AI工作負載設計和構建的定製高性能機器,其他機器的AI工作負載也在可以在更通用的高性能設備上運行。要平衡機器的高性能和靈活才能實現加速。在所有情況下,人工智能將有助於定義未來什麼是超級計算,這將永遠改變HPC。

  James Reinders是HPC愛好者,也是擁有8本書的超過30年行業經驗的從業者,其中包括在英特爾工作27年經驗(2016年6月退休)。

  雷鋒網編譯,via

  HPCwire

  雷鋒網雷鋒網

相关文章