0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分階段詳解GPT的整個訓(xùn)練流程

AI智勝未來 ? 來源:機(jī)器之心 ? 2023-05-31 16:08 ? 次閱讀

在近日舉辦的微軟開發(fā)者大會 Microsoft Build 2023 上,OpenAI 聯(lián)合創(chuàng)始人 Andrej Karpathy 做了一個題為《State of GPT》演講,其中他首先直觀地介紹了 GPT 的訓(xùn)練流程的各個階段,然后展示了如何使用 GPT 來完成任務(wù)并給出了直觀的示例,最后他還給出了一些非常具有實(shí)際意義的使用建議。機(jī)器之心詳細(xì)整理了該演講,以饗讀者。

如何訓(xùn)練 GPT?

首先,我們概括性地看看 GPT 大模型的訓(xùn)練流程。要記住,這是個新領(lǐng)域,變化很快?,F(xiàn)在的流程是這樣,以后新技術(shù)出現(xiàn)時可能會不一樣。

e6c10e42-fed7-11ed-90ce-dac502259ad0.png

可以看到,GPT 的訓(xùn)練流程可粗略分為四個階段:預(yù)訓(xùn)練、監(jiān)督式微調(diào)、獎勵建模、強(qiáng)化學(xué)習(xí)。

這四個階段按順序進(jìn)行。每個階段都有各自的數(shù)據(jù)集,每個階段也有各自用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)算法。第三行是所得到的模型。最后底部有一些備注信息。

在所有階段中,預(yù)訓(xùn)練階段所需的計算量是最大的,可以說 99% 的訓(xùn)練計算時間和浮點(diǎn)運(yùn)算量都集中在這個階段。因?yàn)檫@一階段需要處理超大規(guī)模的互聯(lián)網(wǎng)數(shù)據(jù)集,可能需要數(shù)千 GPU 構(gòu)成的超級計算機(jī)工作幾個月時間。其它三個階段都算是微調(diào)(fine tuning)階段,所需的 GPU 數(shù)量和訓(xùn)練時間都少得多。

下面我們將分階段詳解 GPT 的整個訓(xùn)練流程。

預(yù)訓(xùn)練階段

預(yù)訓(xùn)練階段的目標(biāo)是得到一個基礎(chǔ)模型。

首先第一步:數(shù)據(jù)收集。這一階段需要海量的數(shù)據(jù),下面給出了一個例子,這是來自 Meta 的 LLaMA 模型的數(shù)據(jù)混合(data mixture)方法:

e6cec6e0-fed7-11ed-90ce-dac502259ad0.png

可以看到,LLaMA 的預(yù)訓(xùn)練數(shù)據(jù)按不同比例混用了多個不同類型的數(shù)據(jù)集,其中比例最大的是爬取自互聯(lián)網(wǎng)的 CommonCrawl 以及基于 CommonCrawl 構(gòu)建的 C4,此外還有 GitHub、維基百科等數(shù)據(jù)集。

收集到這些數(shù)據(jù)之后,還需要對它們進(jìn)行預(yù)處理,這一步也被稱為「token 化」。簡單來說,這就是一個轉(zhuǎn)譯過程,即把原始文本轉(zhuǎn)譯成某種整數(shù)序列,因?yàn)檫@種整數(shù)序列就是 GPT 實(shí)際工作時所操作的本地表征。

e735eec4-fed7-11ed-90ce-dac502259ad0.png

這種從文本到 token 和整數(shù)的轉(zhuǎn)譯過程是無損的,而具體執(zhí)行這一過程的算法有好幾種。舉個例子,如上圖所示,我們可以使用一種名為字節(jié)對編碼(byte pair encoding)的技術(shù),其工作方式是迭代式地合并短文本塊并將它們分組成 token。最后實(shí)際輸入 Transformer 的就是那些整數(shù)序列。

下面來看兩個示例模型 GPT-3 和 LLaMA 在預(yù)訓(xùn)練階段需要考慮的一些主要的超參數(shù)。Karpathy 表示由于他們還沒有發(fā)布有關(guān) GPT-4 的相關(guān)信息,因此在演講中使用了 GPT-3 的數(shù)據(jù)。

e77261ec-fed7-11ed-90ce-dac502259ad0.png

可以看到,詞匯庫的大小通常是 10000 數(shù)量級的;上下文長度通常為 2000 或 4000 左右,而現(xiàn)在更是有長達(dá) 10 萬的。上下文長度決定著 GPT 在預(yù)測序列的下一個整數(shù)時所查看的最大整數(shù)數(shù)量。

對于參數(shù)數(shù)量,可以看到 GPT-3 的為 1750 億,而 LLaMA 的為 650 億,但實(shí)際上 LLaMA 的性能表現(xiàn)遠(yuǎn)勝于 GPT-3。原因何在?因?yàn)?LLaMA 訓(xùn)練的 token 要長得多,達(dá)到了 1.4 萬億,而 GPT-3 僅有大約 3000 億。因此,評價一個模型時,光看參數(shù)數(shù)量是不夠的。

上圖中部的表格中給出了 Transformer 神經(jīng)網(wǎng)絡(luò)中一些需要設(shè)定的超參數(shù),比如頭的數(shù)量、維度大小、學(xué)習(xí)率、層數(shù)等等。

下方則是一些訓(xùn)練超參數(shù);比如為了訓(xùn)練 650 億參數(shù)的 LLaMA 模型,Meta 使用 2000 個 GPU 訓(xùn)練了大約 21 天,資金成本大約為 500 萬美元。這大概能體現(xiàn)出預(yù)訓(xùn)練階段各項(xiàng)成本的數(shù)量級。

接下來看實(shí)際的預(yù)訓(xùn)練過程究竟會發(fā)生什么。大致來說,首先會把 token 分批組成 data batch。這些分配數(shù)據(jù)構(gòu)成數(shù)組,再被輸入到 Transformer 中。這些數(shù)組的大小為 B×T;其中 B 是分批大小,即堆疊的獨(dú)立樣本的行數(shù);T 是最大上下文長度。下圖給出了一個示例。

e797e034-fed7-11ed-90ce-dac502259ad0.png

在圖中示例中,上下文長度 T 僅為 10,但實(shí)際模型的 T 可達(dá)到 2000 或 4000 乃至更長。也就是說,實(shí)際模型的一行數(shù)據(jù)可以非常長,比如一整個文檔。我們可以將許多文檔打包到各行中,并用這些特殊的文本結(jié)束 token <|endoftext|> 來分隔它們。簡單來說,這些 token 是告訴 Transformer 新文檔開始的位置。比如圖中的 4 行文檔就轉(zhuǎn)換成了底部的 4×10 的數(shù)組。

現(xiàn)在,需要將這些數(shù)字輸入到 Transformer。這里我們僅看其中一個單元格(綠色),而實(shí)際上每個單元格都會經(jīng)歷同樣的處理流程。

e7a56a88-fed7-11ed-90ce-dac502259ad0.png

這個綠色單元格會查看其之前的所有 token,即所有黃色單元格的 token。我們要將這里的全部上文輸入到 Transformer 神經(jīng)網(wǎng)絡(luò),Transformer 則需要預(yù)測出該序列的下一個 token,即圖中的紅色 token。

為了給出準(zhǔn)確的預(yù)測,神經(jīng)網(wǎng)絡(luò)需要調(diào)整其上百億個參數(shù)。每次調(diào)整后,神經(jīng)網(wǎng)絡(luò)對每個單元格 token 的預(yù)測分布就會不同。舉個例子,如果詞匯庫的大小為 50257 個 token,那么我們就需要同樣多的數(shù)字,以便得到下一個 token 的概率分布,其預(yù)測了下一個 token 的可能值及相應(yīng)概率。

在圖中的示例中,下一個單元格應(yīng)該是 513,因此就可以將其用作監(jiān)督源來更新 Transformer 的權(quán)重。我們可以并行地對每個單元格采取同樣的操作。我們不斷更換數(shù)據(jù)批,努力讓 Transformer 有能力正確地預(yù)測序列的下一個 token。

下面再看一個更具體的示例。這是《紐約時報》用莎士比亞作品訓(xùn)練的一個小型 GPT。這里給出了莎士比亞作品中的一小段以及在其上訓(xùn)練 GPT 的情況。

e7bb3958-fed7-11ed-90ce-dac502259ad0.png

首先,在 GPT 初始化時,權(quán)重是完全隨機(jī)的,所以其輸出結(jié)果也是完全隨機(jī)的。隨著時間推移,訓(xùn)練時間越來越長,GPT 不斷迭代,模型給出的結(jié)果樣本也就越來越連貫通順了。最后,可以看到 Transformer 學(xué)到了一些有關(guān)詞的東西,也知道應(yīng)該在哪些地方放置空格了。

在實(shí)際預(yù)訓(xùn)練過程中,要通過一些量化指標(biāo)來確定模型迭代中的表現(xiàn)變化。一般來說,研究者監(jiān)測是損失函數(shù)。損失低說明 Transformer 更可能給出正確預(yù)測,即序列中下一個整數(shù)是正確值的概率更高。

e83a1a20-fed7-11ed-90ce-dac502259ad0.png

預(yù)訓(xùn)練其實(shí)就是一個語言建模過程,這個過程的訓(xùn)練時間可長達(dá)一個月。之后,GPT 學(xué)到了一個非常強(qiáng)大的通用型語言表征。然后我們可以針對具體的下游任務(wù)高效地對其進(jìn)行微調(diào)。

e8480504-fed7-11ed-90ce-dac502259ad0.png

舉個例子,如果下游任務(wù)是情緒分類。過去,你采用的方法可能是收集大量標(biāo)注好「正面」或「負(fù)面」情緒的樣本,然后訓(xùn)練一個 NLP 模型。但現(xiàn)在的新方法不需要預(yù)先做情緒分類了,你只需要拿一個預(yù)訓(xùn)練過的大型語言模型,然后只需要少量示例樣本,就能非常高效地針對你的具體任務(wù)對模型進(jìn)行微調(diào)。

這對實(shí)際應(yīng)用來說非常有用。那么為什么預(yù)訓(xùn)練后的大型語言模型(LLM)只需要簡單微調(diào)就能用呢?這是因?yàn)檎Z言建模過程本身就已經(jīng)涵蓋了大量任務(wù) —— 模型為了預(yù)測下一個 token,必須理解文本的結(jié)構(gòu)以及其中內(nèi)含的各種不同概念。

這就是 GPT-1。

現(xiàn)在來看 GPT-2。人們注意到 GPT-2 甚至可以不用微調(diào)就能非常有效地讓這些模型執(zhí)行 prompt。這些語言模型的訓(xùn)練目標(biāo)是完成文檔,因此用戶實(shí)際上只需通過編排適當(dāng)?shù)奶摷傥臋n,就可以誘導(dǎo)模型執(zhí)行具體任務(wù)。下面給出了一個例子。

e87e1f22-fed7-11ed-90ce-dac502259ad0.png

其中給出了一篇文章,用戶想完成的任務(wù)是做相關(guān)的問答。因此,只需要在文章后面加幾個有答案的問答(這被稱為 few-shot prompt),然后再提問,那么由于 Transformer 的目標(biāo)是完成這個文檔,也就相當(dāng)于回答了問題。這個例子是用 prompt 來調(diào)教基礎(chǔ)模型,使其相信它在模仿一個文檔,結(jié)果卻完成了問答任務(wù)。

Karpathy 認(rèn)為,以提供 prompt 替代微調(diào)的方式昭示著大型語言模型的新時代。這讓基礎(chǔ)模型本身就足以應(yīng)對許多不同類型的任務(wù)。

也因此,相關(guān)領(lǐng)域的研究前沿就轉(zhuǎn)向了基礎(chǔ)模型的進(jìn)化。各大研究機(jī)構(gòu)和企業(yè)都在打造自己的基礎(chǔ)大模型。不過這些模型并不都是公開可用的,比如 OpenAI 一直沒有發(fā)布 GPT-4 基礎(chǔ)模型。我們通過 API 調(diào)用的 GPT-4 模型其實(shí)并不是基礎(chǔ)模型,而是一個助理模型(assistant model)。

e888f1cc-fed7-11ed-90ce-dac502259ad0.png

GPT-3 基礎(chǔ)模型可通過 DaVinci API 使用,GPT-2 基礎(chǔ)模型也是公開的,用戶甚至可以在 GitHub 上找到其參數(shù)權(quán)重配置:https://github.com/openai/gpt-2 。不過總體而言,目前最開放的基礎(chǔ)模型還是 Meta 的 LLaMA 系列模型,但該系列也沒有授權(quán)給商業(yè)使用。

現(xiàn)在需要指出一點(diǎn):基礎(chǔ)模型不等于助理模型。基礎(chǔ)模型不會回答用戶提問,它們只會完成文檔。所以如果你對基礎(chǔ)模型說:「寫一首關(guān)于面包和奶酪的詩」,你可能不會如愿 —— 它只會把你的要求看成一個文檔,然后試圖完成它。

e90b7da4-fed7-11ed-90ce-dac502259ad0.png

但是,你可以通過適當(dāng)?shù)?prompt 誘導(dǎo)基礎(chǔ)模型寫詩,如上圖右側(cè)所示。

當(dāng)然,你也可以誘導(dǎo)模型變成助理。為此,你需要創(chuàng)建一些特定的少樣本 prompt,使其看起來像是人類與助理交換信息的交互過程的文檔。如下圖所示,然后你只需要在文檔結(jié)尾處附上你的提問,基礎(chǔ)模型就能在一定程度上化身為一個有用的助理,給出某個答案。但這個過程并不非常可靠,實(shí)踐效果也不好。

e91f941a-fed7-11ed-90ce-dac502259ad0.png

因此,為了打造出真正的 GPT 助理,需要另外的方法,即監(jiān)督式微調(diào)(supervised fine tuning,即 SFT)。

監(jiān)督式微調(diào)階段

在監(jiān)督式微調(diào)階段,需要收集少量但高質(zhì)量的數(shù)據(jù)集。OpenAI 的方法是以人工方式收集由 prompt 和理想響應(yīng)構(gòu)成的數(shù)據(jù)。這些數(shù)據(jù)需要不少,一般需要幾萬個。

然后,繼續(xù)在這些數(shù)據(jù)上執(zhí)行語言建模。算法不變,只是換了訓(xùn)練數(shù)據(jù)集:從大量低質(zhì)量的互聯(lián)網(wǎng)文檔換成了少量高質(zhì)量的問答式「prompt - 響應(yīng)」數(shù)據(jù)。

這個訓(xùn)練過程完成后,就得到了一個 SFT 模型。部署這些模型就能得到助理,它們已經(jīng)能完成一定程度的工作。

依然來看個例子。這是人類合同工寫出的數(shù)據(jù),其中有一個 prompt,然后人類再寫出理想的響應(yīng)。

e94c21ba-fed7-11ed-90ce-dac502259ad0.png

理想的響應(yīng)自然不能讓人隨意發(fā)揮,而是需要遵循許多規(guī)則(如上右圖),其中有格式上的要求并且要保證給出的答案有用、真實(shí)可信且無害。

接下來還需要基于人類反饋的強(qiáng)化學(xué)習(xí)(RLHF),其中包含獎勵建模階段和強(qiáng)化學(xué)習(xí)階段。

獎勵建模階段

在這一階段,需要將數(shù)據(jù)收集轉(zhuǎn)變成比較的形式。這里給出了一個示例。對于同樣的 prompt,即要求助理寫一個能檢查給定字符串是否為回文的程序或函數(shù)。再使用已經(jīng)訓(xùn)練好的 SFT 模型生成多個結(jié)果,這里給出了三個。然后再讓人類給這些結(jié)果排名。

e9b69c34-fed7-11ed-90ce-dac502259ad0.png

這件事做起來可并不簡單,畢竟要是讓人類來完成一個 prompt,可能需要耗費(fèi)幾個小時時間?,F(xiàn)在假設(shè)排名完成了,然后就需要在這些結(jié)果的所有可能配對上執(zhí)行類似二元分類的操作。

如下圖所示,具體的做法是這樣的:將 prompt 按行排列;這里的三行 prompt 是一樣的,但完成的結(jié)果不同,即圖中黃色 token(來自 SFT 模型)。然后在其后添加一個特殊的獎勵讀出 token。這樣,只需要在綠色 token 位置對 Transformer 執(zhí)行監(jiān)督,就能使 Transformer 預(yù)測出某個獎勵,從而判斷 prompt 的完成結(jié)果是否優(yōu)良。

e9c7b2d0-fed7-11ed-90ce-dac502259ad0.png

這基本上就是讓 Transformer 猜測每個完成結(jié)果的質(zhì)量。當(dāng)其猜測完每個不同結(jié)果的質(zhì)量后,開發(fā)者就可以動用已有的基本真值(ground truth)強(qiáng)行讓某些結(jié)果的質(zhì)量分?jǐn)?shù)高于其它結(jié)果,從而使模型的獎勵預(yù)測結(jié)果與人工給出的基本真值保持一致。這個過程可以通過一個損失函數(shù)完成。

有了獎勵模型之后,GPT 依然還不能成為一個有用的助理,但獎勵模型卻對后面的強(qiáng)化學(xué)習(xí)階段很有用,因?yàn)楠剟钅P涂梢栽u估任意給定 prompt 的任意完成結(jié)果的質(zhì)量。

強(qiáng)化學(xué)習(xí)階段

強(qiáng)化學(xué)習(xí)階段做的事情就是基于獎勵模型,使用強(qiáng)化學(xué)習(xí)算法對大量 prompt 對應(yīng)的結(jié)果進(jìn)行評分。

這里以一個 prompt 為例,將 SFT 模型完成的結(jié)果(黃色)排列成行,然后在后面加上獎勵 token(綠色)。這些獎勵來自獎勵模型,并且已經(jīng)固定不變。

e9db64c4-fed7-11ed-90ce-dac502259ad0.png

現(xiàn)在使用同樣的語言建模損失函數(shù),只是現(xiàn)在是在黃色 token 上訓(xùn)練,并根據(jù)獎勵模型指示的獎勵來重新權(quán)衡語言建模目標(biāo)。

比如在第一行,獎勵模型認(rèn)為這個完成結(jié)果的評分相當(dāng)高。因此,模型在第一行采樣的所有 token 都會得到強(qiáng)化,也就是在未來會有更高的概率被采用。對比之下,獎勵模型不喜歡第二個完成結(jié)果,給出了負(fù)分評價,因此該行的所有 token 在未來出現(xiàn)的概率就會降低。

如此這般在許多 prompt 上操作一遍又一遍,經(jīng)過許多數(shù)據(jù)批次,就能得到一個創(chuàng)建黃色 token 的策略。依照這個策略,所有完成結(jié)果都能被獎勵模型給予高分。

這就是 RLHF 的訓(xùn)練流程。最后得到的模型就可以部署成應(yīng)用了。

ChatGPT 就是一個 RLHF 模型,而其它一些模型則可能是 SFT 模型,比如 Claude 等。

那么 OpenAI 為什么要使用 RLHF 呢?Karpathy 表示,原因很簡單,使用 RLHF 能讓模型表現(xiàn)更好。根據(jù) OpenAI 之前做的一些實(shí)驗(yàn),可以看到使用了 PPO(近端策略優(yōu)化)算法的 RLHF 模型整體上都更好一些。當(dāng)把結(jié)果提供給人類時,相比于 SFT 模型和通過 prompt 化身為助理的基礎(chǔ)模型,人類也基本更喜歡來自 RLHF 模型的 token。

e9f047a4-fed7-11ed-90ce-dac502259ad0.png

那 RLHF 為什么能讓模型更好呢?目前 AI 研究界還沒有找到一個得到大家認(rèn)可的理論,但 Karpathy 還是給出了自己的見解。他認(rèn)為這可能與比較和生成的計算難度之間的不對稱性有關(guān)。

舉個例子說明一下:假設(shè)我們要讓一個模型寫一首關(guān)于回形針的俳句。如果你是一位正努力創(chuàng)建訓(xùn)練數(shù)據(jù)的合同工,正在為 SFT 模型收集數(shù)據(jù)。那么你該怎樣寫出一首關(guān)于回形針的好俳句呢?而你可能并不是一位優(yōu)秀的俳句詩人。但是,如果給你幾首俳句,你卻有能力辨別它們中哪首更好一些。也就是說,比起創(chuàng)建一個好樣本,判斷哪個樣本更好是簡單得多的任務(wù)。因此,這種不對稱性可能使得比較是一種更好的方法 —— 能更好地利用人類的判斷來創(chuàng)造出好一些的模型。

e9ffe7e0-fed7-11ed-90ce-dac502259ad0.png

現(xiàn)在來看另一個方面:RLHF 并不總是會為基礎(chǔ)模型帶來提升。在某些情況下,RLHF 模型會失去一些熵,也就是說它們會輸出更加單調(diào)、變化更少的結(jié)果。而基礎(chǔ)模型的熵更高,可以輸出更加多樣化的結(jié)果。

ea0d2428-fed7-11ed-90ce-dac502259ad0.png

比如下面的任務(wù)可能就更適合使用基礎(chǔ)模型,即生成與已有的 n 個示例相似的東西。這里的示例任務(wù)是生成更多寶可夢名字。首先,用戶向模型提供了 7 個寶可夢名字,然后讓基礎(chǔ)模型完成文檔。基礎(chǔ)模型生成了大量寶可夢名字。這些名字都是虛構(gòu)的,畢竟寶可夢并不真實(shí)存在。Karpathy 認(rèn)為這類任務(wù)使用基礎(chǔ)模型會得到更好的結(jié)果,因?yàn)榛A(chǔ)模型的熵更高,給出的結(jié)果既與之前的示例相似,又更加多樣化和炫酷。

ea1d36b0-fed7-11ed-90ce-dac502259ad0.png

現(xiàn)在,用戶可以使用的助理模型已有不少了。伯克利有個團(tuán)隊(duì)正對許多助理模型進(jìn)行排名并給出了基本的 ELO 評分。當(dāng)然,現(xiàn)目前最好的模型是 GPT-4;Claude 和 GPT-3.5 緊隨其后。有些模型公開提供模型權(quán)重,比如 Vicuna、Koala 等。在這個榜單中,前三名都是 RLHF 模型,其它模型基本都是 SFT 模型。

ea3996ca-fed7-11ed-90ce-dac502259ad0.png

上面就是訓(xùn)練模型的方式。下面調(diào)轉(zhuǎn)方向,看看我們可以怎么將 GPT 助理模型應(yīng)用于實(shí)際問題。

e69f2246-fed7-11ed-90ce-dac502259ad0.jpg

如何使用 GPT?

e6ba3a22-fed7-11ed-90ce-dac502259ad0.jpg???

下面會通過實(shí)際示例來展示如何最好地使用 GPT。假設(shè)你在寫一篇文章,需要在結(jié)尾加上這樣一句:「California’s population is 53 times that of Alaska.」(加州的人口是阿拉斯加州的 53 倍)。但現(xiàn)在你不知道這兩個州的人口數(shù)據(jù),你需要智能助理來幫你。

人類會怎樣完成這個任務(wù)呢?大致推想,人類很可能會經(jīng)歷一連串的思考過程,如下圖所示:首先會想到為了得到結(jié)果,需要比較人口數(shù)量,那么就需要查詢?nèi)丝跀?shù)據(jù);然后使用查詢工具查一下 —— 在維基百科上找到了加州和阿拉斯加的人口數(shù)據(jù);接下來很顯然需要做個除法運(yùn)算,可能會需要計算器;然后得到倍數(shù)結(jié)果 53;然后我們的大腦可能會用經(jīng)驗(yàn)理智快速檢驗(yàn)一下 ——53 倍感覺挺合理的,畢竟加州是美國人口最多的州。

ea69956e-fed7-11ed-90ce-dac502259ad0.png

信息有了之后,就進(jìn)入了創(chuàng)造性寫作的部分。你可能首先會寫下:「California has 53x times greater」,然后你想一下感覺又不太合適,又刪了重新想哪種表達(dá)更合適一點(diǎn),最終得到你滿意的句子表達(dá)。

簡單來說,為了寫這樣一句話,你的內(nèi)心會經(jīng)歷大量獨(dú)白式的思考。那么 GPT 在生成這樣一句話時又會經(jīng)歷什么呢?

GPT 處理的都是 token 序列。不管是閱讀還是生成,它都是按部就班地一塊塊地進(jìn)行,其中每一塊都是針對一個 token,計算工作量也都一樣。這些 Transformer 的層數(shù)不少,足有 80 個推理層,但話說回來 80 也不是非常多。Transformer 會通過這些來盡力模仿寫作,但其思考過程和人類的大不相同。

ea7f0c64-fed7-11ed-90ce-dac502259ad0.png

也就是說與人類不同,GPT 沒有什么內(nèi)心獨(dú)白,它只會檢視每一個 token 并在每個 token 上投入同等的計算量,僅此而已。它們就像是 token 模擬器 —— 它們不知道自己知道什么或不知道什么,只是模仿地寫出下一個 token;它們也不會反思,內(nèi)心不會思考結(jié)果是否合理;它們寫錯了也不會反過來修改。它們只是按序列采樣 token。

但即便如此,Karpathy 認(rèn)為 GPT 依然具有某種形式的認(rèn)知能力優(yōu)勢,比如它們具備非常廣博的事實(shí)知識,涵蓋許多不同領(lǐng)域,因?yàn)樗鼈償?shù)以百億計的參數(shù),足以儲存大量事實(shí)。同時它們還有相對來說很大且完美的工作記憶。只要能填入 Transformer 的上下文窗口,它就能通過其內(nèi)部自注意機(jī)制來加以利用。也就是說 GPT 能以無損的方式記住能嵌入其上下文窗口的任何內(nèi)容。

Karpathy 表示:人類通過 prompt 使用 GPT 的過程本質(zhì)上是大腦和 LLM 這兩種不同的認(rèn)知架構(gòu)互相配合的過程。

用 GPT 執(zhí)行推理

再來看 Transformer 在實(shí)踐中表現(xiàn)相當(dāng)好的一種用例:推理。

如果只有單個 token,當(dāng)然不能指望 Transformer 推理出什么。推理的執(zhí)行需要涉及更多 token。比如,你不能向 Transformer 提一個非常復(fù)雜的問題,然后指望它通過單個 token 就找到答案。Transformer 需要通過 token 來「思考」。

ea896bbe-fed7-11ed-90ce-dac502259ad0.png

上圖右側(cè)給出了一個例子??梢栽谳敵鼋Y(jié)果中看到 Transformer 為了解答問題而進(jìn)行的「思考」。如果你提供了一些示例(上方) ,那么 Transformer 就會模仿那個模板,結(jié)果看起來相當(dāng)不錯。當(dāng)然,你也可以通過說「Let’s think step by step」(請按步驟解答)引導(dǎo) Transformer 給出類似的輸出 —— 這在某種程度上展示了其工作過程。而且由于它有點(diǎn)像是進(jìn)入了工作過程展示模式,那么其在每個單獨(dú) token 上投入的計算量就會少一點(diǎn)。這樣一來,它執(zhí)行的就是一個速度更慢的推理過程,也就更可能成功得到正確答案。

再看一例。如下圖所示,人類寫作時會寫不好,類似地,Transformer 在選擇下一個 token 時可能會出錯,但不同于人類可以及時停下進(jìn)行修改,Transformer 會繼續(xù)生成,一錯到底,最終得到錯誤答案。

eab368a6-fed7-11ed-90ce-dac502259ad0.png

但類似于人類寫作時沒寫好可以重來一樣,Transformer 也可以多次采樣,然后我們可以使用某個過程找到其中較好的。這被稱為自我一致性(self-consistency)。

有趣的是,通過讓模型反思(reflection),可以發(fā)現(xiàn)模型其實(shí)能知道自己出錯了。舉個例子,如果讓 GPT-4 生成一首不押韻的詩然后它生成的詩卻押韻了。然后你只需要問它「你完成任務(wù)了嗎?」它就會知道自己沒有完成任務(wù),然后為你重新完成任務(wù)。

eac14b88-fed7-11ed-90ce-dac502259ad0.png

但如果你不給出那樣的 prompt,它就不知道自己錯了。它并不會自己去回顧,畢竟它只是一個 token 模擬器。你必須通過 prompt 讓它回顧。

Karpathy 表示可以按照目的將 AI 模型分為兩種:一類系統(tǒng)(System 1)和二類系統(tǒng)(System 2)。一類系統(tǒng)的處理過程速度快并且是自動化的,對應(yīng)于只是采樣 token 的大型語言模型。而二類系統(tǒng)的速度慢一些,會反復(fù)思考進(jìn)行規(guī)劃。

eacf5782-fed7-11ed-90ce-dac502259ad0.png

現(xiàn)在有很多人在通過設(shè)計 prompt 來讓 LLM 表現(xiàn)出類似人類大腦的思維過程。如上左圖 (d) 所示,這是近期一篇論文提出的 Tree of Thought(思維樹)。該論文提出為任意給定 prompt 維持多個完成結(jié)果,然后對這些結(jié)果進(jìn)行評分,保留得分較好的結(jié)果。

要做到這一點(diǎn),不只要用一個 prompt,而是需要用 Python Glue 代碼將多個 prompt 組合到一起。這實(shí)質(zhì)上是維持多個 prompt,還需要執(zhí)行某個樹搜索算法來找到可擴(kuò)展的 prompt。可以說這是 Python Glue 代碼與各個 prompt 組成的共生體。

Karpathy 在這里類比了 AlphaGo。AlphaGo 的每一步都是下接下來的一步棋,其策略的訓(xùn)練方式最初是模仿人類。但除了這個策略之外,它還會執(zhí)行蒙特卡洛樹搜索。由此造成的結(jié)果是,AlphaGo 會在頭腦里嘗試大量不同的可能性然后對它們進(jìn)行評估,最后僅保留其中效果好的。思維樹就有點(diǎn)像是 AlphaGo 下圍棋時的思維過程,只不過處理的是文本。

不只是思維樹,現(xiàn)在也有更多人在實(shí)驗(yàn)讓 LLM 完成比簡單問答更加復(fù)雜的任務(wù),但很多都像是 Python Glue 代碼,將許多 prompt 連接起來。

eadfe962-fed7-11ed-90ce-dac502259ad0.png

上圖給出了兩個例子。其中右圖的論文提出了 ReAct,研究者是將 prompt 的答案構(gòu)造成一個思維、動作、觀察構(gòu)成的序列,其中在動作部分,模型還能使用工具。這就像是某種回答查詢的思維過程。

左圖則是 AutoGPT。這個項(xiàng)目最近有些炒作,但也確實(shí)是很有趣的研究。AutoGPT 能夠保存一個任務(wù)清單并遞歸式地分解這些任務(wù)。目前來說這種做法的效果并不很好,Karpathy 也不建議人們將其用于實(shí)際應(yīng)用,但他表示從研究角度看,這種方法還是很有啟發(fā)性。

以上就是創(chuàng)造二類系統(tǒng)思維方式的一些研究成果。

Karpathy 接下來談到了 LLM 的另一個有趣現(xiàn)象,他說:「LLM 就好像有種心理怪癖。它們不想成功,只想模仿。」你想要它給出正確答案,你就要明確要求它。這是因?yàn)?Transformer 的訓(xùn)練數(shù)據(jù)集中數(shù)據(jù)并不總是正確的,也存在低質(zhì)量的數(shù)據(jù)。

舉個例子,假如有某個物理問題,數(shù)據(jù)集中可能有某個學(xué)生給出的錯誤答案,同時也會有某個專家給出的正確答案。而 Transformer 不知道該模仿哪個或者說它都想模仿,畢竟它們的訓(xùn)練目標(biāo)是語言建模,不是分辨對錯。因此在使用和測試時,如果你想要正確答案,你就要明確提出要求。

eaecdee2-fed7-11ed-90ce-dac502259ad0.png

比如在上圖的論文中,研究者嘗試了多種不同的 prompt,發(fā)現(xiàn)對于同一問題,不同 prompt 得到的輸出結(jié)果準(zhǔn)確度竟然不一樣!可以看到,如果在 prompt 中明確要求模型一步步推理并給出正確結(jié)果,其準(zhǔn)確度會高一些,因?yàn)檫@樣 Transformer 就不必再為低質(zhì)量解答分配概率了。

因此,如果你想要正確答案,就大聲說出來!像是在 prompt 中添加「你是某領(lǐng)域的專家」或「假設(shè)你的 IQ 為 120」。但是也不要太過了,比如要求模型假設(shè)自己的 IQ 為 400,這樣的話你的問題可能會超出數(shù)據(jù)的分布或者雖在分布中但結(jié)果卻很科幻 —— 這樣模型可能就會開始扮演什么科幻角色了。

讓 LLM 使用工具 / 插件

針對具體問題,使用合適的工具往往能事半功倍。對 LLM 來說也是如此。根據(jù)具體任務(wù)的不同,我們可能希望 LLM 能使用計算器、代碼解釋器、搜索引擎等工具。

eafe32b4-fed7-11ed-90ce-dac502259ad0.png

但首先我們需要記住一點(diǎn):Transformer 默認(rèn)情況下可能并不知道它們無法做到某些事情。用戶甚至可能需要在 prompt 中明確告知 Transformer:「你不擅長心算,如果要做大數(shù)運(yùn)算,請使用這個計算器,這是使用這個計算器的方法。」你必須明確要求它使用某個工具,因?yàn)槟P妥陨聿恢雷约荷瞄L或不擅長什么。

檢索是能極大提升 LLM 性能的重要工具。因?yàn)?LLM 是專精于記憶的(memory only),因此專精于檢索的搜索引擎能為 LLM 提供極大補(bǔ)充。實(shí)踐也證明,能使用檢索工具的 LLM 的實(shí)用性會大大提升。

eb09b440-fed7-11ed-90ce-dac502259ad0.png

之前已經(jīng)提到,Transformer 的上下文窗口就是其工作記憶范圍。如果能在其工作記憶中載入與當(dāng)前任務(wù)相關(guān)的信息,那么模型的表現(xiàn)就會更好,因?yàn)槟P湍軌蛄⒓醋x取所有記憶。實(shí)際上用檢索增強(qiáng)生成也是很多人感興趣的課題。上圖下方展示了 LlamaIndex,其中有一個連接大量不同類型數(shù)據(jù)的數(shù)據(jù)連接器。這個工具可以索引各種數(shù)據(jù)并將它們提供給 LLM 使用。

現(xiàn)在時興的做法是:選取相關(guān)文檔,然后將其分成文本塊,再執(zhí)行嵌入操作,得到表示那些數(shù)據(jù)的嵌入向量。這些嵌入向量會被保存起來。當(dāng)使用模型時,我們可以向存儲的向量發(fā)出查詢,從中取用與當(dāng)前任務(wù)相關(guān)的文本塊。然后將這些文本塊加入到 prompt,再讓 LLM 生成。這種做法在實(shí)踐中的效果很好。

這其實(shí)與人類完成任務(wù)的方法類似。人也可以僅靠自己的記憶做事,但如果能檢索到與任務(wù)相關(guān)的資料,做起事來也自然會更容易。Transformer 雖然記憶廣博,但也能從檢索中受益。

在 prompt 中添加約束條件

在 prompt 中設(shè)定約束條件能迫使 LLM 按特定模板輸出結(jié)果。下圖給出了微軟幫助用戶更好使用 LLM 的 Guidance 工具,具體可訪問 https://github.com/microsoft/guidance 。在這里給出的例子中,LLM 輸出的結(jié)果會是 JSON 格式。這是可以得到保證的,因?yàn)?prompt 會調(diào)整 Transformer 輸出不同 token 的概率,而這些 token 的輸出位置受限了,即只能填補(bǔ)文本中的空缺位置。這樣就實(shí)現(xiàn)了對文本留空處的嚴(yán)格限制。帶約束條件的采樣對某些任務(wù)來說非常有用。

eb1d62ec-fed7-11ed-90ce-dac502259ad0.png

微調(diào)

通過設(shè)計 prompt 能讓 LLM 模型完成更多不同任務(wù),但我們其實(shí)也能通過微調(diào)來做到這一點(diǎn)。

對模型進(jìn)行微調(diào)是指改變模型的權(quán)重分布。這種事情做起來不難,因?yàn)楝F(xiàn)在已經(jīng)有 LLaMA 等開源的大模型以及一些用于微調(diào)的軟件庫。

eb284586-fed7-11ed-90ce-dac502259ad0.png

比如 LoRA 等參數(shù)高效型微調(diào)技術(shù)讓用戶可以僅訓(xùn)練模型中少量稀疏的部分。使用該技術(shù)時,基礎(chǔ)模型的大部分都保持不變,而某些部分可以變化。在實(shí)踐中,這種技術(shù)用起來很不錯,能讓人以很低的成本對模型做少量調(diào)整。同時,因?yàn)槟P痛蟛糠侄际枪潭ú蛔兊?,所以可以使用非常低精度的推理來計算那些部分,因?yàn)樘荻认陆挡粫滤鼈儭S纱?,整體的微調(diào)效率就能非常高。

不過需要記住,微調(diào)需要專業(yè)技術(shù),而且多半還需要相應(yīng)的專業(yè)領(lǐng)域知識,畢竟不管是雇傭人類專家來編寫數(shù)據(jù)集還是通過自動方法合成數(shù)據(jù)都非常復(fù)雜,而這也會拉長迭代周期。

另外,Karpathy 還指出,對用戶來說,監(jiān)督式微調(diào)(SFT)還是可以做到的,因?yàn)檫@其實(shí)就是繼續(xù)執(zhí)行語言建模任務(wù);但 RLHF 是還需進(jìn)一步研究的課題,實(shí)現(xiàn)難度就大多了,因此不建議初學(xué)者來做。

Karpathy 的 GPT 使用建議

為了幫助人們更好使用 GPT,Karpathy 給出了一些建議。在使用 GPT 來完成任務(wù)時,可以將任務(wù)分成兩個部分:一,取得最佳結(jié)果;二,依照指定順序優(yōu)化結(jié)果。

eb324cac-fed7-11ed-90ce-dac502259ad0.png

對于第一部分,首先是選模型,目前最強(qiáng)的模型是 GPT-4。有了模型后,當(dāng)執(zhí)行具體任務(wù)時,你需要把 prompt 設(shè)計得足夠詳細(xì),其中要包含任務(wù)的背景、相關(guān)信息和說明。你要想一想人類會怎么完成這一任務(wù),但你同時也要明白人類有內(nèi)心獨(dú)白、能夠自省,LLM 卻不行。了解 LLM 的工作方式對設(shè)計 prompt 大有裨益。你可以檢索一些相關(guān)背景和信息并將其添加到 prompt 中。網(wǎng)上已有不少人分享過相關(guān)經(jīng)驗(yàn)和技術(shù)。

你不用急于讓 LLM 一步到位完成你的任務(wù)??梢远嘧鰩状螌?shí)驗(yàn),測試一下各種可能性。你可以向 LLM 提供一些例子,讓它真正理解你的意圖。

對于原生 LLM 難以解決的問題,可以將其交給工具和插件處理。你要想想如何將工具整合進(jìn)來,這當(dāng)然無法通過單個 prompt 問答就可以解決。你需要多做幾次實(shí)驗(yàn),實(shí)踐出真知。

最后,如果你成功搞出了適合自己的 prompt 設(shè)計方案,你可以再繼續(xù)堅持一下,看看可以如何對模型進(jìn)行微調(diào)以更好地服務(wù)你的應(yīng)用;但要明白微調(diào)模型的速度會更慢,也需要投入更多。對于想要使用 RLHF 的研究型專家來說,雖然如果真能用起來,RLHF 目前是會比 SFT 好一些,但成本也會更高。為了節(jié)省成本,探索性研究可以使用性能更低的模型或更短的 prompt。

Karpathy 強(qiáng)調(diào)用 LLM 解決用例時可能會出現(xiàn)一些問題,比如結(jié)果可能有偏見、編造出幻覺信息、推理錯誤、無法理解應(yīng)用類型(比如拼寫相關(guān)任務(wù))、知識隔斷(GPT-4 的訓(xùn)練數(shù)據(jù)截止于 2021 年 9 月)、可能會被攻擊(比如 prompt 注入攻擊、越獄攻擊、數(shù)據(jù)毒化攻擊)……

eb3c32a8-fed7-11ed-90ce-dac502259ad0.png

Karpathy 建議用戶目前僅在低風(fēng)險程度的應(yīng)用中使用 LLM 并且要搭配人工監(jiān)督一起使用。LLM 可以作為靈感和建議來源,讓它們輔助我們而不是完全自主地替代我們工作。

結(jié)語

Karpathy 在總結(jié)時說:「GPT-4 是了不起的造物。我很感激它存在于世而且它很美麗?!顾哂蟹欠驳哪芰?,能幫助用戶解答疑問、編寫代碼等等。圍繞它的生態(tài)系統(tǒng)也正在蓬勃發(fā)展。

eb54febe-fed7-11ed-90ce-dac502259ad0.png

最后,Karpathy 向 GPT-4 提了一個問題:「如果要激勵 Microsoft Build 2023 的觀眾,你會說點(diǎn)什么?」

eb5ec87c-fed7-11ed-90ce-dac502259ad0.png

GPT-4 給出了如下回答:

eb674da8-fed7-11ed-90ce-dac502259ad0.png

筆者也在這里取巧,請 ChatGPT 將這段話翻譯成了漢語:

eb79b81c-fed7-11ed-90ce-dac502259ad0.png



審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    29350

    瀏覽量

    267631
  • GPT
    GPT
    +關(guān)注

    關(guān)注

    0

    文章

    347

    瀏覽量

    15243
  • OpenAI
    +關(guān)注

    關(guān)注

    9

    文章

    1009

    瀏覽量

    6343

原文標(biāo)題:OpenAI聯(lián)合創(chuàng)始人親自上場科普GPT,讓技術(shù)小白也能理解最強(qiáng)AI

文章出處:【微信號:AI智勝未來,微信公眾號:AI智勝未來】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    蘋果AI功能被曝將分階段緩慢推出

    據(jù)知名科技記者馬克·古爾曼的最新爆料,蘋果公司的AI戰(zhàn)略正采取分階段、漸進(jìn)式的推出方式。他指出,Apple Intelligence目前尚處于發(fā)展初期,其初始版本將不可避免地面臨功能缺失的局限,尤其是在歐盟市場,初期將無法使用。
    的頭像 發(fā)表于 09-09 17:19 ?1058次閱讀

    OpenAI 推出 GPT-4o mini 取代GPT 3.5 性能超越GPT 4 而且更快 API KEY更便宜

    OpenAI推出了GPT-4o mini模型,用來取代GPT-3.5.這是目前市場上最具成本效益的小模型。 ? 該模型在MMLU上得分為82%, 在LMSYS排行榜上的聊天偏好測試中表現(xiàn)優(yōu)于
    的頭像 發(fā)表于 07-21 10:20 ?785次閱讀
    OpenAI 推出 <b class='flag-5'>GPT</b>-4o mini 取代<b class='flag-5'>GPT</b> 3.5 性能超越<b class='flag-5'>GPT</b> 4 而且更快 API KEY更便宜

    人臉識別模型訓(xùn)練流程

    人臉識別模型訓(xùn)練流程是計算機(jī)視覺領(lǐng)域中的一項(xiàng)重要技術(shù)。本文將詳細(xì)介紹人臉識別模型的訓(xùn)練流程,包括數(shù)據(jù)準(zhǔn)備、模型選擇、模型訓(xùn)練、模型評估和應(yīng)用
    的頭像 發(fā)表于 07-04 09:19 ?654次閱讀

    AI訓(xùn)練狂飆,DDR5集成PMIC護(hù)航,內(nèi)存技術(shù)持續(xù)助力

    電子發(fā)燒友網(wǎng)報道(文/黃晶晶)AI訓(xùn)練數(shù)據(jù)集正高速增長,與之相適應(yīng)的不僅是HBM的迭代升級,還有用于處理這些海量數(shù)據(jù)的服務(wù)器內(nèi)存技術(shù)的不斷發(fā)展。 ? 以經(jīng)過簡化的AI訓(xùn)練管道流程來看,在數(shù)據(jù)采集進(jìn)來
    的頭像 發(fā)表于 07-04 09:09 ?3462次閱讀
    AI<b class='flag-5'>訓(xùn)練</b>狂飆,DDR5集成PMIC護(hù)航,內(nèi)存技術(shù)持續(xù)助力

    OpenAI揭秘CriticGPT:GPT自進(jìn)化新篇章,RLHF助力突破人類能力邊界

    OpenAI近期震撼發(fā)布了一項(xiàng)革命性成果——CriticGPT,一個基于GPT-4深度優(yōu)化的新型模型,其獨(dú)特之處在于能夠自我提升,助力未來GPT模型的訓(xùn)練效率與質(zhì)量躍升至新高度。這一創(chuàng)新之舉,仿佛開啟了AI自我進(jìn)化的“左腳踩右腳
    的頭像 發(fā)表于 07-02 10:19 ?676次閱讀

    深度學(xué)習(xí)模型訓(xùn)練過程詳解

    深度學(xué)習(xí)模型訓(xùn)練是一個復(fù)雜且關(guān)鍵的過程,它涉及大量的數(shù)據(jù)、計算資源和精心設(shè)計的算法。訓(xùn)練一個深度學(xué)習(xí)模型,本質(zhì)上是通過優(yōu)化算法調(diào)整模型參數(shù),使模型能夠更好地擬合數(shù)據(jù),提高預(yù)測或分類的準(zhǔn)確性。本文將
    的頭像 發(fā)表于 07-01 16:13 ?758次閱讀

    【大語言模型:原理與工程實(shí)踐】大語言模型的預(yù)訓(xùn)練

    大語言模型的核心特點(diǎn)在于其龐大的參數(shù)量,這賦予了模型強(qiáng)大的學(xué)習(xí)容量,使其無需依賴微調(diào)即可適應(yīng)各種下游任務(wù),而更傾向于培養(yǎng)通用的處理能力。然而,隨著學(xué)習(xí)容量的增加,對預(yù)訓(xùn)練數(shù)據(jù)的需求也相應(yīng)
    發(fā)表于 05-07 17:10

    微軟發(fā)布Copilot GPT Builder,允許用戶自定義AI機(jī)器人

     現(xiàn)階段,微軟 Copilot GPT Builder 正逐步推向市場,部分獲得許可的 Copilot Pro 用戶可率先享受到該新功能。通過點(diǎn)擊此選項(xiàng),用戶便能自由設(shè)定參數(shù),創(chuàng)建個性化的 Copilot GPT。
    的頭像 發(fā)表于 03-10 11:21 ?539次閱讀

    DocuSign擬用用戶合同數(shù)據(jù)訓(xùn)練AI,引爭議

    據(jù)了解,DocuSign計劃借助微軟Azure上的OpenAI工具,如GPT技術(shù),以訓(xùn)練其所謂的“撰寫協(xié)議”模型,并且從用戶提供的大量數(shù)據(jù)中,訓(xùn)練出專屬的人工智能(AI)模型,但這部分?jǐn)?shù)據(jù)并無公開之意。
    的頭像 發(fā)表于 03-04 15:45 ?450次閱讀

    TC275如何設(shè)定GPT模塊分頻?

    在illd里沒找到相關(guān)函數(shù),請問各位高手如何設(shè)定GPT模塊分頻,謝謝。
    發(fā)表于 02-22 07:37

    使用TC21x的GPT實(shí)現(xiàn)1m計時器執(zhí)行定時任務(wù),怎么配置GTM和GPT?

    專家們好,我想使用TC21x的GPT實(shí)現(xiàn)1m計時器執(zhí)行定時任務(wù),不知道怎么配置GTM和GPT
    發(fā)表于 02-06 06:47

    GPT EVAL_BDPS_DRIVER可以使用GPT12 IP或GTM IP來實(shí)現(xiàn)連續(xù)定時器和單次定時器嗎?

    GPT EVAL_BDPS_DRIVER可以使用GPT12 IP或GTM IP來實(shí)現(xiàn)連續(xù)定時器和單次定時器? 是嗎?
    發(fā)表于 01-22 08:16

    PCBA貼片加工的生產(chǎn)流程包括哪幾個主要階段?

    PCBA貼片加工的生產(chǎn)流程通常包括以下幾個主要階段
    的頭像 發(fā)表于 12-04 09:37 ?1089次閱讀

    分階段雷達(dá)的電源解決方案

    分階段雷達(dá)的電源解決方案
    的頭像 發(fā)表于 10-26 14:57 ?544次閱讀
    <b class='flag-5'>分階段</b>雷達(dá)的電源解決方案

    基于PyTorch的模型并行分布式訓(xùn)練Megatron解析

    NVIDIA Megatron 是一個基于 PyTorch 的分布式訓(xùn)練框架,用來訓(xùn)練超大Transformer語言模型,其通過綜合應(yīng)用了數(shù)據(jù)并行,Tensor并行和Pipeline并行來復(fù)現(xiàn) GPT3,值得我們深入分析其背后機(jī)
    的頭像 發(fā)表于 10-23 11:01 ?2580次閱讀
    基于PyTorch的模型并行分布式<b class='flag-5'>訓(xùn)練</b>Megatron解析