前不久,微軟和英偉達推出包含5300億參數(shù)的語言模型MT-NLG,這是一款基于Transformer的模型被譽為“世界上最大、最強的生成語言模型”。
毫無疑問,這是一場令人印象深刻的機器學習工程展示。
然而,我們是否應(yīng)該對這種大型模型趨勢感到興奮?
1、大腦深度學習
研究人員估計,人腦平均包含860億個神經(jīng)元和100萬億個突觸??梢钥隙ǖ氖?,并非所有這些都用于語言。有趣的是,GPT-4預計有大約100萬億個參數(shù)……
盡管這個對比很粗糙,但是難道不應(yīng)該懷疑構(gòu)建與人腦大小差不多的語言模型是否是一個長期可行的方法?
當然,我們的大腦是經(jīng)過數(shù)百萬年進化產(chǎn)生的奇妙裝置,而深度學習模型才有幾十年的歷史。盡管如此,直覺應(yīng)該告訴我們,有些東西是無法計算的。
2、深度學習、還是深度錢包?
在龐大的文本數(shù)據(jù)集上訓練一個5300億參數(shù)的模型,毫無疑問的是需要龐大的基礎(chǔ)設(shè)施。
事實上,微軟和英偉達使用了數(shù)百臺DGX-A100的GPU服務(wù)器。每件售價高達199,000美元,再加上網(wǎng)絡(luò)設(shè)備、主機等成本,任何想要復制這個實驗的人都必須花費近1億美元。
哪些公司有業(yè)務(wù)例子可以證明在深度學習基礎(chǔ)設(shè)施上花費1億美元是合理的?或者甚至是1000萬美元?很少。
那么這些模型到底是為誰準備的呢?
3、GPU集群
盡管其工程才華橫溢,但在GPU上訓練深度學習模型是一種費力的事情。
根據(jù)服務(wù)器參數(shù)表顯示,每臺DGX服務(wù)器可以消耗高達6.5千瓦的電量。當然,數(shù)據(jù)中心(或服務(wù)器)至少需要同樣多的散熱能力。
除非你是史塔克家族的人,需要拯救臨冬城,否則散熱是必須處理的另一個問題。
此外,隨著公眾對氣候和社會責任問題的認識不斷提高,公司還需要考慮到他們的碳足跡。馬薩諸塞大學2019年的一項研究,“在GPU上訓練BERT大致相當于一次跨美飛行”。
而BERT-Large擁有3.4億個參數(shù),訓練起來的碳足跡究竟有多大?想想都害怕。
構(gòu)建和推廣這些龐大的模型是否有助于公司和個人理解和使用機器學習呢?
相反,如果把重點放在可操作性更高的技術(shù)上,就可以用來構(gòu)建高質(zhì)量的機器學習解決方案。
4、使用預訓練模型
在絕大多數(shù)情況下,并不需要自定義模型體系結(jié)構(gòu)。
一個好的起點是尋找已針對您要解決的任務(wù)(例如,總結(jié)英文文本)進行預訓練的模型。
然后,快速嘗試一些模型來預測自己的數(shù)據(jù)。如果參數(shù)標明某個參數(shù)良好,那么就完成了!如果需要更高的準確性,應(yīng)該考慮對模型進行微調(diào)。
5、使用較小的模型
在評估模型時,應(yīng)該選擇能夠提供所需精度的最小模型。它將更快地預測并需要更少的硬件資源來進行訓練和推理。
這也不是什么新鮮事。熟悉計算機視覺的人會記得SqueezeNet于2017年問世時,與AlexNet相比,模型大小減少了50倍,同時達到或超過了其準確性。
自然語言處理社區(qū)也在努力縮小規(guī)模,使用知識蒸餾等遷移學習技術(shù)。DistilBERT可能是其最廣為人知的成就。
與原始BERT模型相比,它保留了97%的語言理解能力,同時模型體積縮小了40%,速度提高了60%。相同的方法已應(yīng)用于其他模型,例如Facebook的BART。
Big Science項目的最新模型也令人印象深刻。如下圖所示,他們的T0模型在許多任務(wù)上都優(yōu)于GPT-3,同時模型大小縮小了16倍。
6、微調(diào)模型
如果需要專門化一個模型,不需要從頭開始訓練模型。相反,應(yīng)該對其進行微調(diào),也就是說,僅在自己的數(shù)據(jù)上訓練幾個時期。
使用遷移學習的好處,比如:
需要收集、存儲、清理和注釋的數(shù)據(jù)更少
實驗和數(shù)據(jù)迭代的速度更快
獲得產(chǎn)出所需的資源更少
換句話說:省時、省錢、省硬件資源、拯救世界!
7、使用基于云的基礎(chǔ)設(shè)施
不管喜歡與否,云計算公司都知道如何構(gòu)建高效的基礎(chǔ)設(shè)施。研究表明,基于云的基礎(chǔ)設(shè)施比替代方案更具能源和碳效率。Earth.org表示,雖然云基礎(chǔ)設(shè)施并不完美,但仍然比替代方案更節(jié)能,并促進對環(huán)境有益的服務(wù)和經(jīng)濟增長。”
在易用性、靈活性和即用即付方面,云當然有很多優(yōu)勢。
8、優(yōu)化模型
從編譯器到虛擬機,軟件工程師長期以來一直使用工具來自動優(yōu)化硬件代碼。
然而,機器學習社區(qū)仍在為這個話題苦苦掙扎,這是有充分理由的。優(yōu)化模型的大小和速度是一項極其復雜的任務(wù),其中涉及以下技術(shù):
硬件:大量面向加速訓練任務(wù)(Graphcore、Habana)和推理任務(wù)(Google TPU、AWS Inferentia)的專用硬件。
剪枝:刪除對預測結(jié)果影響很小或沒有影響的模型參數(shù)。
融合:合并模型層(比如卷積和激活)。
量化:以較小的值存儲模型參數(shù)(比如使用8位存儲,而不是32位存儲)
幸運的是,自動化工具已經(jīng)開始出現(xiàn),例如Optimum開源庫和Infinity,這是一種容器化解決方案,可以以1毫秒的延遲提供Transformers的準確性。
9、結(jié)論
在過去的幾年里,大型語言模型的規(guī)模每年都以10倍的速度增長。這看起來像另一個摩爾定律。
如果機器學習沿著模型巨大化這條路走下去,會導致收益遞減、成本增加、復雜度增加等。
這是所期待的人工智能未來的樣子嗎?
與其追逐萬億參數(shù)模型,不如把更多經(jīng)歷放在構(gòu)建解決現(xiàn)實世界問題的實用且高效的解決方案,豈不是更好?