以下是人工智能在2019年對高性能計算產生最大影響的十種方式:
1. 張量(Tensors):人工智能計算的通用語言
向量代數的應用催生出為向量計算設計的計算機。Cray公司早期推出的超級計算機就是一種向量超級計算機,它將應用程序表達為向量和矩陣代數問題,這反過來又加強了計算機的設計,以確保向量計算的快速運行。多年來,這種強化循環強烈定義了高性能計算(HPC)。張量代數可以被接受為廣義矩陣代數,因此它是超級計算機數學能力的自然演化,而不是一場革命。任何支持矩陣運算的機器都可以進行張量運算。如今的CPU的用戶采用編譯器,加速采用Pythons,加強庫和優化框架的支持,獲得對向量和張量的高性能支持,所有這些都允許軟件開發人員使用高性能環境中的向量和張量。
張量技術在硬件、軟件和人們的思想上都在高性能計算應用中留下了深刻的印象。
2.語言:高級程序設計
Fortran程序在消耗周期方面占據了高性能計算的主導地位,C和C ++程序幾乎耗盡了高性能計算中的其他資源。通常通過C接口、擴展和庫來支持加速器周期。嘗試使用新語言來破壞這種情況已經失敗,因為現有語言具有適合構成高性能計算的應用程序的用戶、代碼和支持。
人工智能為新用戶帶來了新的需求,這將擴展與高性能計算相關的語言,并不會改變大多數使用Fortran代碼的物理學家的活動,但使用MATLAB和Python的數據科學家需要根據他們的需求量身定制解決方案。
Python以及其他生產力語言和框架似乎將成為越來越多的高性能計算(HPC)周期的主人。他們的實際數字運算程序仍將用C/C ++/Fortran編寫,但人工智能程序員既不會知道,也不會關心它。
3.以不同方式思考:通過利用機會重新思考方法來替換遺留代碼
高性能計算(HPC)是一種傳統技術,人工智能相對來說是一種新技術。顯然,隨著人工智能的成熟,它將創造自己需要支持的重要遺產。就目前而言,當這兩種技術結合時,它將鼓勵有關重新實現遺留代碼的對話,這在某些情況下可能已經過期。其借口可能是為代碼添加一些人工智能功能,但現實將是一些有益的努力以及一些嚴重的時間浪費。
4.可移植性和安全性:虛擬化和容器
可以安全地在機器上運行嗎?這是虛擬化和容器試圖解決的安全性和可移植性問題。當然,安全性來自于良好構建的硬件和軟件的安全功能。對于許多人來說,虛擬化和容器似乎是最好的組合。
容器已引起許多開發人員對虛擬機的關注,因為在部署、修補、云計算多功能性方面,它們被視為比虛擬機更靈活,并且可以節省虛擬機許可成本。
在面向高性能計算或人工智能的會議上談論容器技術似乎并沒有太大的進展,這并不奇怪。例如,Python和Julia在精心配置時可以更好地擴展,而容器可以幫助部署。
容器提供了一種為用戶提供良好調整環境的自然方式,高性能計算行業將在2019年看到越來越多的容器使用,部分原因是由于人工智能用戶的興趣。毫無疑問,高性能計算會對其實例施加壓力,這是需要優化的生態系統。這個領域正在進行這方面的大量工作,高性能計算的社區將幫助所有人實現這一目標,以滿足對容器的渴望。
5.規模問題:大數據
哪里有人工智能,哪里就有大數據。人工智能社區的主要關注點是在使用非常大的數據模型中獲取意義。采用的高性能計算應用程序需要大量文件,許多高性能計算運行中心已經有很多基礎設施可以很好地處理大數據問題。
所有高性能計算中心都將大數據作為新系統的主要要求考慮在內,人工智能工作負載是大數據需求的主要動力。
內存的價格高昂,但人們已經看到內存容量與flop/s的比率多年來一直在下降。這是影響大數據發展的趨勢。圍繞內存的新功能提供了扭轉這一趨勢的希望,并支持人們需要的大型機器(包括高性能計算機)中的大數據模型。這些新的內存技術提供了內存和本地存儲器(SSD)的擴展。
高性能計算對于人工智能的發展發揮重要作用。組織希望把數據放在離處理器更近的地方,這是最適合做真實數據可視化的處理器,是高性能計算影響人工智能/機器學習的最大方式之一。使用和理解大數據的概念,以及可視化數據和分析,是相互交織的。
6. 人工智能采用云計算
人工智能開發人員可能比高性能計算開發人員更多地接受云計算。雖然應用在云中的高性能計算已經出現,但是針對人工智能應用的高性能計算將加速云中的高性能計算。
7.硬件:,專注于庫和框架的交互式功能
人工智能的工作量并不大。這意味著少數庫接口和框架支配 “人工智能加速器”需要作為賣點。
交互性是一個長期存在的請求,通常在高性能計算系統中一直處于“次要地位”,被人工智能程序員直接置于前沿和核心。高性能計算這種變化的速度還有待觀察,但2019年這一領域的創新將是值得注意的,即使是零散的和有些隱蔽的。交互性也可以稱為“個性化”。
高性能計算支持更多的硬件多樣性、交互性支持以及針對性能優化的額外庫/框架抽象,以支持人工智能工作負載。高性能計算社區對性能的關注將有助于說明基礎設施的額外融合將有利于數據中心部署。沒有人愿意放棄性能,如果不必這樣做,高性能計算社區的專業知識將有助于商品化人工智能/機器學習的性能,從而導致社區之間更多的硬件技術融合。
8.人員融合:用戶多樣性和對高性能計算的興趣增加
人工智能將注入許多不同背景的新人才。人工智能將以前所未有的規模給高性能計算帶來民主化。在過去的幾年中,“高性能計算的民主化”這個短語用于描述高性能計算如何被工程師和科學家群體的訪問。數學和物理問題可能推動了早期的超級計算工作量,但最近越來越多的用戶發現,在醫學、天氣預報和風險管理等領域,高性能計算工作量是不可或缺的。
人工智能的用戶群體比高性能計算要廣泛得多,給高性能計算的民主化帶來了全新的維度。如今,高性能計算專家和人工智能專家正在聯合起來進行開發。
9.新投資:推理
機器學習通常被認為是由稱為“訓練”的學習階段和稱為“推理”的實施階段組成。似乎需要更多的周期來進行推理,而不是進行訓練,特別是當人們看到機器學習無處不在地嵌入到周圍的解決方案中時。
有了如此巨大的市場機會,讓人覺得整個世界都在試圖從這一推理市場中獲得更大的份額。推理已經在處理器、FPGA、GPU、DSP和大量定制ASIC上實現。功率、延遲和總體成本是關鍵因素,這些因素為人們提供了一系列具有不同賣點的選項。高性能CPU加上低延遲、易于重新編程和可預測延遲的FPGA似乎是補充當前CPU主導的推導世界的合理選擇。時間會證明一切。
人們將發現推理工作負載將對包括高性能計算在內的所有計算產生重大影響。
10.應用程序的融合:不是在“重新思考”之后進行更換
擴展工作負載多樣性,并將看到各種工作負載進行融合。那些有遠見的人已經證明,當高性能計算機和人工智能結合在一起時,有許多機會。從將系統集成到能夠預測極端天氣(如颶風)的模式,再到氣候或天氣預報系統。現在出現了各種想法。生成對抗網絡(GAN)是許多人高度重視的一類機器學習系統,生成對抗網絡(GAN)無疑將有助于融合高性能計算和人工智能/機器學習工作。
雖然現在很少有應用程序結合高性能計算和人工智能技術,而基于該領域的早期結果,很容易預測這是高性能計算應用程序的未來,并將構成高性能計算因人工智能而面臨的最大變化。
理解這十種方式
計算的故事在某種意義上并沒有改變:它完全取決于整個系統對用戶的作用。雖然需求發生變化,但完整系統由硬件和軟件組成的事實并沒有改變。很容易被單一技術(硬件或軟件)分散注意力,最好的系統會在最有幫助的地方小心地應用新技術。
結論:人工智能將使用高性能計算,并將永遠改變
事實上,人工智能可能是高性能計算歷史上最大的變革推動者。高性能計算不斷發展,因為已經通過自己的工作負載來實現,并且它也將在人工智能中發展。
即人工智能用戶只需加入高性能計算社區并在其上加上自己的標記。他們也將使用非高性能計算系統,就像其他高性能計算用戶一樣。
將有專為人工智能工作負載設計和構建的定制高性能機器,而其他機器的人工智能工作負載也在具有非人工智能工作負載的更通用的高性能設施上運行。平衡機器在需要高性能靈活機器的情況下才能實現加速。人工智能將有助于未來定義什么成為超級計算機,因此可能將會調整高性能計算機的進程。