寫在前面
大家好,我是劉聰NLP。
昨天MetaAI開源了Llama2模型,我只想說一句:“「MetaAI改名叫OpenAI吧!」”
Llama2不僅開源了預(yù)訓(xùn)練模型,而且還開源了利用對(duì)話數(shù)據(jù)SFT后的Llama2-Chat模型,并對(duì)Llama2-Chat模型的微調(diào)進(jìn)行了詳細(xì)的介紹。
開源模型目前有7B、13B、70B三種尺寸,預(yù)訓(xùn)練階段使用了2萬億Token,SFT階段使用了超過10w數(shù)據(jù),人類偏好數(shù)據(jù)超過100w。
非常自信的MetaAI。啥也不說,上來先show一副評(píng)估對(duì)比圖,我就問OpenAI你服不服,skr。
等等黨不用著急,雖然中文占比只有0.13%,但后續(xù)會(huì)有一大推中文擴(kuò)充詞表預(yù)訓(xùn)練&領(lǐng)域數(shù)據(jù)微調(diào)的模型被國(guó)人放出。
這不Github一搜,已經(jīng)有很多人占坑了,這是“有卡者的勝利”。
?
下面簡(jiǎn)要記錄Llama2的技術(shù)細(xì)節(jié)。
預(yù)訓(xùn)練階段
模型結(jié)構(gòu)為Transformer結(jié)構(gòu),與Llama相同的是采用RMSNorm歸一化、SwiGLU激活函數(shù)、RoPE位置嵌入、詞表的構(gòu)建與大小,與Llama不同的是增加GQA(分組查詢注意力),擴(kuò)增了模型輸入最大長(zhǎng)度,語料庫(kù)增加了40%。
訓(xùn)練超參數(shù)如下:AdamW優(yōu)化器的β1、β2和eps分別為0.9、0.95和10e-5,采用cosin學(xué)習(xí)率,預(yù)熱2000步后進(jìn)行學(xué)習(xí)率衰減,最終降至峰值的10%,權(quán)重衰減系數(shù)為0.1,梯度裁剪值為1.0。
但請(qǐng)注意:7b和13b模型并沒有增加GQA!??!
預(yù)訓(xùn)練階段的損失如下圖所示,可以看出,模型其實(shí)還沒有完全收斂。
預(yù)訓(xùn)練模型效果一句話總結(jié):「開源第一,閉源一個(gè)沒打過?!?/strong>
?
微調(diào)階段
上面預(yù)訓(xùn)練模型沒打過你OpenAI沒關(guān)系,你先等我全流程走完。
SFT
「Data Quality Is All You Need?!?/strong> MetaAI進(jìn)行實(shí)驗(yàn)時(shí)發(fā)現(xiàn),少量高質(zhì)量數(shù)據(jù)集訓(xùn)練模型的效果,要好于大量低質(zhì)量數(shù)據(jù)集的訓(xùn)練效果。因此以后SFT時(shí)候,不要一味地追求量,質(zhì)更重要。
微調(diào)時(shí)初始學(xué)習(xí)率為2e?5,并采用余弦學(xué)習(xí)率下降,權(quán)重衰減為0.1,訓(xùn)練批次大小為64,最大長(zhǎng)度為4096。為了提高模型訓(xùn)練效率,將多組數(shù)據(jù)進(jìn)行拼接,盡量填滿4096,每條數(shù)據(jù)直接用停止符隔開,計(jì)算loss時(shí)僅計(jì)算每條樣本target內(nèi)容的loss。
RM
對(duì)于人類偏好數(shù)據(jù)的收集,重點(diǎn)關(guān)注模型回復(fù)的有用性和安全性,通過選擇對(duì)比兩個(gè)模型結(jié)果獲??;不過除了選擇一個(gè)更好的結(jié)果之外,還需要對(duì)選擇的答案標(biāo)記偏好程度,例如:明顯更好,更好,稍微更好、可以忽略地更好或者不確定。在安全性上,對(duì)兩個(gè)結(jié)果會(huì)標(biāo)記都符合安全性、只有一個(gè)復(fù)合安全性、都不符合安全性,以此收集安全性數(shù)據(jù)。
在模型迭代過程中,獎(jiǎng)勵(lì)模型所需的偏好數(shù)據(jù),需要迭代收集,具體如下。
獎(jiǎng)勵(lì)模型是對(duì)提示生成的回復(fù)生成一個(gè)標(biāo)量分值,評(píng)價(jià)模型生成質(zhì)量,但發(fā)現(xiàn)有用性和安全性很難在同一個(gè)獎(jiǎng)勵(lì)模型表現(xiàn)都很好,因此,獨(dú)立訓(xùn)練了兩個(gè)獎(jiǎng)勵(lì)模型,一個(gè)針對(duì)有用性(helpfulness)進(jìn)行了優(yōu)化,另一個(gè)針對(duì)安全性(safety)進(jìn)行了優(yōu)化。
獎(jiǎng)勵(lì)模型的初始化來自于pretrained chat model檢查點(diǎn),將下一個(gè)Token預(yù)測(cè)分類器替換成標(biāo)量獎(jiǎng)勵(lì)值回歸器。訓(xùn)練時(shí),采用帶有邊際約束的二元排序損失,如下:
邊際約束開源提高獎(jiǎng)勵(lì)模型的準(zhǔn)確性。并且為了獎(jiǎng)勵(lì)模型可以用有更好的泛化,防止出現(xiàn)獎(jiǎng)勵(lì)黑客現(xiàn)象(例如Llama2-Chat利用了獎(jiǎng)勵(lì)模型的弱點(diǎn),在表現(xiàn)不佳的情況下夸大獎(jiǎng)勵(lì)分?jǐn)?shù)),在獎(jiǎng)勵(lì)模型訓(xùn)練過程中,還加入了部分開源人類偏好數(shù)據(jù)。
訓(xùn)練參數(shù)設(shè)置:70B模型的最大學(xué)習(xí)率為5e?6,其余模型的最大學(xué)習(xí)率為1e?5,采用余弦學(xué)習(xí)率下降,最低到最大學(xué)習(xí)率的10%,并采用總步數(shù)的3%進(jìn)行預(yù)熱(最少5步),訓(xùn)練批次大小為1024。
不同獎(jiǎng)勵(lì)模型在不同數(shù)據(jù)上的效果如下表所示。
發(fā)現(xiàn)獎(jiǎng)勵(lì)模型對(duì)明顯更好的數(shù)據(jù)效果更突出,對(duì)可以忽略地更好或者不確定的數(shù)據(jù)表現(xiàn)較差。
并且研究了獎(jiǎng)勵(lì)模型在數(shù)據(jù)和模型大小方面的縮放趨勢(shì),在數(shù)據(jù)逐步增大的同時(shí),效果也在逐步提高。
隨著收到更多批次的人類偏好數(shù)據(jù),能夠訓(xùn)練更好的獎(jiǎng)勵(lì)模型并收集更多提示。因此,訓(xùn)練了五個(gè)連續(xù)版本的RLHF模型(RLHF-v1到RLHF-v5)。
主要訓(xùn)練策略包括:
最近策略優(yōu)化(PPO):標(biāo)準(zhǔn)強(qiáng)化學(xué)習(xí)算法
拒絕采樣微調(diào):模型輸出時(shí)采樣K個(gè)結(jié)果,選擇獎(jiǎng)勵(lì)值最高的一個(gè),在強(qiáng)化學(xué)習(xí)階段進(jìn)行梯度更新。
在RLHF-v4之前,只使用拒絕采樣微調(diào),之后將兩者順序結(jié)合起來。但主要只有70B模型進(jìn)行了拒絕采樣微調(diào),而其他小模型的微調(diào)數(shù)據(jù)來自于大模型拒絕采樣數(shù)據(jù),相當(dāng)于用大模型蒸餾小模型。
在模型進(jìn)行強(qiáng)化學(xué)習(xí)的獎(jiǎng)勵(lì)值由有用性獎(jiǎng)勵(lì)值和安全性獎(jiǎng)勵(lì)值組合產(chǎn)生,具體計(jì)算如下:
訓(xùn)練參數(shù)設(shè)置:對(duì)于所有模型,采樣AdamW優(yōu)化器,其中β1、β2和eps分別為0.9、0.95和1e?5,權(quán)重衰減為0.1,梯度裁剪為1.0,學(xué)習(xí)率為恒定為1e?6。PPO訓(xùn)練時(shí)大批次為512,小批次為64,PPO裁剪閾值為0.2。對(duì)于7B和13B模型,設(shè)置KL懲罰系數(shù)為0.01,對(duì)于34B和70B模型,設(shè)置KL懲罰系數(shù)為0.005。所有模型進(jìn)行200到400次迭代訓(xùn)練。
多輪對(duì)話一致性
最初的RLHF模型在幾輪對(duì)話后忘記最初的指令,下圖(左)所示。為了解決這些限制,提出Ghost Attention方法(Gatt,其實(shí)是一個(gè)訓(xùn)練trick)來增強(qiáng)模型對(duì)指令的遵從。
假設(shè)多輪對(duì)話數(shù)據(jù)為 [u1,a1,...,un,an],定義一條指令(inst),使得整個(gè)對(duì)話過程中都遵守該指令,然后將該指令綜合連接到對(duì)話的所有用戶消息,構(gòu)造為 [inst+u1,a1,...,inst+un,an]。為了避免語句不匹配的問題,在訓(xùn)練過程中,保留第一輪的提示,并將中間輪數(shù)的損失置為0。
總結(jié)
Llama2模型7b,13b,34b,70b都有,完全夠用,最期待的34b會(huì)暫緩放出。
國(guó)內(nèi)開源底座模型還是在6b、7b、13b等層次,33-34b才是剛需呀。
隨著開源可商用的模型越來越多,大模型社區(qū)會(huì)越來越繁華,是中小廠的福音。開源都是真英雄。
我愿從此跟隨MetaAI走Open開源AI路線。
編輯:黃飛
?
評(píng)論
查看更多