加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 演講要點
    • 人工智能計算機設計的三大平衡性原則
    • AI基準設計要達四個目標
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

清華鄭緯民院士:AI for Science的出現(xiàn),讓高性能計算與AI的融合成為剛需

2023/01/11
926
閱讀需 15 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

楊凈 整理自 MEET2023

算力的需求,遠比以往來得更為猛烈。甚至有人直呼:得算力者得未來。

元宇宙AIGC、AI for Science的涌現(xiàn),又給高性能計算(HPC)平添了好幾把火。

在諸多挑戰(zhàn)與機遇共存交織的當下,這一領域泰斗中國工程院院士、清華大學計算機科學與技術系鄭緯民,在MEET2023智能未來大會上,分享了自己的見解和思考。

估計未來兩年到四年,HPC(高性能計算)+AI+BigData融合服務器就會出現(xiàn)。

AI for Science的出現(xiàn),讓HPC+AI的融合成為剛性需求;而數(shù)據(jù)處理又是AI的基礎,數(shù)據(jù)和AI的融合也很自然。

甚至他還開玩笑說,現(xiàn)在要獲HPC領域的戈登貝爾獎,必須要有AI的算法。你沒有AI的算法,否則獎都得不了。

雖然這是玩笑說法,但實際上也是一種趨勢。

除此之外,他還談到人工智能計算機設計的三大平衡性原則、AI基準設計四大目標以及如何通過并行方法加速大規(guī)模預訓練模型。

為了完整體現(xiàn)鄭緯民院士的分享及思考,在不改變原意的基礎上,量子位對他的演講內(nèi)容進行了編輯整理。

關于MEET 智能未來大會:MEET大會是由量子位主辦的智能科技領域頂級商業(yè)峰會,致力于探討前沿科技技術的落地與行業(yè)應用。今年共有數(shù)十家主流媒體及直播平臺報道直播了MEET2023大會,吸引了超過300萬行業(yè)用戶線上參會,全網(wǎng)總曝光量累積超過2000萬。

演講要點

估計未來兩年到四年,HPC(高性能計算)+AI+BigData融合的服務器就會出現(xiàn)。過去HPC是一臺機器、AI是一臺機器,大數(shù)據(jù)處理是第三臺機器,這三個機器自己管自己,但現(xiàn)在這三臺機器正在融合之中;

AI基準設計要達到四個目標:統(tǒng)一的一個分數(shù)、可變的問題規(guī)模、具有實際的人工智能意義、評測程序包含必要的多機通信;

現(xiàn)在要獲HPC領域的戈登貝爾獎,必須要有AI的算法,你沒有AI的算法,否則獎都得不了。這是開玩笑的說法,但實際上也是一個趨勢;

AI for Science的出現(xiàn),讓HPC+AI的融合成為剛性需求;

探索更大參數(shù)量模型的效果,是具有重要科學意義的;

我們希望人工智能計算機跟HPC有TOP 500一樣,也有一個AIPerf 500。

(以下是鄭緯民院士演講全文)

人工智能計算機設計的三大平衡性原則

今天給大家講講我們團隊為人工智能做的三件事,就是AI與算力基礎設施的設計、評測和優(yōu)化。

第一件事,HPC(高性能計算)和AI的應用是不一樣的。

HPC的應用領域主要有科學和工程計算、天氣預報、核聚變模擬、飛行器設計。它的運算精度是雙精度浮點運算,64位甚至128位的,所以加減乘除做得很快,主要是這點不同。

人工智能計算機就是半精度的,甚至是定點的,8位的、16位的、32位的。

因此這兩臺機器應該是不一樣的,而人工智能計算機最近兩年才開始有。因此我們團隊設計了一臺能比較好地處理人工智能問題的計算機,究竟長什么樣子?

我們團隊第一個貢獻,是人工智能計算機設計的平衡性原則。

第一個,計算平衡設計。人工智能是處理單精度的或者定點的,你這臺機器是不是只要把定點的、單精度的做好就行了?但實際上也不是。雖然我們主要考慮半精度運算,但是也要考慮到雙精度運算的能力。

這兩年下來有一個經(jīng)驗:

1)雙精度與半精度的運算性能之比1:100比較好。

2)人工智能計算機不能只做CNN的,還要做大模型訓練。

因此,提出來叫變精度平衡設計思想,總體來說還要增加通用計算。

第二,網(wǎng)絡平衡設計,既然這臺機器很大,由上千個、上萬個小機器連在一起,那么這個網(wǎng)絡也要做得好。如果只做CNN那就好辦,但還要考慮訓練。這樣一來,網(wǎng)絡怎么做平衡設計也非常重要。

第三,存儲,即IO子系統(tǒng)設計。我們知道現(xiàn)在每臺機器都有SSD,怎么把每臺SSD聯(lián)合起來開成一個大的分布式文件系統(tǒng)?這也是很要緊的。

因此,我們提出來這三個平衡設計原則,已被很多公司采用?,F(xiàn)在國內(nèi)20多個城市陸續(xù)啟動人工智能超算中心,讓算力無處不在、觸手可及,這其中大多數(shù)都用上了平衡設計這個想法。

目前行業(yè)有個趨勢是HPC+AI+BigData融合在一塊。過去HPC是一臺機器、AI是一臺機器,大數(shù)據(jù)處理是第三臺機器,這三個機器自己管自己,但現(xiàn)在這三臺機器正在融合之中。

為何這么說呢?

一方面,AI for Science的出現(xiàn),讓HPC程序中包含了AI算法。因此HPC+AI的融合,成為剛性需求。

我曾經(jīng)開玩笑說,你現(xiàn)在要獲HPC的領域戈登貝爾獎,必須要有AI的算法,你沒有AI的算法,否則獎都得不了。這是開玩笑的說法,但實際上也是一個趨勢。

另一方面,數(shù)據(jù)處理是AI的基礎,數(shù)據(jù)和AI的融合也很自然。因此,我估計兩年到四年,HPC、AI和BigData融合的服務器就會出現(xiàn)。

這是我們小組第一個貢獻,即人工智能計算機應該長成什么樣子。

AI基準設計要達四個目標

第二個貢獻,大規(guī)模人工智能算力基準評測程序AIPerf

什么意思呢?傳統(tǒng)HPC有個評測程序Linpack,TOP500就是它評出來的,但它不能用于AI計算機評測。Linpack是用來測64位,甚至128位加減乘除做的快慢?,F(xiàn)在人工智能計算機是16位、32位,甚至8位,這是完全不一樣。

因此,我們需要做一個能回答這個問題的人工智能算力基準測試程序。我們希望有個簡單的評價指標,來判斷哪家系統(tǒng)的人工智能算力更強。

那現(xiàn)在有沒有相應的評測程序呢?其實也有,但沒有太合適的。

比如,DeepBench針對單個芯片,不適用于整機評測。Mobile AI Bench針對的是移動端硬件上的模型訓練評測,不是整個系統(tǒng)的。MLPerf可擴展性不好。因此,我們決定要自己做一個。

做個AI基準設計一定要達到這四個目標:

1、統(tǒng)一的分數(shù)。我們希望運行Benchmark出來一個值,就一個值就行了。而不是結果出來一個報告,這樣看起來很費勁。

2、可變的問題規(guī)模。Benchmark可以測4個節(jié)點組成的機器,也可以測1000個、20000個,要規(guī)??勺?,大規(guī)模的做起來也挺費勁。

3、具有實際的人工智能意義。不能隨便說加減乘除,那就不能反映人工智能的問題。特別是要反映人工智能問題中的神經(jīng)網(wǎng)絡運算、自然語言處理能力。

4、評測程序包含必要的多機通信,因為是一個大的系統(tǒng),由多機連起來的,需要有通信。

最后,以清華大學為主的團隊做了一個AIPerf來測試,于2020年11月15日首次發(fā)布。我們希望人工智能計算機跟HPC有TOP 500一樣,也有一個AIPerf 500。

現(xiàn)在它已經(jīng)連續(xù)三年每年都發(fā)布排行榜,得到了很多單位、企業(yè)的認可。

大規(guī)模預訓練模型的三種并行加速方法

第三個貢獻,百萬億參數(shù)超大規(guī)模訓練模型的加速方法。

簡單舉個例子,學界至今已形成一個共識:模型規(guī)模和模型效果呈正相關關系。GPT有1.1億參數(shù),GPT-3有1750億參數(shù),悟道2.0有1.75萬億參數(shù),我們做的BaGuaLu卻有174萬億參數(shù),應該說參數(shù)越多,效果越好,越接近人的智慧,但有個問題就是,訓練數(shù)據(jù)越多,要求的算力也就越大。

再來看左邊這張圖SAT(美國高考)任務的情況,如果模型參數(shù)達到100B(相當于1000億個參數(shù)),那么模型完成SAT,就有70%的準確度。

因此,探索更大參數(shù)量模型的效果,是具有重要科學意義的。

但模型越做越大,問題隨之而來?,F(xiàn)在國內(nèi)很多單位模型都做得很好,但怎么把模型安裝到一臺機器上去,這有講究。

舉個例子,我們就將BaGuaLu模型安裝到了新一代神威體系結構芯片上。

圖上可以看到,核組共有64個核,再加上黑色主核,共有65個核。一個CPU共有6個這樣的組成:CG0、CG1、CG2、CG3、CG4、CG5,這6個通過環(huán)形網(wǎng)連在一起。我們稱之為一個節(jié)點,將它集成到一塊,一個節(jié)點大概有390個核。一共有256個節(jié)點組成超節(jié)點,超節(jié)點內(nèi)部通信一步直聯(lián),超節(jié)點跟超節(jié)點之間要經(jīng)過上層的網(wǎng)絡。

因此,256個節(jié)點內(nèi)部通信很快,一步就到。但超節(jié)點之間的通信就比較慢了。

而要將大模型在這臺機器上運行,問題就來了。現(xiàn)在預訓練模型都是Transfomer,而Transfomer結構是嵌入層、注意力層、前反饋網(wǎng)絡層,中間注意力層跟前反饋層都會經(jīng)過N次迭代,整個運算又基本上是矩陣乘法。

如果一個模型能在單個CPU上運算,那最省事了,但CPU的計算能力有限,內(nèi)存也有限,模型也就大不到哪里去。因此大模型訓練一定是多機的、分布的,這就涉及到了多種并行方法。

第一種,數(shù)據(jù)并行。假如整個模型設兩個節(jié)點,一個模型節(jié)點0、另一個模型做的節(jié)點1,整個模型都做了數(shù)據(jù)并行,數(shù)據(jù)各一半要拿去訓練學習,但是要注意訓練完了以后不是最終的結果,因為只輸入了一半的數(shù)據(jù)。因此這中間要AII-Reduce,AII-Reduce就做好多通信,整件事情就會很復雜。

第二種,模型并行。將整個模型切成一半,一半模型節(jié)點0,一半模型節(jié)點1,數(shù)據(jù)是整個拿去訓練。訓練完了以后出來的結果也不是最終結果,因為只訓練了一半的模型,出來還有AII-Gather,也是做通信的。

第三種,專家并行,跟數(shù)據(jù)并行、模型并行一樣,同樣要求通信。

現(xiàn)在如果你只有一種方法,究竟用哪種并行方法呢?實際上這跟計算機結構有關。如果每臺計算機之間通信都非???,那么用數(shù)據(jù)并行就可以;如果你的通信比較慢,就要考慮模型并行或者專家并行。

因此,這些模型如何跟數(shù)據(jù)、機器實際情況匹配?這就涉及到軟硬件協(xié)同這件事。

我們在新一代神威機器上采用了“拓撲感知的混合并行模式”。

具體而言,剛才提到,該體系架構節(jié)點內(nèi)部通信很快,但超節(jié)點之間通信比較慢。因此在混合并行模式下,一個通信超節(jié)點內(nèi)部,采用數(shù)據(jù)并行;超節(jié)點之間則采用專家并行或模型并行。

除此之外,還有內(nèi)存大小、訪問內(nèi)存等問題:怎么樣讓內(nèi)存訪問的比較快,負載比較均衡?

做大規(guī)模模型訓練時,平均每小時都會發(fā)生一次硬件軟件出錯,不要以為這個機器不可靠。目前這個水平已經(jīng)很好了。因此,一般都要做檢查點,如果寫的不好,這件事情就有做三個小時,怎么能讓它加速呢?最后我們做到了10分鐘就完成了。

現(xiàn)在,我們把模型開源了,尤其是并行訓練模型,將他們放在了開源系統(tǒng)FastMOE里,現(xiàn)在得到了工業(yè)界很多認可,像阿里巴巴的淘寶、天貓,騰訊的端到端語言模型,都用上了我們的并行系統(tǒng)。百度飛槳的MOE模塊,也使用了我們的FastMOE。

最后總結一下,一是人工智能算力是當前人工智能領域發(fā)展的關鍵

二是團隊對人工智能的三點小貢獻:

1)提出了一種AI算力基礎設施的架構和平衡設計原則,現(xiàn)在全國20多個城市的20多個人工智能超算中心基本上都采納了我們的設計思想。

2)做了評測,即人工智能基準測試程序AIPerf,現(xiàn)在每年都會發(fā)布500名榜單,在國內(nèi)外產(chǎn)生了一定影響。

3)大模型怎么訓練得快?特別是關于數(shù)據(jù)并行、模型并行,還是專家并行。我們做了一個庫放在Open Source上?,F(xiàn)在工業(yè)界都來用我們的東西,使得大訓練模型訓練能夠加快。

因此,我們團隊對人工智能做了這三點小貢獻,希望能夠推動人工智能的發(fā)展。

講的不對的地方請大家批評指正。謝謝大家!

相關推薦

電子產(chǎn)業(yè)圖譜