鄭為民院士:科學人工智能的興起,使高性能計算與人工智能的融合成為必然
楊菁編譯自MEET2023
量子比特 | 公眾號QbitAI
人們對于算力的需求比以往更加強烈,甚至有人說:誰擁有了算力,誰就擁有了未來。
Metaverse、AIGC、AI for Science的出現(xiàn)為高性能計算(HPC)增添了動力。
在諸多挑戰(zhàn)和機遇并存、交織的當下,人工智能領域領軍人物、中國工程院院士、清華大學計算機科學與技術系教授鄭為民在MEET2023智慧未來大會上分享了他的見解和思考。
預計未來2到4年內將會出現(xiàn)HPC(高性能計算) AI 大數(shù)據(jù)融合的服務器。
AI for Science的出現(xiàn),讓HPC AI的融合成為剛需;而數(shù)據(jù)處理是AI的基礎,因此數(shù)據(jù)與AI的融合也是水到渠成。
他甚至開玩笑說,想要獲得高性能計算領域的戈登貝爾獎,必須要有AI算法,如果你沒有AI算法,你就拿不到獎。
這雖然是一句玩笑話,但其實是一種趨勢。
此外,他還談到了人工智能計算機設計的三大平衡原則、AI基準設計的四大目標,以及如何通過并行方法加速大規(guī)模預訓練模型。
為了充分體現(xiàn)鄭為民院士的分享與思考,量子位在不改變原意的情況下對其演講內容進行了編輯整理。
關于MEET智能未來大會:MEET大會是量子位主辦的智能科技領域頂級商業(yè)峰會,致力于探索前沿技術的落地與行業(yè)應用。今年,數(shù)十家主流媒體及直播平臺對MEET2023大會進行了報道及直播,吸引了超過300萬行業(yè)用戶線上參與,全網(wǎng)總曝光量累計超過2000萬。
演講要點
(以下為鄭為民院士演講全文)
人工智能計算機設計的三大平衡原則
今天我給大家講一下我們團隊針對人工智能做的三件事,分別是人工智能和計算基礎設施的設計、評估和優(yōu)化。
首先,HPC(高性能計算)和AI的應用是不同的。
HPC主要應用于科學與工程計算、天氣預報、核聚變模擬、飛機設計等,它的計算精度是雙精度浮點計算,64位甚至128位,所以加減乘除運算都很快,這是最主要的區(qū)別。
人工智能計算機是半精度甚至是定點的,8位、16位或32位。
所以這兩個機器應該是不一樣的,而且人工智能計算機也是近兩年才出現(xiàn)的,所以我們團隊設計了一臺可以更好處理人工智能問題的計算機,它長什么樣子呢?
我們團隊的第一個貢獻是人工智能計算機設計中的平衡原則。
第一,計算平衡的設計。人工智能是處理單精度還是定點數(shù),你的機器是不是只需要做定點數(shù)和單精度?但其實不然,雖然我們主要考慮半精度計算,但是也要考慮雙精度計算能力。
在過去的兩年里我學到了很多:
1)雙精度與半精度計算性能比為1:100,性能良好。
2)人工智能計算機不能只做CNN,還需要訓練大型模型。
因此,提出了可變精度平衡設計概念,這通常需要額外的通用計算。
第二,網(wǎng)絡的均衡設計。由于這個機器非常龐大,是由幾千、幾萬個小機器連接在一起的,所以網(wǎng)絡也必須設計得好。如果只是CNN的話,很容易做,但是訓練也要考慮。這種情況下,如何均衡網(wǎng)絡設計也很重要。
第三,存儲,也就是IO子系統(tǒng)的設計。我們知道現(xiàn)在每臺機器都有一個SSD,那么怎么把各個SSD組合成一個大的分布式文件系統(tǒng)呢?這個也是很重要的。
因此我們提出了這三個平衡設計原則,被很多公司采用。現(xiàn)在國內已經有20多個城市陸續(xù)上線了人工智能超算中心,讓算力無處不在、觸手可及,而它們大多都運用了平衡設計的思想。
當前行業(yè)趨勢是HPC AI BigData的融合,過去HPC是一臺機器,AI是另一臺機器,大數(shù)據(jù)處理是第三臺機器,這三臺機器各自為政,但現(xiàn)在這三臺機器正在融合。
我為什么這么說呢?
一方面,AI for Science的出現(xiàn)使得HPC方案能夠包含AI算法,因此HPC AI的融合成為剛需。
我曾經開玩笑說,在高性能計算領域,如果你想獲得戈登貝爾獎,你必須有AI算法,如果你沒有AI算法,你就得不到獎。這是一句玩笑話,但實際上是一種趨勢。
另一方面,數(shù)據(jù)處理是AI的基礎,數(shù)據(jù)和AI的融合也是自然而然的事情,所以我估計2到4年后就會出現(xiàn)HPC、AI、BigData三者融合的服務器。
這是我們課題組的第一個貢獻,這就是人工智能計算機應該是什么樣子的。
AI基準設計應實現(xiàn)四個目標
第二個貢獻是大規(guī)模人工智能算力基準測評程序AIPerf。
這意味著什么?傳統(tǒng)HPC有一個評估程序叫Linpack,用來評估TOP500,但不能用來評估AI計算機。Linpack是用來衡量64位甚至128位加減乘除運算速度的,而現(xiàn)在的AI計算機都是16位、32位,甚至8位的,完全不一樣。
所以我們需要做一個能夠回答這個問題的AI算力基準測試程序,希望有一個簡單的評估指標來判斷哪個系統(tǒng)的AI算力更強。
現(xiàn)在有沒有相關的評估方案呢?其實有的,但是都不是很合適。
例如,DeepBench 針對的是單芯片,不適合整機評估。Mobile AI Bench 針對的是移動硬件上的模型訓練評估,而不是整個系統(tǒng)。MLPerf 不可擴展。因此,我們決定自己做一個。
要設計AI基準,必須實現(xiàn)以下四個目標:
1. 統(tǒng)一評分。我們希望運行基準測試并獲取單一值,而不是一份報告,這似乎很費力。
2. 問題規(guī)模多變。Benchmark 可以測試 4 個節(jié)點的機器,也可以測試 1000 個、20000 個節(jié)點的機器。大規(guī)模做起來比較困難。
3.具有實際的人工智能意義。不能只講加減乘除,否則不能體現(xiàn)人工智能的問題。尤其要體現(xiàn)人工智能問題中的神經網(wǎng)絡運算和自然語言處理能力。
4、評估程序中包含了必要的多機通信,因為評估程序是一個由多臺機器連接在一起組成的大系統(tǒng),需要通信。
最后,由清華大學牽頭的團隊創(chuàng)建了一個AIPerf來進行測試,并在2020年11月15日首次發(fā)布。我們希望AI計算機能有一個AIPerf 500,就像HPC有TOP 500一樣。
現(xiàn)已連續(xù)三年每年發(fā)布該排行榜,得到眾多單位和企業(yè)的認可。
大規(guī)模預訓練模型的三種并行加速方法
第三個貢獻是針對數(shù)百萬億參數(shù)的超大規(guī)模訓練模型的加速方法。
舉個簡單的例子,學術界已經達成共識,模型規(guī)模和模型效果是正相關的。GPT有1.1億個參數(shù),GPT-3有1750億個參數(shù),悟道2.0有1.75萬億個參數(shù),我們的八卦爐有174萬億個參數(shù)。應該說參數(shù)越多,效果越好,越接近人類智能,但是有一個問題,就是訓練數(shù)據(jù)越多,需要的算力就越大。
我們看左圖的SAT(美國大學入學考試)任務,如果模型參數(shù)達到100B(相當于1000億個參數(shù)),那么模型就能以70%的準確率完成SAT。
因此探索參數(shù)值較大的模型的效果具有重要的科學意義。
但隨著模型的變大,問題也隨之而來,國內很多公司做的模型都很好,但如何把模型裝到機器上,還是存在一些問題。
比如我們在新一代神威架構芯片上安裝了八卦爐模型。
圖中可以看到,核心組有64個核心,加上黑色的主核,一共有65個核心。一個CPU有6個這樣的部件:CG0,CG1,CG2,CG3,CG4,CG5,這6個通過環(huán)形網(wǎng)絡連接在一起。我們稱它為一個節(jié)點,把它整合成一塊。一個節(jié)點大約有390個核心。一共256個節(jié)點組成一個超級節(jié)點。超級節(jié)點內部通訊是直連的,超級節(jié)點之間的通訊必須經過上層網(wǎng)絡。
因此256個節(jié)點之間的通信非??欤梢砸徊酵瓿?,但超級節(jié)點之間的通信相對較慢。
然而在本機上運行大型模型時問題就出現(xiàn)了。目前所有預訓練的模型都是 Transformer,而 Transformer 結構由 embedding 層、attention 層和前饋網(wǎng)絡層組成。中間的 attention 層和前饋層會經過 N 次迭代,整個操作基本就是矩陣乘法。
如果一個模型能在單CPU上運行,那是最簡單不過了,但是CPU的計算能力和內存有限,模型不可能那么大,所以大模型的訓練一定是多機分布式的,這就涉及到各種并行的方法。
第一是數(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ù)、機器狀況相匹配呢?這就涉及到軟件和硬件的配合。
我們在新一代申威機上采用了“拓撲感知的混合并行模式”。
具體來說,如前所述,該架構的節(jié)點內部通信很快,但是超級節(jié)點之間的通信相對較慢,因此在混合并行模式下,通信超級節(jié)點內部采用數(shù)據(jù)并行,超級節(jié)點之間采用專家并行或者模型并行。
此外,還有內存大小和內存訪問等問題:如何讓內存訪問更快,負載更均衡?
做大規(guī)模模型訓練的時候,軟硬件平均每小時都會出錯一次,不要覺得機器不靠譜,現(xiàn)在的水平已經很不錯了。所以一般都會有checkpoint,如果寫得不好,這個任務要三個小時,怎么加速呢?最后我們10分鐘就做完了。
現(xiàn)在我們把我們的模型,特別是并行訓練的模型開源了,放到了開源系統(tǒng)FastMOE里面,現(xiàn)在已經得到了業(yè)界的廣泛認可,阿里的淘寶、天貓,騰訊的端到端語言模型,都用到了我們的并行系統(tǒng),百度的PaddlePaddle的MOE模塊也是用到了我們的FastMOE。
綜上所述,第一,人工智能算力是當前人工智能領域發(fā)展的關鍵。
二、團隊對人工智能的三點小貢獻:
1)我們提出了AI計算基礎設施的架構和均衡的設計原則,現(xiàn)在全國20多個城市的20多個人工智能超算中心,基本都采用了我們的設計思想。
2)我們做了一個測評,也就是人工智能基準程序AIPerf,現(xiàn)在每年都會發(fā)布500人的榜單,在國內外產生了一定的影響。
3)如何快速訓練大型模型?特別是在數(shù)據(jù)并行、模型并行和專家并行方面。我們做了一個庫并開源了?,F(xiàn)在業(yè)界都在用我們的東西來加速大型訓練模型的訓練。
因此我們團隊對人工智能做出了這三點小貢獻,希望能夠推動人工智能的發(fā)展。
如果有不對的地方請大家批評指正,謝謝!
– 超過-
量子比特QbitAI·今日頭條簽約
關注我們,第一時間獲取最新前沿科技資訊
版權聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。