這幾天學(xué)習(xí)了B站上Andrej Karpathy的演講,State of GPT,詳細(xì)講述了如何從訓(xùn)練一個(gè)基礎(chǔ)模型開(kāi)始到ChatGPT的過(guò)程,通俗易懂,內(nèi)容也很精彩。特對(duì)視頻的內(nèi)容總結(jié)如下。
1.ChatGPT訓(xùn)練的四個(gè)階段
一圖勝千言,Andrej展示的PPT如下圖。
(1)預(yù)訓(xùn)練(Pretraining),產(chǎn)出為基礎(chǔ)模型(Base model),占據(jù)了整個(gè)訓(xùn)練過(guò)程時(shí)間的99%。這個(gè)階段所需的GPU資源和時(shí)間數(shù)量級(jí)為,千張GPU、幾個(gè)月的訓(xùn)練時(shí)長(zhǎng)、花費(fèi)幾百萬(wàn)美元。以LLaMA-65B模型訓(xùn)練為例,使用了2048張A100 GPU、21天和花費(fèi)了500萬(wàn)美元。
(2)有監(jiān)督微調(diào)(Supervised Finetuning),產(chǎn)出為有監(jiān)督微調(diào)(SFT model,Supervised Finetuning model)模型。這個(gè)階段所需的GPU資源和時(shí)間數(shù)量級(jí)為,百卡GPU,幾天的訓(xùn)練時(shí)長(zhǎng)。
(3)獎(jiǎng)勵(lì)建模(Reward Modeling),產(chǎn)出為獎(jiǎng)勵(lì)模型(RM model)。這個(gè)階段所需的GPU資源和時(shí)間數(shù)量級(jí)為,百卡GPU,幾天的訓(xùn)練時(shí)長(zhǎng)。需要注意的是該模型并不是像其它三個(gè)階段的產(chǎn)出部署使用,而是用在用在第四個(gè)階段中的模型訓(xùn)練過(guò)程中。
(4)強(qiáng)化學(xué)習(xí)(Reinforcement Learning),產(chǎn)出為強(qiáng)化學(xué)習(xí)模型(RL model)。這個(gè)階段所需的GPU資源和時(shí)間數(shù)量級(jí)為,百卡GPU,幾天的訓(xùn)練時(shí)長(zhǎng)。
OpenAI講的RLHF(Reinforcement Learning from Human Feedback)=獎(jiǎng)勵(lì)建模+強(qiáng)化學(xué)習(xí)。按照Andrej在演講中提到的,RLHF模型在某些情況下并不是對(duì)基礎(chǔ)模型的嚴(yán)格改進(jìn),相比基礎(chǔ)模型,RLHF模型失去了一些信息熵,這意味著RLHF模型給出了更多的峰值結(jié)果。ChatGPT就是一個(gè)RLHF模型。
2.Tokenization
這個(gè)詞一直不知怎么翻譯比較好,翻譯成“標(biāo)記化”只能說(shuō)還湊合。模型訓(xùn)練的輸入是文本(Raw text),必須轉(zhuǎn)換為整數(shù)才能輸入模型訓(xùn)練,這個(gè)過(guò)程稱之為標(biāo)記化,典型的標(biāo)記化算法是Byte Pair Encoding。基于Andrej的演講,推測(cè)他們用到的詞匯表大小是50,257 個(gè)標(biāo)記(Tokens)。如下圖所示。
3.Base models are not'Assistants’(ChatGPT)
ChatGPT是以QA的方式完成交互和任務(wù),而基礎(chǔ)模型僅僅是完成一篇文檔。按照Andrej的說(shuō)法你可以通過(guò)一些提示使其看起來(lái)像是個(gè)助手,但實(shí)踐過(guò)程中并不可靠。如下圖所示。
4.SFT模型階段需要的訓(xùn)練數(shù)據(jù)集是QA對(duì),數(shù)量少但質(zhì)量要求高。
Andrej在演講中還闡述了個(gè)觀點(diǎn),把當(dāng)前的大語(yǔ)言模型比喻為人類思考模式的系統(tǒng)一(快系統(tǒng))。其它的演講細(xì)節(jié)可參考B站視頻。
聯(lián)系客服