雖然GPT-3沒(méi)有開(kāi)源,卻已經(jīng)有人在復(fù)刻GPT系列的模型了。
例如,慕尼黑工業(yè)大學(xué)的Connor Leahy,此前用200個(gè)小時(shí)、6000RMB,復(fù)現(xiàn)了GPT-2。
又例如,基于150億參數(shù)版GPT-3的DALL·E模型剛出,來(lái)自康奈爾大學(xué)的 Philip Wang就開(kāi)始復(fù)現(xiàn) 了。
但此前,還沒(méi)人能復(fù)現(xiàn)出GPT-3大小的大語(yǔ)言模型來(lái)。
不過(guò),已經(jīng)有人開(kāi)始嘗試了。這是一個(gè)名為 GPT-Neo的項(xiàng)目,用于復(fù)現(xiàn)GPT系列的各種語(yǔ)言模型,當(dāng)然也包括GPT-3。
作者表示,目前他們已經(jīng)成功制造出GPT-2大小的模型。
從項(xiàng)目代碼的可擴(kuò)展性來(lái)看,他們預(yù)計(jì)可以復(fù)刻出GPT-3大小的語(yǔ)言模型,甚至比GPT-3更大。
不僅如此,由于這是個(gè)開(kāi)源的項(xiàng)目,大家還可以自主訓(xùn)練這些模型 (將來(lái)也會(huì)包括GPT-3)。
目前,作者已經(jīng)給出了詳細(xì)的訓(xùn)練步驟。
消息一出,網(wǎng)友沸騰了:
要是真能復(fù)現(xiàn),說(shuō)不定會(huì)比現(xiàn)在的GPT-3還要更好用!
GPT系列的“高仿”項(xiàng)目
本質(zhì)上,GPT-Neo有點(diǎn)像是GPT系列的“高仿”項(xiàng)目:
GPT-Neo中的各種模型,設(shè)計(jì)原理接近GPT系列,但代碼并不一樣。
作者們打算嘗試各種結(jié)構(gòu)和注意力類(lèi)型,最終擴(kuò)展出GPT-3大小的大語(yǔ)言模型。
為了實(shí)現(xiàn)這一目標(biāo),他們從復(fù)現(xiàn)GPT系列的模型開(kāi)始,不斷嘗試各種模型架構(gòu)、和各種注意力機(jī)制的實(shí)現(xiàn)方式。
也就是說(shuō),GPT-Neo更像是一個(gè)實(shí)驗(yàn)性質(zhì)的項(xiàng)目,通過(guò)各種嘗試,擴(kuò)展出更大的模型。
這里面,融合了各種讓模型變得“更大”的研究:
例如,多任務(wù)學(xué)習(xí)方法MoE (Mixture of Experts),采用多個(gè)專(zhuān)家的結(jié)構(gòu),將問(wèn)題空間劃分為同質(zhì)區(qū)域,然后采用分發(fā)器,決定問(wèn)題應(yīng)該問(wèn)哪些專(zhuān)家。
又比如,具有線性復(fù)雜性的自注意力機(jī)制。
……
這個(gè)項(xiàng)目還在施工中,不過(guò),連模型的訓(xùn)練方式都準(zhǔn)備好了。
項(xiàng)目計(jì)劃通過(guò)TPU或GPU,對(duì)大語(yǔ)言模型進(jìn)行訓(xùn)練。
為此,作者們已經(jīng)基于Tensorflow-mesh (用于在GPU上訓(xùn)練模型)、Deepspeed (用于在TPU上訓(xùn)練模型)兩個(gè)項(xiàng)目,編寫(xiě)了GPT-Neo的訓(xùn)練代碼。
這兩個(gè)項(xiàng)目都可以擴(kuò)展到大于GPT-3的大小,甚至還能更大。
因此,訓(xùn)練GPT-3大小的模型,軟件理論上是可行的。
但硬件上的問(wèn)題,目前作者們還在思考明確的解決方案。如果將來(lái)真的做出了GPT-3大小的模型,他們打算先從谷歌那多要點(diǎn)免費(fèi)資源,如果不行的話,就再說(shuō)……
如何訓(xùn)練GPT-Neo
當(dāng)然,在TPU和GPU上訓(xùn)練的方式有所不同。
如果使用TPU訓(xùn)練的話,需要注冊(cè)一個(gè)谷歌云平臺(tái),創(chuàng)建存儲(chǔ)空間,然后再搞個(gè)虛擬機(jī),將模型放到TPU上訓(xùn)練。
不過(guò),如果你的GPU硬件足夠OK,也可以選擇直接訓(xùn)練GPT-Neo,就不用設(shè)置一系列谷歌云了。
此外,也可以用谷歌Colab來(lái)訓(xùn)練項(xiàng)目,它免費(fèi)提供TPU-V8S處理器,訓(xùn)練GPT的3XL (1.5B參數(shù))版本綽綽有余。
訓(xùn)練過(guò)程也不復(fù)雜,主要包括創(chuàng)建分詞器、數(shù)據(jù)集預(yù)處理、指定訓(xùn)練數(shù)據(jù)集、選擇訓(xùn)練配置、訓(xùn)練模型幾個(gè)步驟。
在創(chuàng)建分詞器上,GPT-Neo目前提供一個(gè)Huggingface的預(yù)訓(xùn)練GPT-2分詞器。不過(guò),也可以訓(xùn)練自己專(zhuān)屬的分詞器。
然后,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,可以直接下載項(xiàng)目提供的數(shù)據(jù),也可以使用自己的數(shù)據(jù)集。
在那之后,指定模型訓(xùn)練所用的數(shù)據(jù)集,然后對(duì)訓(xùn)練方式進(jìn)行設(shè)置,例如優(yōu)化算法、訓(xùn)練步數(shù)等。
然后,指定硬件名稱、數(shù)量,就可以開(kāi)始訓(xùn)練模型了。
“只會(huì)用谷歌搜索的自動(dòng)化團(tuán)隊(duì)”
不過(guò),對(duì)于GPT系列的項(xiàng)目復(fù)現(xiàn),有網(wǎng)友并不看好。
網(wǎng)友認(rèn)為,GPT-X系列項(xiàng)目,就像是一個(gè)由幾百人組成的自動(dòng)化團(tuán)隊(duì),這幾百人 只會(huì)用谷歌搜索來(lái)干活,而且還沒(méi)辦法寫(xiě)出最新的新聞事件報(bào)道。 (因?yàn)橛?xùn)練數(shù)據(jù)無(wú)法一直更新)
它雖然是個(gè)非常有趣的研究,但目前卻還沒(méi)有一個(gè)“殺手級(jí)”應(yīng)用,來(lái)讓GPT-3項(xiàng)目的存在變得更有意義。
當(dāng)然,也有人認(rèn)為,復(fù)現(xiàn)這一項(xiàng)目還是有意義的。
即使只是“幾百個(gè)只會(huì)用搜索引擎干活的團(tuán)隊(duì)”,他們也需要快速給出某個(gè)問(wèn)題的答案。
如何在大量零碎信息中, 高效地選出最優(yōu)解,本身就是GPT-X項(xiàng)目的價(jià)值之一。畢竟如果只是幾百個(gè)“會(huì)用谷歌搜索”的人組成的團(tuán)隊(duì),是無(wú)法像GPT-3一樣,快速得出最佳答案的。
當(dāng)然,也有一些程序員調(diào)侃,要是這個(gè)GPT-3項(xiàng)目真的被復(fù)現(xiàn)了,豈不是他們馬上就要失業(yè)了。
“我們總是在用谷歌搜索、和stackoverflow來(lái)解決問(wèn)題。這不就是像GPT-3一樣,只會(huì)整合搜索引擎上的信息,來(lái)解決問(wèn)題嗎?”
“該死,原來(lái)GPT-3竟然可以取代這么多程序員。”
目前,GPT-Neo的所有項(xiàng)目和代碼已開(kāi)源。
想要上手一試、或是對(duì)項(xiàng)目感興趣的小伙伴,可以行動(dòng)起來(lái)了~
責(zé)任編輯:PSY
-
開(kāi)源
+關(guān)注
關(guān)注
3文章
3349瀏覽量
42500 -
語(yǔ)言模型
+關(guān)注
關(guān)注
0文章
524瀏覽量
10277 -
GPT
+關(guān)注
關(guān)注
0文章
354瀏覽量
15373
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論