今天,OpenAI發(fā)布了一份關(guān)于AI計(jì)算能力增長趨勢的分析報(bào)告,報(bào)告顯示:自2012年以來,AI訓(xùn)練中所使用的計(jì)算力每3.5個(gè)月增長一倍,自2012年以來,這個(gè)指標(biāo)已經(jīng)增長了30萬倍以上。
推動(dòng)人工智能發(fā)展的因素有三個(gè):算法創(chuàng)新、數(shù)據(jù)(可以是有監(jiān)督的數(shù)據(jù)或交互式的環(huán)境),以及可用于訓(xùn)練的計(jì)算量。算法創(chuàng)新和數(shù)據(jù)很難追蹤,但計(jì)算量是可量化的,這為衡量人工智能的進(jìn)展速度提供了機(jī)會。當(dāng)然,大規(guī)模計(jì)算的使用有時(shí)候會暴露當(dāng)前算法的缺點(diǎn)。但至少在當(dāng)前的許多領(lǐng)域中,更多的計(jì)算似乎就可以預(yù)見更好的性能,并且計(jì)算力常常與算法的進(jìn)步相輔相成。
對于“計(jì)算能力”,我們知道著名的“摩爾定律”(Moore's law):集成電路上可容納的元器件的數(shù)目,約每隔 18-24 個(gè)月便會增加一倍,性能也將提升一倍。
今天,非盈利的AI研究機(jī)構(gòu)OpenAI發(fā)布了一份“AI與計(jì)算”的分析報(bào)告,報(bào)告顯示:
自2012年以來,在最大的AI訓(xùn)練運(yùn)行中所使用的計(jì)算力呈指數(shù)增長,每3.5個(gè)月增長一倍(相比之下,摩爾定律的翻倍時(shí)間是18個(gè)月)。
自2012年以來,這個(gè)指標(biāo)已經(jīng)增長了30萬倍以上(如果增長一倍的時(shí)間需要18個(gè)月,僅能增長12倍)。
計(jì)算能力的提升一直是AI進(jìn)步的一個(gè)關(guān)鍵要素,所以只要這種趨勢繼續(xù)下去,就值得我們?yōu)檫h(yuǎn)遠(yuǎn)超出當(dāng)今能力的AI系統(tǒng)的影響做好準(zhǔn)備。
AI計(jì)算的“摩爾定律”:3.43個(gè)月增長一倍
對于這個(gè)分析,我們認(rèn)為相關(guān)的數(shù)字不是單個(gè)GPU的速度,也不是最大的數(shù)據(jù)中心的容量,而是用于訓(xùn)練單個(gè)模型的計(jì)算量——這是與最好的模型有多么強(qiáng)大最為相關(guān)的數(shù)字。
由于并行性(硬件和算法)限制了模型的大小和它能得到有效訓(xùn)練的程度,每個(gè)模型的計(jì)算量與計(jì)算總量的差別很大。當(dāng)然,少量的計(jì)算下仍取得了許多重要的突破,但這個(gè)分析僅涵蓋計(jì)算能力。
Log Scale
上面的圖表顯示了用來訓(xùn)練一些著名模型并得到較好結(jié)果的計(jì)算總量,單位是petaflop/s-days,使用了大量時(shí)間計(jì)算,并提供了足夠的信息來估計(jì)所使用的計(jì)算。1 petaflop/s-days(pfs-day)是指一天執(zhí)行每秒10的15次方次神經(jīng)網(wǎng)絡(luò)操作,或總計(jì)10的20次方次操作。這個(gè)compute-time的單位是為了方便,類似于能量量度單位千瓦·時(shí)(kW-hr)。
我們沒有測量硬件的峰值理論FLOPS,而是嘗試估計(jì)執(zhí)行的實(shí)際操作的數(shù)量。我們將加法和乘法作為單獨(dú)的操作,將任何相加或相乘計(jì)算為一個(gè)操作,而不考慮數(shù)值的精度(因此“FLOP”不太適當(dāng)),并且我們忽略了集成模型。在本文附錄中提供了該圖表的示例計(jì)算。
Linear Scale
結(jié)果顯示,最優(yōu)擬合線的翻倍時(shí)間(doubling time)是3.43個(gè)月。
這一趨勢每年以10倍的速度增長。部分原因是由于定制硬件,允許在一定的價(jià)格下(GPU和TPU)每秒執(zhí)行更多的操作。但更主要的因素是研究人員不斷地尋找新的方法來并行地使用更多的芯片,并愿意支付更大的成本。
4個(gè)時(shí)代
從上面的圖表,我們可以大致劃分為4個(gè)時(shí)代:
2012年之前:為機(jī)器學(xué)習(xí)使用GPU并不常見,因此圖表中的任何結(jié)果都很難實(shí)現(xiàn)。
2012年至2014年:在多個(gè)GPU上訓(xùn)練的架構(gòu)并不常見,因此大多數(shù)結(jié)果使用1-8個(gè)GPU,性能是1-2 TFLOPS,總計(jì)為0.001-0.1 pfs-days。
2014年至2016年:大規(guī)模使用10-100個(gè)GPU,性能為5-10 TFLOPS,結(jié)果為0.1-10 pfs-days。數(shù)據(jù)并行性的收益遞減意味著更大規(guī)模的訓(xùn)練運(yùn)行的價(jià)值是有限。
2016年到2017年:允許更大的算法并行性的方法,例如大的batch size、架構(gòu)搜索和專家迭代(expert iteration),以及TPU等專用硬件,更快的互連等,大大增加了這些限制,至少對某些應(yīng)用程序來說是如此。
AlphaGoZero / AlphaZero是大規(guī)模算法并行性最顯著的一個(gè)示例,但現(xiàn)在其他許多這樣大規(guī)模的應(yīng)用程序在算法上已經(jīng)是可行的,并且可能已經(jīng)在生產(chǎn)環(huán)境中應(yīng)用。
這種趨勢將持續(xù)下去,我們必須走在它前面
我們有很多理由認(rèn)為圖表里顯示的趨勢可以繼續(xù)下去。許多硬件初創(chuàng)公司都在開發(fā)AI專用的芯片,有些公司宣稱他們在未來1-2年內(nèi)將能夠大幅提高FLOPS / Watt(這與經(jīng)濟(jì)成本緊密相關(guān))。通過簡單地重新配置硬件以降低經(jīng)濟(jì)成本,也可以完成相同數(shù)量的操作。在并行性方面,以上描述的許多最近的算法創(chuàng)新原則上都可以結(jié)合在一起——例如,架構(gòu)搜索算法和大規(guī)模并行的SGD。
另一方面,成本最終將限制這個(gè)趨勢的平行度,物理學(xué)也將限制芯片的效率。我們認(rèn)為,目前最大規(guī)模的訓(xùn)練運(yùn)行采用的硬件成本僅為數(shù)百萬美元(盡管攤銷成本要低得多)。但目前大多數(shù)神經(jīng)網(wǎng)絡(luò)計(jì)算仍然用于推理(部署),而不是訓(xùn)練,這意味著公司可以重新調(diào)整用途或購買更多的芯片進(jìn)行訓(xùn)練。因此,如果存在足夠的經(jīng)濟(jì)刺激,我們可以看到更多的大規(guī)模并行訓(xùn)練,從而使這一趨勢持續(xù)數(shù)年。全世界的硬件總預(yù)算每年達(dá)1萬億美元,因此絕對的限制依然很遠(yuǎn)。總的來說,考慮到上述數(shù)據(jù)、計(jì)算指數(shù)趨勢的先例、機(jī)器學(xué)習(xí)特定硬件的研究以及經(jīng)濟(jì)激勵(lì),我們相信這種趨勢將持續(xù)下去。
對于這種趨勢將持續(xù)多久,以及持續(xù)下去會發(fā)生什么,用過去的趨勢來預(yù)測是不足夠的。但是,即使計(jì)算能力迅速增長的潛力處于合理范圍,也意味著今天就開始解決AI的安全問題和惡意使用問題是至關(guān)重要的。遠(yuǎn)見對于負(fù)責(zé)任的政策制定和負(fù)責(zé)任的技術(shù)發(fā)展都至關(guān)重要,我們必須走在這些趨勢前面,而不是對趨勢反應(yīng)遲鈍。
方法和最新結(jié)果
兩種方法用于生成這些數(shù)據(jù)點(diǎn)。當(dāng)我們有足夠的信息時(shí),我們直接在每個(gè)訓(xùn)練樣例中描述的架構(gòu)中計(jì)算FLOP的數(shù)量(相加和相乘),并乘以訓(xùn)練期間的前向和后向通道總數(shù)。當(dāng)我們沒有足夠的信息來直接計(jì)算FLOP時(shí),我們查看了GPU的訓(xùn)練時(shí)間和使用的GPU總數(shù),并假設(shè)了使用效率(通常為0.33)。對于大多數(shù)論文,我們能夠使用第一種方法,但對于少數(shù)論文,我們依賴第二種方法,并且為了進(jìn)行一致性檢測,我們盡可能計(jì)算這兩個(gè)指標(biāo)作為。 在大多數(shù)情況下,我們也向作者證實(shí)了這一點(diǎn)。計(jì)算并不是精確的,但我們的目標(biāo)是在2-3倍的范圍內(nèi)做到正確。我們在下面提供一些示例計(jì)算。
案例1:計(jì)數(shù)模型中的操作
當(dāng)作者給出正向傳遞使用的操作數(shù)時(shí),這種方法特別容易使用,就像在Resnet論文中(特別是Resnet-151模型)一樣:
這些操作也可以在一些深度學(xué)習(xí)框架中以編程方式計(jì)算已知的模型體系結(jié)構(gòu),或者我們可以簡單地手動(dòng)計(jì)算操作。如果一篇論文提供了足夠的信息來進(jìn)行計(jì)算,它將會非常準(zhǔn)確,但在某些情況下,論文不包含所有必要的信息,作者也無法公開它。
方法2的示例:GPU時(shí)間
如果我們不能直接計(jì)算,我們可以看看有多少GPU經(jīng)過多長時(shí)間的訓(xùn)練,并且在GPU利用率上使用合理的猜測來嘗試估計(jì)執(zhí)行的操作次數(shù)。我們強(qiáng)調(diào),這里我們不計(jì)算峰值理論FLOPS,但是使用理論FLOPS的假定分?jǐn)?shù)來嘗試猜測實(shí)際FLOPS。 根據(jù)我們自己的經(jīng)驗(yàn),我們通常假設(shè)GPU的利用率為33%,CPU的利用率為17%,除非我們有更具體的信息(例如我們有和作者進(jìn)行交流或在OpenAI上完成這些工作)。
舉個(gè)例子,在AlexNet的論文中提到“在兩個(gè)GTX 580 3 GB的GPU上,訓(xùn)練我們的網(wǎng)絡(luò)需要5到6天的時(shí)間”。在我們的假設(shè)下,這意味著總計(jì)算:
這種方法近似度更高,可以很容易地減少2倍或以上,我們的目標(biāo)僅僅是估計(jì)數(shù)量級。在實(shí)踐中,當(dāng)這兩種方法都可用時(shí),它們通常會很好地排列(對于AlexNet來說,我們也可以直接計(jì)算操作,在GPU時(shí)間方法上,計(jì)算結(jié)果分別是 0.0054 pfs-days和0.0058 pfs-days。
使用適量計(jì)算的最新結(jié)果
大規(guī)模計(jì)算當(dāng)然不是產(chǎn)生重要結(jié)果的要求。最近許多值得注意的結(jié)果僅使用適量的計(jì)算。 以下是使用適度計(jì)算的結(jié)果的一些例子,它提供了足夠的信息來估計(jì)它們的計(jì)算。我們沒有使用多種方法來估計(jì)這些模型的計(jì)算結(jié)果,對于上限,我們對任何缺失的信息進(jìn)行了保守估計(jì),因此它們具有更大的整體不確定性。這些估計(jì)對我們的定量分析并不是十分重要,但我們?nèi)匀徽J(rèn)為它們很有趣,值得分享:
-
摩爾定律
+關(guān)注
關(guān)注
4文章
634瀏覽量
79054 -
gpu
+關(guān)注
關(guān)注
28文章
4742瀏覽量
128972 -
AI
+關(guān)注
關(guān)注
87文章
30947瀏覽量
269215
原文標(biāo)題:【AI計(jì)算的新摩爾定律】3.5個(gè)月翻一倍,6年增長30萬倍
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論