73頁,開源「後訓練」全流程,AI2發佈高質量Tülu 3系列模型,拉平閉源差距,比肩GPT-4o mini

【導讀】Allen Institute for AI(AI2)發佈了Tülu 3系列模型,一套開源的最先進的語言模型,性能與GPT-4o-mini等閉源模型相媲美。Tülu 3包括數據、代碼、訓練配方和評估框架,旨在推動開源模型後訓練技術的發展。

只進行過「預訓練」的模型是沒辦法直接使用的,存在輸出有毒、危險信息的風險,也無法有效遵循人類指令,所以通常還需要進行後訓練(post-train),如「指令微調」和「從人類反饋中學習」,以使模型為各種下遊用例做好準備。

早期的後訓練工作主要遵循InstructGPT等模型的標準方案,如指令調整(instruction tuning)和偏好微調(preference finetuning),不過後訓練仍然充滿玄學,比如在提升模型編碼能力的同時,可能還會削弱模型寫詩或遵循指令的能力,如何獲得正確的「數據組合」和「超參數」,使模型在獲得新知識的同時,而不失去其通用能力,仍然很棘手。

為瞭解決後訓練難題,各大公司都提升了後訓練方法的複雜性,包括多輪訓練、人工數據加合成數據、多訓練算法和目標等,以同時實現專業知識和通用功能,但這類方法大多閉源,而開源模型的性能又無法滿足需求,在LMSYS的ChatBotArena上,前50名模型都沒有發佈其訓練後數據。

最近,Allen Institute for AI(AI2)發佈了一系列完全開放、最先進的訓練後模型Tülu 3,以及所有數據、數據混合、配方、代碼、基礎設施和評估框架,其突破了訓練後研究的界限,縮小了開源模型和閉源模型微調配方之間的性能差距。

論文鏈接: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 數據: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/

模型訓練算法包括有監督式微調(SFT)、直接偏好優化(DPO)以及可驗證獎勵強化學習(RLVR)

TÜLU 3基於Llama 3.1的基礎模型構建,其性能超越了Llama 3.1-instruct、Qwen 2.5、Mistral,甚至超越了如GPT-4o-mini和Claude 3.5-Haiku等模型。

TÜLU 3的訓練過程結合了強化學習的新算法、前沿的基礎設施和嚴格的實驗,構造數據,優化不同訓練階段的數據混合、方法和參數,主要包括四個階段。

第一階段:數據構造

研究人員主要關注模型在知識召回(knowledge recall)、推理、數學、編程、指令遵循、普通聊天和安全性等核心通用技能,然後根據目標需求來收集人工數據和合成數據。

第二階段:監督微調(SFT)

研究人員在精心選擇的提示和完成內容上執行監督式微調(SFT),首先確定了在使用Llama 3.1模型訓練在TÜLU 2數據集上作為基準時,哪些技能落後於最先進的模型,然後有針對性地收集高質量的公開數據集和合成數據集。

通過一個完善的實驗,確定了最終SFT數據和訓練超參數,以增強目標核心技能,同時不會顯著影響其他技能的性能。

關鍵的數據實驗包括:

1. 多樣化的聊天數據:主要來自WildChat,如果移除該數據集,可以看到大多數技能都有小幅但明顯的下降,尤其是在Alpaca Eval上,凸顯了「多樣化真實世界數據」的重要性。

2. 安全性是獨立的:移除特定安全數據集後,可以看到大多數技能的結果大致保持不變;添加對比提示,如CoCoNot,有助於防止模型過度拒絕安全提示。

3. 新的Persona Data,主要針對數學、編程和指令遵循進行構建,移除後,HumanEval(+)、GSM8K、MATH和IFEval的性能都會顯著下降。

4. 針對特定技能(Targeting Specific Skills),移除所有數學相關數據後,GSM8K和MATH都有顯著下降。

5. 智能體訓練數據的數量,可以發現,在不斷增加數據集規模時,模型平均性能持續提高,增加到完整混合數據集後,GSM8K等指標上的性能大幅提升,但TruthfulQA的性能下降了。

第三階段:偏好調整

研究人員主要使用直接偏好優化(DPO),針對新構造的、基於策略的合成偏好數據,以及從選定提示中獲得的離策略數據。與SFT階段一樣,我們通過徹底的實驗確定了最佳的偏好數據混合,揭示了哪些數據格式、方法或超參數能帶來改進。

在TÜLU 3項目中,研究人員探索了多種偏好微調方法,目標是提升整個評估套件的性能;並研究了多種訓練算法,從直接偏好優化(DPO)及其衍生算法到強化學習算法,比如近端策略優化(PPO)。

研究人員通過改進和擴展UltraFeedback流程,從提示中創建了策略內偏好數據(包括輸入、兩個輸出選項和標籤),使用大型語言模型(LLM)作為球證,構造「偏好的、被拒絕的」數據對,主要包括三個階段:

1. 提示選擇

除了數據構造階段的提示外,還包括了其他來源的提示,比如沒有TruthfulQA實例的Ultrafeedback版本,或者通過在提示中添加新的IF約束。

2. 生成回覆

對於給定的提示,從模型池中隨機抽取四個模型來生成回覆,再通過從TÜLU SFT模型中抽樣完成情況來包括策略內數據。其中一個回應是由策略內模型生成的,另一個回應是由策略外模型生成的。

3. 偏好標註

在為每個提示生成四個回覆後,使用一個大型語言模型(LLM)作為球證(GPT-4o-2024-0806),然後根據四個不同的方面(有幫助性、遵循指令、誠實性和真實性)對每個回覆從1到5進行評分。

第四階段:可驗證獎勵的強化學習

研究人員引入了一種名為可驗證獎勵強化學習(RLVR)的新型方法,用於訓練語言模型完成具有可驗證結果的任務,比如數學問題解決和指令遵循。

RLVR基於現有的強化學習人類反饋(RLHF)目標,但將獎勵模型替換為驗證函數,當應用於具有可驗證答案的領域,其在GSM8K等基準測試上顯示出針對性的改進,同時還能保持其他任務的性能。

RLVR可以看作是現有引導語言模型推理的方法的簡化形式,或者是一種更簡單的強化學習形式,其中使用答案匹配或約束驗證作為二元信號來訓練模型。

RLVR數據主要包括兩個領域(數學、精確指令遵循),評估數據集為GSM8k, MATH和IFEval

為了提升效率,RLVR的實現細節主要包括:

1. 用通用獎勵模型來初始化價值模型;

2. 禁用dropout,在獎勵模型和強化學習訓練期間,將dropout概率設置為0,確保在策略模型和參考模型的前向傳遞過程中,token的對數概率可以確定性地計算,從而更準確地估計KL懲罰。此外,PPO在滾動階段和學習階段計算token的對數概率,重要的是要確保這兩個階段的token對數概率相匹配,如果使用dropout,對數概率差異會很大,導致裁剪後梯度為零。

3. 使用智能體訓練數據集並在週期之間隨機,PPO可以訓練的週期數超過可用提示的總數,有效地進行多個週期的訓練。在我們的RLVR消融實驗中,我們大約訓練了13個週期。我們在週期之間對提示進行洗牌。對於我們的最終運行,我們每40-100步檢查一次模型檢查點,並選擇在我們開發評估集上表現最佳的檢查點。

4. 非序列結束(EOS)懲罰:在訓練期間,PPO通常采樣固定數量的最大token。如果采樣的回覆沒有以EOS token結束,給予-10的懲罰。

5. 優勢歸一化:過減去均值然後除以其標準差來歸一化優勢(advantages)。

研究人員首先將一個直接偏好優化(DPO)模型作為初始模型,然後進行了一系列消融實驗:

1. 單獨任務。分別在GSM8K、MATH和IFEval任務上應用了RLVR方法,並遍曆了一系列beta值。在評估時,關注可驗證的獎勵、KL散度和回應長度。

2. 價值模型初始化消融實驗。嘗試從一個通用獎勵模型和錨定的DPO模型初始化PPO的價值模型,並在GSM8K任務上遍曆一系列beta值。通用獎勵模型是使用UltraFeedback數據集訓練的。在評估時,檢查GSM8K測試評估得分和所有評估的平均得分。

3. 從獎勵模型得分的消融實驗。在獎勵模型的得分基礎上增加可驗證的獎勵,並在GSM8K任務上使用了一系列beta值進行實驗。

4. 從性能較弱的模型開始。模型的基礎能力也是一個干擾因素,使用平均得分較低的SFT模型進行另一組實驗。

TÜLU 3評估

在後續訓練方法中,建立清晰的性能目標和評估工具非常關鍵。

研究人員發佈了一個統一的標準化評估套件和一個工具包,以指導開發和評估最終模型,並對訓練數據進行淨化,以符合評估基準,主要目標包括:

1. 評估過程應該是可複現的;

2. 應該評估模型對未見任務的泛化能力,而不僅僅是我們用於開發的特定基準測試。

3. 評估設置(例如,提示的模板和策略)對各種模型公平。

開放語言模型評估系統(OLMES)

為了使評估更加標準化和可複現,研究人員開源了Open Language Model Evaluation System,其支持更廣泛的模型集合和任務、可以對每個任務進行靈活配置、直接訪問任務描述、分析模型預測、置信度等的詳細實例級的數據。

比如說,要複現Llama-3.1-8B-Instruct在MMLU-Pro上的結果,只需簡單運行類似「olmes –task mmlu_pro::tulu3 –model llama3.1-8b-instruct」的命令 。

參考資料: 

https://venturebeat.com/ai/ai2-closes-the-gap-between-closed-source-and-open-source-post-training/ 

https://allenai.org/blog/tulu-3?includeDrafts 

本文來自微信公眾號「新智元」,編輯:LRS ,36氪經授權發佈。