73頁,開源「后訓(xùn)練」全流程!AI2發(fā)布高質(zhì)量Tülu 3系列模型,拉平閉源差距,比肩GPT-4o mini
只進行過「預(yù)訓(xùn)練」的模型是沒辦法直接使用的,存在輸出有毒、危險信息的風(fēng)險,也無法有效遵循人類指令,所以通常還需要進行后訓(xùn)練(post-train),如「指令微調(diào)」和「從人類反饋中學(xué)習(xí)」,以使模型為各種下游用例做好準備。
早期的后訓(xùn)練工作主要遵循InstructGPT等模型的標準方案,如指令調(diào)整(instruction tuning)和偏好微調(diào)(preference finetuning),不過后訓(xùn)練仍然充滿玄學(xué),比如在提升模型編碼能力的同時,可能還會削弱模型寫詩或遵循指令的能力,如何獲得正確的「數(shù)據(jù)組合」和「超參數(shù)」,使模型在獲得新知識的同時,而不失去其通用能力,仍然很棘手。
為了解決后訓(xùn)練難題,各大公司都提升了后訓(xùn)練方法的復(fù)雜性,包括多輪訓(xùn)練、人工數(shù)據(jù)加合成數(shù)據(jù)、多訓(xùn)練算法和目標等,以同時實現(xiàn)專業(yè)知識和通用功能,但這類方法大多閉源,而開源模型的性能又無法滿足需求,在LMSYS的ChatBotArena上,前50名模型都沒有發(fā)布其訓(xùn)練后數(shù)據(jù)。
最近,Allen Institute for AI(AI2)發(fā)布了一系列完全開放、最先進的訓(xùn)練后模型Tülu 3,以及所有數(shù)據(jù)、數(shù)據(jù)混合、配方、代碼、基礎(chǔ)設(shè)施和評估框架,其突破了訓(xùn)練后研究的界限,縮小了開源模型和閉源模型微調(diào)配方之間的性能差距。
論文鏈接:https://allenai.org/papers/tulu-3-report.pdf
TüLU 3-70B:https://hf.co/allenai/Llama-3.1-Tulu-3-70B
TüLU 3-8B:https://hf.co/allenai/Llama-3.1-Tulu-3-8B
TüLU 3 數(shù)據(jù):https://hf.co/collections/allenai/tulu-3-datasets673b8df14442393f7213f372
TüLU 3 代碼:https://github.com/allenai/open-instruct
TüLU 3 評估:https://github.com/allenai/olmes
Demo:https://playground.allenai.org/
模型訓(xùn)練算法包括有監(jiān)督式微調(diào)(SFT)、直接偏好優(yōu)化(DPO)以及可驗證獎勵強化學(xué)習(xí)(RLVR)
TüLU 3基于Llama 3.1的基礎(chǔ)模型構(gòu)建,其性能超越了Llama 3.1-instruct、Qwen 2.5、Mistral,甚至超越了如GPT-4o-mini和Claude 3.5-Haiku等模型。
TüLU 3的訓(xùn)練過程結(jié)合了強化學(xué)習(xí)的新算法、前沿的基礎(chǔ)設(shè)施和嚴格的實驗,構(gòu)造數(shù)據(jù),優(yōu)化不同訓(xùn)練階段的數(shù)據(jù)混合、方法和參數(shù),主要包括四個階段。
第一階段:數(shù)據(jù)構(gòu)造
研究人員主要關(guān)注模型在知識召回(knowledge recall)、推理、數(shù)學(xué)、編程、指令遵循、普通聊天和安全性等核心通用技能,然后根據(jù)目標需求來收集人工數(shù)據(jù)和合成數(shù)據(jù)。
第二階段:監(jiān)督微調(diào)(SFT)
研究人員在精心選擇的提示和完成內(nèi)容上執(zhí)行監(jiān)督式微調(diào)(SFT),首先確定了在使用Llama 3.1模型訓(xùn)練在TüLU 2數(shù)據(jù)集上作為基準時,哪些技能落后于最先進的模型,然后有針對性地收集高質(zhì)量的公開數(shù)據(jù)集和合成數(shù)據(jù)集。
通過一個完善的實驗,確定了最終SFT數(shù)據(jù)和訓(xùn)練超參數(shù),以增強目標核心技能,同時不會顯著影響其他技能的性能。
關(guān)鍵的數(shù)據(jù)實驗包括:
1. 多樣化的聊天數(shù)據(jù):主要來自WildChat,如果移除該數(shù)據(jù)集,可以看到大多數(shù)技能都有小幅但明顯的下降,尤其是在Alpaca Eval上,凸顯了「多樣化真實世界數(shù)據(jù)」的重要性。
2. 安全性是獨立的:移除特定安全數(shù)據(jù)集后,可以看到大多數(shù)技能的結(jié)果大致保持不變;添加對比提示,如CoCoNot,有助于防止模型過度拒絕安全提示。
3. 新的Persona Data,主要針對數(shù)學(xué)、編程和指令遵循進行構(gòu)建,移除后,HumanEval(+)、GSM8K、MATH和IFEval的性能都會顯著下降。
4. 針對特定技能(Targeting Specific Skills),移除所有數(shù)學(xué)相關(guān)數(shù)據(jù)后,GSM8K和MATH都有顯著下降。
5. 智能體訓(xùn)練數(shù)據(jù)的數(shù)量,可以發(fā)現(xiàn),在不斷增加數(shù)據(jù)集規(guī)模時,模型平均性能持續(xù)提高,增加到完整混合數(shù)據(jù)集后,GSM8K等指標上的性能大幅提升,但TruthfulQA的性能下降了。
第三階段:偏好調(diào)整
研究人員主要使用直接偏好優(yōu)化(DPO),針對新構(gòu)造的、基于策略的合成偏好數(shù)據(jù),以及從選定提示中獲得的離策略數(shù)據(jù)。與SFT階段一樣,我們通過徹底的實驗確定了最佳的偏好數(shù)據(jù)混合,揭示了哪些數(shù)據(jù)格式、方法或超參數(shù)能帶來改進。
在TüLU 3項目中,研究人員探索了多種偏好微調(diào)方法,目標是提升整個評估套件的性能;并研究了多種訓(xùn)練算法,從直接偏好優(yōu)化(DPO)及其衍生算法到強化學(xué)習(xí)算法,比如近端策略優(yōu)化(PPO)。
研究人員通過改進和擴展UltraFeedback流程,從提示中創(chuàng)建了策略內(nèi)偏好數(shù)據(jù)(包括輸入、兩個輸出選項和標簽),使用大型語言模型(LLM)作為裁判,構(gòu)造「偏好的、被拒絕的」數(shù)據(jù)對,主要包括三個階段:
1. 提示選擇
除了數(shù)據(jù)構(gòu)造階段的提示外,還包括了其他來源的提示,比如沒有TruthfulQA實例的Ultrafeedback版本,或者通過在提示中添加新的IF約束。
2. 生成回復(fù)
對于給定的提示,從模型池中隨機抽取四個模型來生成回復(fù),再通過從TüLU SFT模型中抽樣完成情況來包括策略內(nèi)數(shù)據(jù)。其中一個回應(yīng)是由策略內(nèi)模型生成的,另一個回應(yīng)是由策略外模型生成的。
3. 偏好標注
在為每個提示生成四個回復(fù)后,使用一個大型語言模型(LLM)作為裁判(GPT-4o-2024-0806),然后根據(jù)四個不同的方面(有幫助性、遵循指令、誠實性和真實性)對每個回復(fù)從1到5進行評分。
第四階段:可驗證獎勵的強化學(xué)習(xí)
研究人員引入了一種名為可驗證獎勵強化學(xué)習(xí)(RLVR)的新型方法,用于訓(xùn)練語言模型完成具有可驗證結(jié)果的任務(wù),比如數(shù)學(xué)問題解決和指令遵循。
RLVR基于現(xiàn)有的強化學(xué)習(xí)人類反饋(RLHF)目標,但將獎勵模型替換為驗證函數(shù),當應(yīng)用于具有可驗證答案的領(lǐng)域,其在GSM8K等基準測試上顯示出針對性的改進,同時還能保持其他任務(wù)的性能。
RLVR可以看作是現(xiàn)有引導(dǎo)語言模型推理的方法的簡化形式,或者是一種更簡單的強化學(xué)習(xí)形式,其中使用答案匹配或約束驗證作為二元信號來訓(xùn)練模型。
RLVR數(shù)據(jù)主要包括兩個領(lǐng)域(數(shù)學(xué)、精確指令遵循),評估數(shù)據(jù)集為GSM8k, MATH和IFEval
為了提升效率,RLVR的實現(xiàn)細節(jié)主要包括:
1. 用通用獎勵模型來初始化價值模型;
2. 禁用dropout,在獎勵模型和強化學(xué)習(xí)訓(xùn)練期間,將dropout概率設(shè)置為0,確保在策略模型和參考模型的前向傳遞過程中,token的對數(shù)概率可以確定性地計算,從而更準確地估計KL懲罰。此外,PPO在滾動階段和學(xué)習(xí)階段計算token的對數(shù)概率,重要的是要確保這兩個階段的token對數(shù)概率相匹配,如果使用dropout,對數(shù)概率差異會很大,導(dǎo)致裁剪后梯度為零。
3. 使用智能體訓(xùn)練數(shù)據(jù)集并在周期之間隨機,PPO可以訓(xùn)練的周期數(shù)超過可用提示的總數(shù),有效地進行多個周期的訓(xùn)練。在我們的RLVR消融實驗中,我們大約訓(xùn)練了13個周期。我們在周期之間對提示進行洗牌。對于我們的最終運行,我們每40-100步檢查一次模型檢查點,并選擇在我們開發(fā)評估集上表現(xiàn)最佳的檢查點。
4. 非序列結(jié)束(EOS)懲罰:在訓(xùn)練期間,PPO通常采樣固定數(shù)量的最大token。如果采樣的回復(fù)沒有以EOS token結(jié)束,給予-10的懲罰。
5. 優(yōu)勢歸一化:過減去均值然后除以其標準差來歸一化優(yōu)勢(advantages)。
研究人員首先將一個直接偏好優(yōu)化(DPO)模型作為初始模型,然后進行了一系列消融實驗:
1. 單獨任務(wù)。分別在GSM8K、MATH和IFEval任務(wù)上應(yīng)用了RLVR方法,并遍歷了一系列beta值。在評估時,關(guān)注可驗證的獎勵、KL散度和回應(yīng)長度。
2. 價值模型初始化消融實驗。嘗試從一個通用獎勵模型和錨定的DPO模型初始化PPO的價值模型,并在GSM8K任務(wù)上遍歷一系列beta值。通用獎勵模型是使用UltraFeedback數(shù)據(jù)集訓(xùn)練的。在評估時,檢查GSM8K測試評估得分和所有評估的平均得分。
3. 從獎勵模型得分的消融實驗。在獎勵模型的得分基礎(chǔ)上增加可驗證的獎勵,并在GSM8K任務(wù)上使用了一系列beta值進行實驗。
4. 從性能較弱的模型開始。模型的基礎(chǔ)能力也是一個干擾因素,使用平均得分較低的SFT模型進行另一組實驗。
TüLU 3評估
在后續(xù)訓(xùn)練方法中,建立清晰的性能目標和評估工具非常關(guān)鍵。
研究人員發(fā)布了一個統(tǒng)一的標準化評估套件和一個工具包,以指導(dǎo)開發(fā)和評估最終模型,并對訓(xùn)練數(shù)據(jù)進行凈化,以符合評估基準,主要目標包括:
1. 評估過程應(yīng)該是可復(fù)現(xiàn)的;
2. 應(yīng)該評估模型對未見任務(wù)的泛化能力,而不僅僅是我們用于開發(fā)的特定基準測試。
3. 評估設(shè)置(例如,提示的模板和策略)對各種模型公平。
開放語言模型評估系統(tǒng)(OLMES)
為了使評估更加標準化和可復(fù)現(xiàn),研究人員開源了Open Language Model Evaluation System,其支持更廣泛的模型集合和任務(wù)、可以對每個任務(wù)進行靈活配置、直接訪問任務(wù)描述、分析模型預(yù)測、置信度等的詳細實例級的數(shù)據(jù)。
比如說,要復(fù)現(xiàn)Llama-3.1-8B-Instruct在MMLU-Pro上的結(jié)果,只需簡單運行類似「olmes –task mmlu_pro::tulu3 –model llama3.1-8b-instruct」的命令。