Meta浙大校友讓評估模型「自學成才」,數據全合成無需人工標注,訓練Llama 3 70B超過405B
LLM在開發周期的每個階段都依賴強大的評估模型,比如訓練階段用于對齊人類偏好或迭代自我改進的獎勵模型,以及推理階段作為人類評估的替代方案。
構建評估模型往往依賴大量的高質量人類偏好數據,不僅耗時長、成本高,而且在模型擴展到新任務或評估標準時造成了阻礙。
此外,隨著新模型不斷迭代改進時,現有的標注數據往往會過時,因為其中的評估是基于舊有的、性能較差的模型相應。這意味著需要不斷重復上述的數據標注和收集流程。
最近,Meta FAIR發表的一篇研究就嘗試使用合成數據的方法來解決這個問題。他們提出了一種迭代的自我訓練方法,在訓練循環中完全不使用人類標注的偏好數據,而是純粹依賴合成數據。
論文地址:https://arxiv.org/abs/2408.02666
實驗中,這種方法將Llama-3-70B-Instruct在RewardBench上的準確率從75.4提升至88.7,超過了使用人類標注數據的方法。
arXiv頁面顯示,這篇論文最后修訂于8月8日,目前作者還沒有公開相關代碼。
方法概述
整個pipeline的流程大致如下(圖1):
- 初始化:收集大量人類編寫的用戶指令,這在生產系統中較為常見,以及初始的種子LLM
- 指令選擇:用LLM從數據集中選擇出具有挑戰性的、平衡的用戶指令分布
- 響應對構建:對每個用戶指令,通過提示創建LLM模型響應偏好對,讓其中一個的質量(被拒絕響應)略低于另一個(被選擇響應)
- 迭代訓練:每次迭代包括兩個步驟,判斷標注和模型微調。
(i) 對每條數據采樣N個LLM-as-a-Judge生成的推理鏈和判斷結果。如果其中包含正確判斷,則將該數據加入訓練集,否則丟棄這條數據。
(ii) 在本次迭代構建的訓練集上微調模型
值得注意的是,每次訓練迭代中,訓練集大小取決于當前模型的質量。預計隨著模型能力的提升,能夠生成更多正確的判斷,訓練集大小也會逐步增加,從而構成了一個自學過程。
指令選擇
之所以要進行指令選擇,是因為生產系統中收集的用戶數據可能存在大量噪音,模型響應的主題、多樣性、難度和能力都有很大程度的不平衡。
因此,這一步驟的目標是篩選出特定分布的指令子集,用于生成高質量的響應和判斷結果。
如圖7所示,先給出精確的提示讓LLM對每個輸入進行分類,構建數據集時就可以在這些類別中「按需取用」。
響應對構建
經過前兩步我們得到了一個精心構建的訓練數據池。這一步驟就是要對其中每個輸入xi,生成涉及到兩個響應yiw、yil的偏好數據,其中前者yw(winning)的質量預計會優于后者yl(losing)。
但這一步完全使用合成數據而非依賴人工標注,那么如何保證yw和yl的響應質量差異?
論文提出了一種比較巧妙的方法,即先讓LLM根據指令xi生成基線響應yiw;然后指示模型生成一個「嘈雜」版本的指令xi′=??(xi) 。xi'與xi語義高度相關但不完全相同,之后生成對應xi'的模型高質量響應yil。
對于同一個指令xi而言,yil的質量預計會低于yiw。由此,我們構建出了一條完整的訓練數據:
ei := xi, yiA, yiB
其中,w=A或w=B是隨機分布的,且在最后的訓練集構建中保證兩種情況出現次數均衡,這對消除LLM-as-a-Judge的位置偏見非常重要。
判斷標注
對于每條訓練數據ei,LLM-as-a-Judge模型都會生成N個多樣化的評價 ??:={ji1, …, jiN},然后應用拒絕采樣過濾掉??中與事實標簽不一致的判斷結果。實驗中,N被設置為15。
若??過濾后為空,該條數據在本次迭代中直接被丟棄。
若??不為空,則從正確判決中隨機選擇一個,構建最終用于微調的訓練數據:
(xi, yiA, yiB, ji)
實驗中還嘗試使用多數投票機制代替單個模型進行LLM-as-a-Judge判斷,根據之前的研究結論,這可以帶來性能改進。
實驗及評估
初始模型M0從Llama-3-70B-Instruct進行初始化,每輪迭代i=1,…T中,使用Mi-1生成偏好數據并作為LLM-as-a-Judge模型進行判斷,然后再次微調M0模型(即Llama-3-70B-Instruct)。
其中,指令微調利用了fairseq2庫,并使用vLLM進行推理。
大量人類編寫的指令數據{xi}來自WildChat數據集,指令選擇步驟中使用Mixtral 22B×8進行分類,共篩選出了20,582個有挑戰性的指令。響應生成步驟同樣使用Mixtral 22B×8模型。
評估結果
在RewardBench上的分數如表1所示。與種子模型相比,總分從75.4顯著提升至88.7,超過了GPT-4和Gemini 1.5 Pro,甚至也超過了405B參數的Llama模型,而且好于使用人類標注數據集HelpSteer2的85.6分。
4個類別分別來看,Chat Hard和Safety的分數隨著每輪迭代都有穩步上升,但Reasoing和Chat類別較為波動。Chat類別在訓練后的分數甚至低于種子模型,作者推測,這是由于篩選的合成數據過于偏重困難任務。
此外可以發現,在LLM-as-a-Judge模型生成判斷時使用32個樣本進行多數投票的確可以提升整體性能。
HelpSteer2由英偉達和ScaleAI合作創建,是一個幫助模型響應變得更加事實正確且連貫的開源數據集。
倉庫地址:https://huggingface.co/datasets/nvidia/HelpSteer2
在MT-Bench上的評估結果如表2所示。雖然分數在第4輪迭代出現一些波動,但訓練后的分數依舊有小幅度提升,與GPT-4相當。
根據在HelpSteer2上的評估結果(表3),在合成數據上的訓練也提升了模型作為judge進行判斷時的平均精度和位置一致精度,但似乎最佳結果出現在第4輪迭代,多一輪迭代后反而降低了性能。
結論
總體來看,本文提出了一種可擴展的方法,在不使用任何人工標注數據的情況下構建響應偏好對,在此基礎上訓練的「自學評估模型」相比種子模型有顯著的性能提升。
作者提出,該研究還存在一些未討論的問題和局限:
- 第一輪訓練迭代時,直接使用種子模型生成第一批偏好數據,但這背后的假設是Llama-3-70B-Instruct已經有生成合理評估的能力;論文并沒有驗證該假設是否成立
- 只使用了Llama-3-70B-Instruct作為種子模型進行實驗,沒有探究該方法對較小模型的適用性
- 在LLM-as-a-Judge的判斷中,只研究了成對評估這一種模式;其實模型也可以直接評估單個響應的指令的質量
- 相比只輸出分數的獎勵模型,生成式的LLM-as-a-Judge還需要輸出推理鏈,更長的輸出會提升推理成本
作者介紹
Tianlu是Meta FAIR的一名研究科學家,她本科畢業于浙江大學計算機科學專業,博士畢業于弗吉尼亞大學。Tianlu的研究主要關注機器學習模型中有關公平性、穩健性和問責制的主題,特別是在計算機視覺和自然語言處理系統中。