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