史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

AIBigbull2050發表於2020-09-30
  2020-06-30 00:08:56

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

原創:譚婧


2020年,年中。

人類歷史上最大的人工智慧模型,來到人間。

這個體格巨大的北鼻,哭聲嘹亮,告知全世界:“我寫的作文,幾乎透過了圖靈測試。”

那些第一次聽說引數數量的人,

那些第一次翻看實驗結果的人,

那些第一次口算增長速度的人,

在彼此確認了眼神之後,一致的反應是:

“哦漏,我大概是瘋了吧。不,是人工智慧模型瘋了吧。”

同行邁出的步子,似乎要扯爛褲襠。

牆內的人,撿起驚掉的下巴。

牆外的人,他們只覺得嬰兒的哭聲吵鬧。

“不僅會寫短文,而且寫出來的作文挺逼真的,幾乎可以騙過人類,可以說幾乎透過了圖靈測試。”如果沒有後兩個半句,你可能會誤認為這是老師對文科生學霸的評語。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

理科也超級擅長,還能輔導別人程式設計。

“以前都是人類去寫程式,現在是人類寫一個人工智慧演算法,演算法自己從資料中推匯出程式。新的人工智慧技術路線已經跑通。”

學渣,看破紅塵,敲敲木魚,念出賈伯斯的名言:


做個吃貨,做個蠢 貨。

(Stay hungry,Stay foolish)。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

反正養老託付給人工智慧了。而這樣的人工智慧,需要鉅額的資金,需要頂級的技術。

科技巨頭微軟大筆一揮,千萬美金的支票,拿走不謝。

據測算,即使使用市場上價格最低的GPU雲端計算(服務),也需要355年的時間和3500多萬人民幣的費用。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

大明宮首席建築師閻立本,收起畫完《步輦圖》的畫筆,在呈給太宗李世民的臣下章奏中寫道“用工十萬”。

千宮之宮,留名千古。

全球頂級人工智慧實驗室,用金千萬。

三十一位研究人員,徒手修建了一個外表看上去擅長胸口碎大石的北鼻。

挪步震掀桌椅,哭嚎萬馬齊 喑。

這個超大人工智慧模型,名叫GPT-3。

早期的深度學習模型,引數量小,好比一個樂高玩具,每天擺在辦公桌上賣萌。

如今的深度學習模型,引數量挑戰底層GPU並行技術,引數量挑戰底層地基。

好比同樣是樂高模型,GPT-3可以在北京朝陽區三里屯優衣庫門口當大型擺設。

當然不是試衣服,而是欲與大樓試比高。

知乎問題:“如何看和樓一樣高的樂高模型?”

網友回答:“抬頭看。”

不抬頭,只能看到腳丫子。一個正常的模型大小刻度表,綠巨人GPT-3模型是放不進來的,得重新畫一下座標軸的刻度。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

(原來的佇列)

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

(GPT-3來後的佇列)

人工智慧超大模型GPT-3和綠巨人浩克一樣,都是大塊頭。

經常觀摩,可以治療頸椎病。

綠巨人GPT-3模型出生於美國Open AI實驗室。

在看到自己的論文刷爆了朋友圈後,像他們這麼低調的科研團隊,一點也沒有得意,只是在辦公室旋轉、跳躍,並巡迴炫耀了24小時,而已。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

早在2019年,Open AI實驗室就發出前方高能預警。

他們核算了自2012年以來模型所用的計算量,從AlexNet模型到AlphaGo Zero模型。AlexNet模型,是冠軍模型。AlphaGo Zero模型,是打敗韓國圍棋九段棋手李世石的那個,它們都是人工智慧模型。

引數指標很爭氣,增長30萬倍。

那些堪稱“最大”的AI訓練模型所使用的計算量,呈指數型增長。

3.4個月就會倍增。這是Open AI實驗室的結論。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

雖然還沒有成為“定律”,但已經有很多人用“摩爾定律”和其比較。

摩爾定律說,晶片效能翻倍的週期是18個月。Open AI說,人工智慧訓練模型所需要的計算量的翻倍週期是3.4個月。

三個半月,一臺計算機就不夠了,得兩臺。掐指一算,618大促買新的機器,雙11大促又得買新的了。

對於人工智慧的科研工作來說,金錢是個好僕人。

如果你不知道Open AI,那要補補課了。世界歷史上,美國時隔9年第一次使用國產火箭從本土將宇航員送入太空,民營航天企業第一次進行載人發射,馬斯克就是這家震驚世界的公司的創始人。

Open AI是全球人工智慧頂級實驗室,這家機構也 曾有馬斯克的支援。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

平庸的人,都是相似的。

瘋狂的人,各有各的瘋狂。

一個人工智慧的演算法模型可以大到什麼程度?

綠巨人GPT-3模型給出了新答案——1750億個引數。

實話實說,模型創新程度很難用單個指標量化,模型複雜度和引數量有一定關係,模型引數量決定模型大小。

綠巨人GPT-3模型是啥?

是一個超級大的自然語言處理模型,將學習能力轉移到同一領域的多個相關任務中,既能做組詞造句,又能做閱讀理解。聽上去像小學語文課的內容。

把這種(預訓練)模型比喻為小學生,一年級的語文作業,組詞和造句,早就會做。你接手過來,給模型輔導功課,無需從頭教起,接著教二年級的題目就可以了。


《語文》課本里熟悉的一幕:“閱讀全文,並總結段落大意。”

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

綠巨人GPT-3 模型“引數”身價幾何?我們來看看《福布斯·模型引數量排行榜》。

回首2011那年,AlexNet,冠軍模型,有0.6億個引數。

回顧前兩年,BERT模型,流行一時,有3億個引數。

綠巨人GPT-3 模型的親哥哥GPT-2,有15億個引數。

英偉達的Megatron-BERT,有80 億引數。

2020年2月,微軟Turing NLP,有170 億引數。

2020年6月,綠巨人GPT-3,有1750億個引數。

小學數學老師告訴我們:綠巨人GPT-3模型穩贏。

連體育老師也得這麼教。

這時候,麥當勞對人工智慧說,更多引數,更多歡樂。

理解模型的複雜度,要回顧一下歷史。

2015年,微軟發明的用於影像識別的ResNet模型訓練過程大約包含次浮點計算,模型含有千萬級引數。

2016年,百度發明的用於語音識別的DeepSpeech模型訓練過程大約包含次浮點計算,模型含有億級引數。

2017年,谷歌發明的用於機器翻譯的深度學習模型訓練過程大約包含次浮點計算,模型含有數十億引數。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

微軟、百度、谷歌,彷彿走進了羅馬角鬥場,雙眼充滿紅血絲。拜託,哪有這麼血腥,看看科技巨頭的年度利潤。人工智慧本來就是貴族的遊戲,哪個玩家沒有幾頭健壯的現金牛。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

2018年之後,人工智慧模型的消費水平,進入了奢侈品俱樂部。驢牌教父起身站立,鼓掌歡迎。

要是俱樂部有個微信群,奢侈品品牌掌門人,會依次“拍了拍微軟、百度、谷歌”。

以下,是一份預估的賬單,更恰當地說,是奢侈品消費的賬單。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

此時此景,人工智慧超級大模型,賦詩一首:

訓練想得意,

先花一個億。

效能要兇猛,

揮金得如土。

人工智慧演算法模型“瘋狂”增長的背後,究竟意味著什麼?

圍繞這個問題,我採訪了微軟亞洲研究院前研究員,一流科技創始人袁進輝博士。

袁博士說了兩層意思。

第一層,錢很重要。

袁進輝博士說道:“人工智慧模型瘋狂增長的背後,意味著人工智慧的競爭已經進入到軍備競賽級別。長時間的使用GPU叢集是非常花錢的。製造一個像GPT-3這樣的超級模型的想法,可能有人能想到,但不是每個團隊都有錢驗證這一想法。除谷歌之外,很多公司沒有財力訓練BERT-Large模型,並且,實現這個想法對工程能力要求極高。”

土豪的生活就是這樣,樸實無華又枯燥。訓練超大GPT-3模型,須使用超大規模GPU機器學習叢集。一個人工智慧模型訓練一次的花銷是千萬美金,一顆衛星的製造成本被馬斯克降到50萬美元以下。人工智慧模型比衛星成本還昂貴。

土豪的生活又加了一點,土豪也得勤奮。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

第二層,不是有錢就能行,技術也很重要。

在袁進輝看來,人工智慧的大模型執行在大規模GPU(或者TPU)叢集上,訓練需要分散式深度學習框架,才能在可接受的時間內看到提升效果,大模型的訓練如果沒有分散式深度學習框架支援,即使能投入大筆資金搭建大規模GPU叢集也無濟於事。在模型和算力都如此快速增長的情況下,深度學習框架如果不跟著一起發展的話,會限制演算法研究的水平和迭代速度。

對深度學習框架,人工智慧模型的要求是,在努力上進的我身邊,有一個同樣努力上進的你。

深度學習框架呼喚技術創新,再墨守成規就會被“甩”了。

無情未必真豪傑,那究竟是什麼技術如此重要?

一個能打敗“記憶體牆”的技術。

那記憶體牆是什麼呢?這個問題的答案,有(hen)點(ke)長(pu)。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

早期深度學習模型,引數量小,一個GPU夠用。當引數量變大,一個GPU不夠了,麻煩就來了。當計算量相當的大,訓練一個模型跑上十天半個月啥的是常事,分散式的意義就出現了。既然一張GPU卡跑得太慢就來兩張,一塊GPU晶片單獨處理不了,得多塊GPU。對某些深度學習應用來說,比較容易實現“線性加速比”,投入多少倍的GPU資源就獲得多少倍加速效果。

只要砸錢,就能降低運算時間,一切看上去,都還挺美好。

但是,現實扼住咽喉,把你從“美好”中搖醒。

超大模型對計算量的需求,百倍、千倍地提升,不僅超越了任何一類晶片(GPU)單獨處理的能力,而且即使砸錢堆了成百上千塊的GPU,對不起,加速比很低。投了一百倍資源,只有幾倍加速效果,甚至出現多個GPU比單個GPU還慢的情況。

為啥呢?

首先,深度學習是一種接近“流式”的計算模式,計算粒度變得很小,難把硬體跑滿。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

傳統大資料處理多屬於批式計算,對全體資料掃描處理後才獲得結果。與此相反,深度學習訓練是基於隨機梯度下降演算法的,這是典型的流式計算,每掃描和處理一小部分資料後,就開始調整和更新內部引數。

批式計算是,一次端過來一鍋,全部吃完。流式計算是,一次來一小碗。再不給大爺盛飯,就要停嘴了,嘴停,手就停。

一般,一個GPU處理一小塊資料只需要100毫秒的時間,那麼問題就成了,“排程”演算法能否在100毫秒的時間內為GPU處理下一小塊資料做好準備。如果可以的話, GPU就會一直保持在運算狀態。如果不可以,那麼GPU就要間歇性地停頓,意味著裝置利用率降低。

深度學習訓練中的計算任務粒度非常小,通常是數十毫秒到百毫秒級別。換句話說,幹活幹得快,不趕緊給分派新的任務,大爺就要歇著了。

總歇著,活肯定也幹不快,工期長,急死人。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

另一方面,深度學習使用的裝備太牛逼,不是GPU就是AI晶片,運算速度非常快。

一塊GPU晶片單獨處理不了,單靠GPU這一類晶片也處理不了。通常是CPU和GPU一塊兒工作,CPU 負責任務的排程和管理,而GPU 負責實現計算(稠密),這就是經常說的異構計算(Heterogenouscomputing)。

但是又有了新問題,GPU 吞吐率非常高,可以是CPU的10倍以上,意味著同樣大小的計算任務,GPU可以更快完成。GPU計算的時候,如果每次需要的數都從CPU或者從另外的GPU上拿,就把GPU也拖慢了。

CPU就好比一個吃飯比較慢的人,以前一大鍋可以吃很長時間。GPU相當於吃飯特別快的人,現在一次來一小碗,一口就吃下去了。所以,把碗端上桌的速度就非常關鍵。

CPU和GPU,異口同聲說:

“記憶體牆,How are you(怎麼是你)?”

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

模型太大,就需要把模型拆開。比如說神經網路前幾層拆在這個GPU上,後幾層拆在另一個GPU上,或者神經網路中某一層被切割到多個GPU上去了。

[怎麼切割是一道超綱題,暫(wo)且(ye)不(bu)答(hui)。]

把資料或模型拆分之後,就需要多個GPU頻繁互動,互通有無。然而,漏屋偏逢連夜雨,裝置互聯頻寬也不爭氣,沒有實質改進,同機內部PCIe或多機互聯使用的高速網的傳輸頻寬,要低於GPU內部資料頻寬一兩個數量級。

可以用計算和資料傳輸之間的比例來衡量“記憶體牆“的壓力有多大。計算機系統理論上恰好有一個叫運算強度(Arithmetic intensity)的概念可以刻畫,說洋氣一點,flops perbyte,表示一個位元組的資料上發生的運算量。


只要這個運算量足夠大,傳輸一個位元組可以消耗足夠多的計算量,那麼即使裝置間傳輸頻寬低於裝置內部頻寬,也有可能使得裝置處於滿負荷狀態。

進一步,如果採用比GPU更快的晶片,處理一小塊兒資料的時間就比100毫秒更低,比如10毫秒,頻寬不變,“調配”演算法能用10毫秒的時間為下一次計算做好準備嗎?事實上,即使是使用不那麼快(相對於TPU 等專用晶片)的GPU,當前主流的深度學習框架對模型並行已經力不從心了。

CPU和GPU,仰天長嘯:

“記憶體牆,How old are you(怎麼老是你)?”

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

“記憶體牆”帶來巨大壓力,處理不好,就會造成裝置利用率低、整體系統效能差的後果。

理論上,訓練框架與硬體平臺耦合程度相對較高,深度學習框架需要基於異構硬體支援訓練超大規模資料或模型,分散式訓練的實際效能高度依賴底層硬體的使用效率。換句話說,解決這個問題,得靠深度學習框架。

記憶體牆,得解決。沒辦法,誰讓深度學習框架處在上接演算法、下接晶片的位子上,在技術江湖裡的卡位很關鍵。

袁博士在“記憶體牆”上,用白漆畫了個大圈,寫下一個大大的“拆”字。

史上最大,人工智慧演算法模型GPT-3問世,這意味著什麼?

《親愛的資料》出品

他認為,這是深度學習框架最應該解決的問題。人生在世,錢能解決絕大多數問題;但是,不能解決的少數問題,才是根本性的問題。訓練超大人工智慧模型,有錢就能買硬體,但要有技術,才能把硬體用好。

道理,很簡單。

現實,很殘酷。

“國內深度學習框架發展水平並不落後,有多家公司開源了水準很高的,這些夠用了嗎?”

袁博士答道:“現有開源框架直接拿過來,真是做不了大模型這事兒,尤其引數量上到GPT-3模型這個級別的時候。

深度學習模型進入到現在這個階段,大規模帶來的問題,僅靠開源的深度學習框架已經有點吃力了。已有開源分散式深度學習框架無論使用多大規模的GPU叢集,都需要漫長的時間(幾個月以上)才能訓練完成,時間和人力成本極高。

弱者坐失時機,強者製造時機。

“那在開源版本上修改,能否滿足工業級的用途?”

袁博士回答道:“現在市面上的深度學習框架,有選擇的餘地,但當前在某些場景(比如,模型並行)改造和定製也力不從心。就比如綠巨人GPT-3這件事兒,直接把現有開源深度學習框架拿來是搞不定的,OpenAI實驗室對開源框架做了深度定製和最佳化,才可能在可接受的時間內把這個實驗完整跑下來。”

一般人,只看到了模型開銷的昂貴,沒有看到技術上的難度。

“單個晶片或單個伺服器無法滿足訓練大模型的需求,這就是所謂的Silicon Scaling的侷限性。為解決這個難題,我們必須使用橫向擴充套件的方法,透過高速互聯手段把多個伺服器連在一起形成計算資源池,使用深度學習框架等分散式軟體來協同離散耦合的多個加速器一起高效工作,從而提高計算力的上限。”

袁博士繼續解釋。

袁博士還特別介紹瞭解決這個問題對人才的要求,他說:“改造深度學習框架,是一件困難的事。從團隊方面來說,演算法工程師難招聘,有計算機系統理論背景或者工程能力到位,又懂演算法的工程師更難找。挖人也不解決問題。一位演算法工程師挖走了,演算法的巧思之處被帶走了。但是,深度學習框架得把差不多整個團隊挖走,才夠用。”

“超大模型不是今天才有,也不是今天才被人注意到,而是一直以來就有這個趨勢。有遠見的人,較早就能看到趨勢。最先發現個趨勢和最先準備的人,最有機會。”

“很多深度學習框架剛開始研發的時候都沒有瞄準這種問題,或者說沒有看到這個問題。深度學習框架沒有完成的作業,就要留給演算法團隊去做,考驗演算法公司技術團隊對深度學習框架的改進能力。市面上的情況是,極少數企業搞得定,大多數企業搞不定。”

聊了很久,我丟擲最後一個問題。

“GPT-3模型在企業業務裡用不到,很多人覺得無用,實驗室的玩意而已。其科學意義是什麼呢?”

他笑了笑,用一貫低沉的聲音說道:“GPT-3模型說明,OpenAI實驗室很有科學洞見,不是人人都能想到往那個方向去探索,他們的背後有一種科學理念支援。思考大模型的時候,有一種假設(hypothesis)的方法論,當假設成立,能夠解決與之相對應的科學問題。在這個方法論的指導下,勇於探索,肯定不是莫名其妙的一拍腦袋就花千萬級別的美金往超大模型的方向上魯莽的冒險。”

袁進輝把人工智慧和人腦做了一個比較。

他說道:

“人類的大腦與我們現在的人工智慧自然語言處理模型進行比較:人類大腦有100萬億個突觸,這比最大的人工智慧模型還要大三個數量級。這個人工智慧模型,名叫GPT-3,幾乎透過圖靈測試了。一直以來,科研團隊都在尋找‘能正常工作’的聊天機器人,這個模型讓人看到了突破口。”

他在思考,當真正實現了具有百萬億引數的神經網路時,今天人工智慧和深度學習模型面臨的困難會不會就迎刃而解了呢?機器人進行真正智慧對話的日子是不是就快到來了?

說到這裡,他眼神中閃過一絲亮光。

在袁進輝看來,這種里程碑式的突破,通常需要傑出團隊才能取得。OpenAI想到了,也做到了。它代表了這方面全球的最高水平,探索了能力的邊界,擴充了人類的想象力。就像飛船飛往宇宙的最遠處,觸控到了人工智慧模型引數量增長的邊界。

這種模型的問世,就像航天界“發射火箭”一樣,成本高,工程要求也高。他們的成功,既實現了理論上的意義,也實現了工程上的意義。

人工智慧的希望,在來的路上。

無論實驗怎麼苦惱,

無論效果如何不濟,

GPT-3模型始終是人類邁向“智慧”的無盡長階上的一級。

沒有偉大的願景,就沒有偉大的洞見。

沒有偉大的奮鬥,就沒有偉大的工程。

(完)







來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2725284/,如需轉載,請註明出處,否則將追究法律責任。

相關文章