Nemotron-4 340B 技術(shù)報告:全面解讀當(dāng)前最強大語言模型的誕生過程
1. 最強開源模型要易主了?
圖片
2天前,英偉達(dá)發(fā)布了其最強大語言模型 Nemotron-4 340B模型家族,包括 Nemotron-4-340B-Base、Nemotron-4-340B-Instruct 和 Nemotron-4-340B-Reward。
所有的模型都是基于NVIDIA的開源模型許可協(xié)議,允許用戶自由分發(fā)、修改和使用模型及其輸出。并且可以在8塊H100的單機上以FP8精度運行。
1.1 自動化測評
在 Nemotron-4-340B-Instruct 的自動基準(zhǔn)測試評估中,分別與開源(如 MetaAI 的 Llama-3-70B-Instruct、Mistral-AI-Team 的 Mixtral-8x22B-Instruct-v0.1 和 Qwen-Team 的 Qwen-2-72B-Instruct)及閉源模型(包括 OpenAI 的 GPT-4-1106-preview、MistralAI-Team 的 Mistral Large 和 Anthropic 的 Claude-3-Sonnet)進(jìn)行了對比。
評估了包括單輪對話(AlpacaEval 2.0 LC 和 Arena Hard)、多輪對話(MT-Bench 的修正版,分?jǐn)?shù)較原版本平均低 0.8 分,修正答案詳見 GitHub 鏈接)、聚合基準(zhǔn)(MMLU)、數(shù)學(xué)(GSM8K)、編程(HumanEval 和 MBPP 的 Pass@1 分?jǐn)?shù))、指令遵循(IFEval)和主題遵循(TFEval)等多個任務(wù)。
圖片
如上圖所示,Nemotron-4-340B-Instruct 在零樣本評估中表現(xiàn)出色,這反映了模型在不使用樣例時遵循指令的能力,更貼近人類與大型語言模型的實際互動。在多個測試數(shù)據(jù)集上都超越了GPT4成為了最強模型。
1.2 人類標(biāo)注
在接下來的人類標(biāo)注測試中,組織了一支經(jīng)驗豐富的標(biāo)注團(tuán)隊,對模型進(jìn)行了人工評估。
測試集包括136個精心分類的問題,涵蓋10種不同的任務(wù)類型,并采用6點李克特量表來評定回答的質(zhì)量。該量表不僅包含五個質(zhì)量等級,還特別增加了一個等級,用于評價模型在徹底未遵循指令時的表現(xiàn)。標(biāo)注準(zhǔn)則圍繞兩個核心維度:幫助性(helpfulness)和真實性(truthfulness)。
圖片
如上圖所示,除了信息抽取和重寫任務(wù)外,Nemotron-4-340B-Instruct 的表現(xiàn)與 GPT-4-1106-preview 相當(dāng)甚至更優(yōu),尤其在多輪對話任務(wù)上表現(xiàn)突出。整體來看,模型在評估集中的勝負(fù)/平局比為 28.19%:46.57%:25.24%。
圖片
至于人類評估中的次要指標(biāo),標(biāo)注者對回答長度的感知在上表有所體現(xiàn)。結(jié)果顯示,與 GPT-4-1106-preview 相比,標(biāo)注者認(rèn)為 Nemotron-4-340B-Instruct 的回答長度更合適(79.41% 對 74.02%),這主要得益于其較少的冗長回答(20.10% 對 25.74%)。
為什么Nemotron-4這么強?
2.1 訓(xùn)練數(shù)據(jù)集構(gòu)成
預(yù)訓(xùn)練數(shù)據(jù)集由三種不同數(shù)據(jù)類型組成:英語自然語言數(shù)據(jù)占比70%,多語種自然語言數(shù)據(jù)占比15%,以及源代碼數(shù)據(jù)同樣占比15%。英語語料庫涵蓋了網(wǎng)絡(luò)文檔、新聞稿件、科學(xué)論文、書籍等多樣來源和領(lǐng)域的精選文檔。多語種數(shù)據(jù)覆蓋了53種語言,包括單語種和平行語料庫中的文檔;代碼數(shù)據(jù)集則囊括了43種編程語言。
在這組數(shù)據(jù)上累計訓(xùn)練了9萬億個token,前8萬億token屬于正式預(yù)訓(xùn)練階段,而后1萬億token則在二次訓(xùn)練階段完成。關(guān)于訓(xùn)練語料庫的詳細(xì)構(gòu)成和策劃流程,Nemotron-4-340B-Base 與 Nemotron-4-15B-Base 采用了相同的數(shù)據(jù)混合比例。
2.2 架構(gòu)細(xì)節(jié)解析
Nemotron-4-340B-Base 在架構(gòu)上與 Nemotron-4-15B-Base 保持一致,采用標(biāo)準(zhǔn)的** decoder-only Transformer架構(gòu),配備因果注意力掩碼,引入Rotary Position Embeddings (RoPE) 、SentencePiece 分詞器(Kudo 和 Richardson,2018年),以及在 MLP 層中應(yīng)用平方 ReLU 激活函數(shù)。還融入了分組查詢注意力(GQA)技術(shù)。Nemotron-4-340B-Base 的超參數(shù)如下表所示,擁有 9.4 億嵌入?yún)?shù)和 331.6 億非嵌入?yún)?shù)。
圖片
2.3 訓(xùn)練過程
Nemotron-4-340B-Base 的訓(xùn)練動用了 768 個 DGX H100 節(jié)點,每個節(jié)點裝備有 8 塊基于 NVIDIA Hopper 架構(gòu)(NVIDIA,2022年)的 H100 80GB SXM5 GPU。這些 GPU 在執(zhí)行 16 位浮點(bfloat16)運算時,單塊 GPU 的峰值性能可達(dá) 989 teraFLOP/s。節(jié)點內(nèi)的 GPU 通過 NVLink 和 NVSwitch(nvl)相連,GPU 間帶寬高達(dá) 900 GB/s(雙向各 450 GB/s)。每個節(jié)點還配備了 8 個 NVIDIA Mellanox 400 Gbps HDR InfiniBand 主機通道適配器(HCAs),以實現(xiàn)節(jié)點間的高速通信。
采用了 8-way 張量并行、12-way 流水線并行以及數(shù)據(jù)并行技術(shù)來訓(xùn)練模型,并運用分布式優(yōu)化器來分散優(yōu)化器狀態(tài),降低訓(xùn)練時的內(nèi)存占用。隨著批量大小的增加,數(shù)據(jù)并行度從 16 擴展至 64。
圖片
上表匯總了批量大小增加的三個階段,并展示了每次迭代的時間和模型 FLOP/s 利用率(Model FLOP/s Utilization,MFU)。MFU 衡量了 GPU 在模型訓(xùn)練中的效率,100% 代表理論峰值性能。
二次預(yù)訓(xùn)練策略表明,在模型訓(xùn)練末期調(diào)整數(shù)據(jù)分布和學(xué)習(xí)率衰減策略能顯著提升模型品質(zhì)。具體而言,在完成了 8 萬億 token 的預(yù)訓(xùn)練后,以相同的損失目標(biāo)繼續(xù)在額外的 1 萬億 token 上進(jìn)行訓(xùn)練。
在這個二次預(yù)訓(xùn)練階段,采用了兩種不同的數(shù)據(jù)分布策略:
- ? 第一種分布以較大采樣權(quán)重側(cè)重于高質(zhì)量數(shù)據(jù)源,涵蓋了預(yù)訓(xùn)練階段已引入的大部分 token;
- ? 第二種分布則引入了少量問答風(fēng)格的對齊樣本,以優(yōu)化模型對類似問題的響應(yīng)能力,并特別強調(diào)了模型準(zhǔn)確度較低的數(shù)據(jù)源。
結(jié)合一個優(yōu)先快速衰減的學(xué)習(xí)率計劃,發(fā)現(xiàn)這種數(shù)據(jù)分布的排序和風(fēng)格有助于模型從預(yù)訓(xùn)練數(shù)據(jù)集平穩(wěn)過渡,并在訓(xùn)練的最后階段更有效地學(xué)習(xí)新數(shù)據(jù)。
2.4 獎勵模型
2.4.1 獎勵模型構(gòu)建
在模型對齊過程中,獎勵模型起著至關(guān)重要的作用,作為訓(xùn)練卓越指令遵循模型時偏好排序和質(zhì)量篩選的關(guān)鍵評判標(biāo)準(zhǔn)。
為了構(gòu)建這一模型,依照與HelpSteer (Wang 等,2023b)相似的方法論,收集了包含1萬條人類偏好數(shù)據(jù)的新數(shù)據(jù)集HelpSteer2(https://huggingface.co/datasets/nvidia/HelpSteer2),并已將其公開發(fā)布。
多屬性回歸獎勵模型(multi-attribute regression reward models)在區(qū)分真正有用的信息與諸如因長度而偏好冗長無用回答等無關(guān)特征方面更為有效。此外,回歸模型在細(xì)致預(yù)測獎勵時表現(xiàn)更佳,能夠捕捉到相似回答間幫助性的微妙差異。該回歸獎勵模型基于Nemotron-4-340B-Base模型,通過替換最終的softmax層為一個新的獎勵“頭部”構(gòu)建而成。這個“頭部”通過線性投影將最后一層的隱藏狀態(tài)映射成一個包含HelpSteer五大屬性(幫助性、正確性、連貫性、復(fù)雜性、啰嗦性)的五維向量。在推理時,這些屬性值可以通過加權(quán)求和來綜合成一個總體獎勵。
3. 對齊數(shù)據(jù)
隨著模型性能的持續(xù)提升,現(xiàn)有的數(shù)據(jù)集已難以滿足訓(xùn)練高度對齊模型的需求。同時,從人類處獲取高質(zhì)量數(shù)據(jù)既費時又昂貴。為此,深入研究了合成數(shù)據(jù)生成(SDG)作為一種應(yīng)對策略。
在整個對齊過程中,僅使用了約2萬條人類標(biāo)注數(shù)據(jù)(其中1萬條用于監(jiān)督式微調(diào),另1萬條HelpSteer2數(shù)據(jù)用于獎勵模型訓(xùn)練與偏好微調(diào)),而合成數(shù)據(jù)生成流程則為監(jiān)督式微調(diào)和偏好微調(diào)提供了超過98%的數(shù)據(jù)。
3.1 提示詞準(zhǔn)備
考慮到生成合成提示(Generating Synthetic Prompts)是SDG(Synthetic Data Generation,合成數(shù)據(jù)生成)的關(guān)鍵步驟,并且能夠自主控制數(shù)據(jù)分布,滿足多樣化的場景,比如任務(wù)的多樣性(如寫作、開放式問答、封閉式問答)、主題多樣性(如科學(xué)、人文、日常生活)、指令多樣性(如JSON格式輸出、段落生成、是否問題)。作者采用了與UltraChat數(shù)據(jù)集類似的方法。
- ? 使用Mixtral-8x7B-Instruct-v0.1作為生成器,分別為開放式問答、寫作、封閉式問答、數(shù)學(xué)和編程任務(wù)生成合成提示。
- ? 對于每項任務(wù),都用多樣化的主題或關(guān)鍵詞引導(dǎo)生成器,以確保提示覆蓋廣泛的話題范圍。
- ? 還生成了明確指定預(yù)期響應(yīng)格式的指令遵循提示,例如“輸出必須采用JSON格式”。
- ? 還生成了包含用戶與助手互動歷史的兩輪提示,以提升模型的對話技巧。
- ? 將討論生成單輪合成提示、指令遵循提示和兩輪提示的具體流程。
3.1.1 生成單輪提示
圖片
上圖展示了單輪提示詞的生成流程。引導(dǎo)生成器輸出多樣化的宏觀主題,然后為每個宏觀主題生成相關(guān)的子主題??偣彩占?000個主題,包括合成宏觀主題、合成子主題以及人工收集的主題。通過引導(dǎo)生成器提出與每個主題相關(guān)的開放式問題,例如“機器學(xué)習(xí)是什么?”然后要求生成器細(xì)化問題,使其更加詳盡具體。
對于寫作類提示,如“撰寫一篇關(guān)于機器學(xué)習(xí)的論文”,引導(dǎo)生成器根據(jù)給定主題生成特定類型的文檔,如通訊稿或論文,并要求其包含更多細(xì)節(jié)。
利用C4數(shù)據(jù)集中的文本生成封閉式問答提示,引導(dǎo)生成器為每篇文檔輸出相應(yīng)的指令,如“總結(jié)給定文本”或“基于給定文本,xxx是什么?”。然后,使用預(yù)定義的模板將文檔與生成的指令結(jié)合起來。在生成數(shù)學(xué)和編程提示時,我們從數(shù)學(xué)和Python編程領(lǐng)域收集了多樣化的關(guān)鍵詞,并為這些領(lǐng)域生成了高層次的主題和子主題。
3.1.2 生成兩輪提示
為了增強模型在多輪對話中的技能,構(gòu)建了兩輪對話提示,用于構(gòu)建偏好數(shù)據(jù)集。這些提示包括一個問題、一個助手的回答,以及隨后的一個問題,格式為“用戶:XXX;助手:XXX;用戶:XXX;”。從ShareGPT獲取用戶問題,并利用中級指令模型生成助手的回答和下一個問題。
為了更貼近現(xiàn)實世界的用戶需求,還從LMSYS-Chat-1M(LMSYS)中提取了提示。將所有提示均衡地混合,并分為兩個不同的集合:一個用于監(jiān)督學(xué)習(xí),另一個用于偏好學(xué)習(xí),確保兩者之間沒有重疊。
在監(jiān)督學(xué)習(xí)部分,移除了可能引發(fā)不期望對話的不安全提示。然而,在偏好學(xué)習(xí)部分,保留了這些提示,使模型能夠學(xué)習(xí)區(qū)分安全與不安全的回答。
圖片
上圖中,對比了合成單輪提示與LMSYS提示。使用Mixtral-8x7B-Instruct-v0.1模型生成回應(yīng),并利用Nemotron-4-340B-Reward對回應(yīng)的幫助性進(jìn)行評分。合成提示的平均幫助性得分高于LMSYS提示,這表明LMSYS提示在難度和復(fù)雜性上通常高于合成單輪提示。
3.2 合成對話生成
通過監(jiān)督微調(diào),教會了模型如何以對話形式與用戶互動。為了增強多輪對話的能力,設(shè)計了包含三輪對話的格式,以此創(chuàng)造出更加生動和互動的交流流程。
模型在模擬助手和用戶角色之間輪換,通過迭代角色扮演來實現(xiàn)。對用戶環(huán)節(jié)進(jìn)行了后處理,以模仿現(xiàn)實世界用戶的提問方式,排除了諸如“感謝您……”或“當(dāng)然,我很樂意……”等禮貌用語。在合成演示數(shù)據(jù)時,采用了貪婪采樣策略。此外,利用Nemotron4-340B-Reward來評估對話的質(zhì)量,為每個樣本打分,并篩選出低于預(yù)設(shè)閾值的樣本,確保只保留高質(zhì)量的數(shù)據(jù)。
3.3 合成偏好數(shù)據(jù)生成
使用10K人工標(biāo)注的HelpSteer2偏好數(shù)據(jù)來訓(xùn)練Nemotron-4-340B-Reward模型,同時也尋求更廣泛、更高質(zhì)量和真實的偏好數(shù)據(jù)。因此,采用了以(提示,選定回應(yīng),拒絕回應(yīng))的三元組形式生成合成偏好數(shù)據(jù)。
回應(yīng)生成環(huán)節(jié),偏好數(shù)據(jù)涵蓋了合成單輪提示、指令遵循提示、兩輪提示以及真實世界中的ShareGPT提示、LMSYS提示,還有來自GSM8K和MATH訓(xùn)練數(shù)據(jù)集的提示。
對于每個提示,利用多個隨機中級模型生成回應(yīng),確保偏好數(shù)據(jù)集中的回應(yīng)多樣性,供模型學(xué)習(xí)。我們還構(gòu)建了更具挑戰(zhàn)性的合成偏好示例,這些示例中的回應(yīng)是我們根據(jù)MT-Bench標(biāo)準(zhǔn),從表現(xiàn)最佳的模型中隨機生成的多個回應(yīng),以進(jìn)一步推動模型的自我提升。
真實性作為評判標(biāo)準(zhǔn)。面對每個提示的多個回應(yīng),需要評估它們的偏好排名,并選擇出選定和拒絕的回應(yīng)。對于一些可以通過真實性標(biāo)簽(如GSM8K和MATH訓(xùn)練數(shù)據(jù)集中的答案)或驗證器(如指令遵循回應(yīng)可以通過Python程序驗證)來評估的任務(wù),使用這些標(biāo)準(zhǔn)來判斷每個回應(yīng)的正確性,選擇正確的回應(yīng)作為選定的,錯誤的回應(yīng)作為拒絕的。
以事實來判定(Ground-Truth-as-a-Judge):面對每個提示下的多種回應(yīng),需要評估它們的優(yōu)劣并做出選擇。有些任務(wù)可以通過標(biāo)準(zhǔn)答案(如GSM8K和MATH訓(xùn)練集中的問題)或驗證工具(比如通過Python程序檢驗指令遵循的回應(yīng))來評定,對于這些任務(wù)就直接采用這些標(biāo)準(zhǔn)來判定回應(yīng)的正確與否。正確的回應(yīng)被選中,錯誤的則被排除。
在缺乏客觀答案的情況下,嘗試了兩種評判方式:大型語言模型作為評判者和獎勵模型作為評判者(LLM-as-Judge and Reward-Model-as-Judge)。在大型語言模型作為評判者的情況下,將提示和兩個回應(yīng)提交給它,并請求它進(jìn)行比較。為避免順序偏見,會以不同的順序兩次詢問大型語言模型。當(dāng)它兩次給出一致的評判時,我們便確定了一個有效的(提示,選中,排除)三元組。
評判的提示可在報告原文的補充材料D中找到。盡管大型語言模型作為評判者在早期偏好數(shù)據(jù)集的構(gòu)建中發(fā)揮了作用,但進(jìn)一步探索了獎勵模型作為評判者,它通過Nemotron-4-340B-Reward預(yù)測每對(提示,回應(yīng))的得分,并據(jù)此確定偏好排名。
獎勵基準(zhǔn)分?jǐn)?shù)表明:獎勵模型作為評判者在準(zhǔn)確性上超越了大型語言模型作為評判者。特別是在難以區(qū)分的Chat-Hard類別中,獎勵模型作為評判者的表現(xiàn)顯著優(yōu)于大型語言模型作為評判者,平均準(zhǔn)確度為0.87比0.54。因此,在后續(xù)的數(shù)據(jù)集迭代中,采用獎勵模型作為評判者。
3.4 對齊的迭代:由弱到強
優(yōu)質(zhì)的數(shù)據(jù)是確保模型精準(zhǔn)對齊的關(guān)鍵。在數(shù)據(jù)生成過程中,一個經(jīng)過精確對齊的大型語言模型(LLM)必須能夠在整個生成流程中嚴(yán)格遵循指令。這引出了幾個關(guān)鍵問題:
- ? 哪個模型最適合作為數(shù)據(jù)生成器;
- ? 生成器的性能如何與數(shù)據(jù)質(zhì)量掛鉤;
- ? 如何提升數(shù)據(jù)生成器的效能。
圖片
受到從弱到強的泛化理論的啟發(fā),開發(fā)了一種創(chuàng)新的迭代方法,旨在逐步提升數(shù)據(jù)至最優(yōu)狀態(tài)。這種方法巧妙地結(jié)合了對齊訓(xùn)練與數(shù)據(jù)合成的優(yōu)勢,使它們能夠相互促進(jìn),實現(xiàn)持續(xù)的改進(jìn)。
對齊過程與基礎(chǔ)模型的預(yù)訓(xùn)練是同步進(jìn)行的。在開始的迭代中,選用了Mixtral-8x7B-Instruct-v0.1作為起始的對齊模型,因為它已被證明是一個擁有寬松許可證的強大模型。利用生成的數(shù)據(jù),訓(xùn)練了Nemotron-4-340B-Base的一個中間版本,即340B-Interm-1-Base。340B-Interm-1-Base的表現(xiàn)超越了Mixtral 8x7B基礎(chǔ)模型,進(jìn)而使得340B-Interm-1-Instruct模型也超越了Mixtral-8x7B-Instruct-v0.1模型。這表明,即使在監(jiān)督較弱的情況下,也能激發(fā)出強大的能力。
在第二次迭代中,采用了上一輪迭代中得到的340B-Interm-1-Instruct模型作為新的數(shù)據(jù)生成器。得益于其相比Mixtral-8x7B-Instruct-v0.1的增強能力,第二輪迭代生成的合成數(shù)據(jù)質(zhì)量更高。這些數(shù)據(jù)隨后被用來訓(xùn)練340B-Interm-2-Base,使其進(jìn)化為340B-Interm-2-Chat。這一迭代過程形成了一個自我加強的循環(huán)效應(yīng),其改進(jìn)主要得益于兩個方面:
- ? 首先,使用相同的數(shù)據(jù)集時,基礎(chǔ)模型的強度直接影響指導(dǎo)模型的性能,基礎(chǔ)模型越強,指導(dǎo)模型也越強;
- ? 其次,使用相同的基礎(chǔ)模型時,數(shù)據(jù)集的質(zhì)量對于指導(dǎo)模型的有效性至關(guān)重要,數(shù)據(jù)質(zhì)量越高,指導(dǎo)模型的性能也越強。
在整個對齊過程中,進(jìn)行了多輪的數(shù)據(jù)生成和細(xì)化,不斷優(yōu)化模型質(zhì)量。
4. 對齊算法
遵循Ouyang等人(2022年)提出的標(biāo)準(zhǔn)模型校準(zhǔn)協(xié)議,該協(xié)議分為兩個階段:監(jiān)督微調(diào)和偏好微調(diào)。
4.1 分段的監(jiān)督式微調(diào)
監(jiān)督式微調(diào)(Supervised Fine-tuning,SFT)標(biāo)志著模型校準(zhǔn)的起始步驟。傳統(tǒng)做法是在一個階段內(nèi)完成SFT,使用包含所有任務(wù)樣本的數(shù)據(jù)集。然而,實驗結(jié)果表明,同時學(xué)習(xí)多種行為有時會引起它們之間的沖突,這會阻礙模型在所有任務(wù)上同時實現(xiàn)最佳校準(zhǔn)。特別是在編碼任務(wù)中,發(fā)現(xiàn)即便調(diào)整數(shù)據(jù)采樣權(quán)重,也無法讓模型對所有編碼任務(wù)都達(dá)到校準(zhǔn)。
為應(yīng)對這一挑戰(zhàn),提出了一個分兩階段的SFT策略,允許模型按順序、有計劃地學(xué)習(xí)不同的行為。實踐證明,這種方法在所有下游任務(wù)中都能取得更佳的表現(xiàn)。
代碼SFT(Code SFT):為提升編碼和推理能力,同時避免對其他任務(wù)造成干擾,首先在編碼數(shù)據(jù)上執(zhí)行純粹的SFT。要顯著提升模型的編碼能力,需要大量的數(shù)據(jù)。為此,開發(fā)了“遺傳指令”方法,模仿自然選擇過程,利用自我指導(dǎo)和巫師編碼者變異(wizard coder mutations)技術(shù),從少量高質(zhì)量樣本中生成大量合成樣本。還引入了一個適應(yīng)度函數(shù),通過LLM評估生成指令及其解決方案的正確性和質(zhì)量。通過評估的樣本將加入種群池,進(jìn)化過程將持續(xù)進(jìn)行,直至達(dá)到預(yù)定的種群規(guī)模。該流程設(shè)計為支持多群體并行執(zhí)行,以實現(xiàn)按需擴展。經(jīng)過徹底的去重和篩選,保留了約80萬樣本的精選數(shù)據(jù)集,用于代碼SFT訓(xùn)練。以固定學(xué)習(xí)率3e-7和全局批量大小128對模型進(jìn)行單周期訓(xùn)練。
進(jìn)入第二階段,采用通用監(jiān)督式微調(diào)(General SFT),這一階段使用了包含200K樣本的混合數(shù)據(jù)集,覆蓋了多樣任務(wù)類型。為降低遺忘舊知識的風(fēng)險,此數(shù)據(jù)集中特別融入了前一階段編碼SFT中2%的代碼生成樣本。模型訓(xùn)練周期設(shè)定為三輪,全局批量大小設(shè)為128,同時在[1e-7, 5e-7]區(qū)間內(nèi)進(jìn)行學(xué)習(xí)率的精細(xì)搜索。在這兩個微調(diào)階段,對用戶的回答進(jìn)行了屏蔽,僅在助手的回答上計算損失,以確保模型專注于提升輔助性能。
4.2 偏好微調(diào)
繼監(jiān)督微調(diào)之后,通過偏好微調(diào)進(jìn)一步優(yōu)化模型,讓模型學(xué)習(xí)以(提示,選中的回應(yīng),排除的回應(yīng))三元組形式呈現(xiàn)的偏好樣例。
這一階段的微調(diào)經(jīng)過多輪迭代,不僅采用了直接偏好優(yōu)化算法,還融入了我們新研發(fā)的獎勵感知偏好優(yōu)化算法。
直接偏好優(yōu)化(DPO)算法通過優(yōu)化策略網(wǎng)絡(luò),旨在拉大選中與排除回應(yīng)間的隱性獎勵差異。在策略網(wǎng)絡(luò)學(xué)習(xí)區(qū)分兩類回應(yīng)的過程中,發(fā)現(xiàn)無論選中的回應(yīng)質(zhì)量如何,隨著兩者差距的擴大,它們的可能性都在持續(xù)降低。實際上,策略網(wǎng)絡(luò)在長時間訓(xùn)練后往往會出現(xiàn)過擬合現(xiàn)象,一個評測指標(biāo)(如MT-Bench)的提升往往以犧牲其他指標(biāo)(如零樣本MMLU)為代價。
為緩解這些問題,在DPO損失的基礎(chǔ)上增加了加權(quán)的SFT損失,專門針對選中的回應(yīng)。新增的SFT損失有助于保持策略網(wǎng)絡(luò)與偏好數(shù)據(jù)的一致性,特別是當(dāng)偏好數(shù)據(jù)并非源自參考策略時。為防止模型采納低質(zhì)量的選中回應(yīng),會用Nemotron-4-340B-Reward挑選出高質(zhì)量回應(yīng)的樣例,即使在缺乏真實標(biāo)注的情況下。
構(gòu)建了一個包含160K個樣例的偏好數(shù)據(jù)集,覆蓋了多樣的任務(wù)類型。模型訓(xùn)練周期設(shè)為一輪,全局批量大小為256,保持恒定的學(xué)習(xí)率。對學(xué)習(xí)率進(jìn)行了[3e-8, 3e-7]范圍的調(diào)整,DPO損失中的KL正則化系數(shù)在[3e-4, 3e-3]之間,SFT損失的權(quán)重則在[1e-5, 1e-3]之間進(jìn)行微調(diào)。
獎勵驅(qū)動的偏好優(yōu)化(RPO):Nemotron的大部分的偏好數(shù)據(jù)屬于合成類型,其偏好排序是基于Nemotron-4-340BReward所賦予的獎勵來判定的。與僅考慮兩個回應(yīng)間二元順序的DPO不同,獎勵間的差異實際上蘊含了更豐富的信息。
實際上,某些被排除的回應(yīng)與選中的回應(yīng)相比,質(zhì)量差距微乎其微;而有些則明顯遜色。DPO由于沒有考慮到這種質(zhì)量差異,一昧地拉大選中與排除回應(yīng)間的隱含獎勵差距,這可能導(dǎo)致過擬合,并可能無端地“丟棄”那些高質(zhì)量的排除回應(yīng)。
為解決這一問題,引入了一種新算法——獎勵驅(qū)動的偏好優(yōu)化(RPO),該算法旨在利用策略網(wǎng)絡(luò)所定義的隱含獎勵來更準(zhǔn)確地估計獎勵差距。
相較于DPO,RPO通過學(xué)習(xí)估計獎勵差異,有效避免了過擬合現(xiàn)象。以DPO訓(xùn)練得到的模型檢查點作為初始狀態(tài)和參照策略,繼續(xù)采用RPO對模型進(jìn)行訓(xùn)練。采用了一個包含30萬個樣本的偏好數(shù)據(jù)集,并對選中的回應(yīng)實施了較為寬松的質(zhì)量篩選標(biāo)準(zhǔn)。
盡管僅一輪RPO訓(xùn)練就能全面提升模型在各項任務(wù)上的表現(xiàn),但還是執(zhí)行了三輪RPO迭代,每輪迭代都以前一輪的檢查點作為起點和參照。我們發(fā)現(xiàn),隨著RPO迭代次數(shù)的增加,模型性能持續(xù)獲得提升。經(jīng)過三輪RPO訓(xùn)練后得到的檢查點,即為最終版的Nemotron-4-340B-Instruct模型。
? 論文原文: ??https://d1qx31qr3h6wln.cloudfront.net/publications/Nemotron_4_340B_8T_0.pdf???
本文轉(zhuǎn)載自 ??大語言模型論文跟蹤??,作者:HuggingAGI
