完全使用「自生成數(shù)據(jù)」實(shí)現(xiàn)LLM自我糾正,DeepMind新突破SCoRe:糾正性能提升15.9%
OpenAI最新發(fā)布的o1模型再次證明了自我糾正、顯式思考過(guò)程在大模型推理中的重要性,思維鏈可以幫助大模型分解復(fù)雜問(wèn)題,利用計(jì)算和交互來(lái)改進(jìn)模型在測(cè)試時(shí)的性能。
不過(guò),最近有多項(xiàng)研究結(jié)果表明,大模型在缺乏外部輸入的情況下,基本上無(wú)法實(shí)現(xiàn)自我糾正,而現(xiàn)有的自我糾正訓(xùn)練方法要么需要多個(gè)模型,要么依賴(lài)更強(qiáng)大的模型或其他形式的監(jiān)督信號(hào)。
Google DeepMind的研究人員發(fā)布了一種多輪在線強(qiáng)化學(xué)習(xí)(RL)方法 SCoRe,在完全使用自生成數(shù)據(jù)(entirely self-generated data)的情況下,顯著提高了LLM的自我糾正能力。
圖片
論文鏈接:https://arxiv.org/pdf/2409.12917
研究人員首先驗(yàn)證了有監(jiān)督微調(diào) (SFT) 及其變體得到的離線模型,生成的糾正軌跡(correction traces)不足以把自我糾正能力灌輸(still)給語(yǔ)言模型。
還可以觀察到,通過(guò) SFT 進(jìn)行的訓(xùn)練要么會(huì)受到訓(xùn)練數(shù)據(jù)與模型本身回復(fù)之間分布不匹配的影響,要么會(huì)傾向于某種在測(cè)試時(shí)無(wú)效的糾正模式。
SCoRe 通過(guò)在模型本身的自生成糾正軌跡分布下進(jìn)行訓(xùn)練,并使用適當(dāng)?shù)恼齽t化來(lái)引導(dǎo)學(xué)習(xí)過(guò)程,來(lái)學(xué)習(xí)在測(cè)試時(shí)有效的自我糾正策略,而非簡(jiǎn)單地根據(jù)給定提示來(lái)擬合高獎(jiǎng)勵(lì)回復(fù),從而解決了前面提到的難題。
圖片
在基本模型上運(yùn)行強(qiáng)化學(xué)習(xí)的第一階段進(jìn)行正則化,防止生成容易崩潰的策略初始化,然后使用額外獎(jiǎng)勵(lì)來(lái)放大訓(xùn)練期間的自我糾正信號(hào)。
在實(shí)驗(yàn)階段,把SCoRe應(yīng)用于Gemini 1.0 Pro和1.5 Flash模型時(shí),該策略的自我糾正性能最高,在MATH和HumanEval基準(zhǔn)上分別將基礎(chǔ)模型的自我糾正性能提高了15.6%和9.1%。
如何把自我糾正能力注入到大模型中?
之前嘗試實(shí)現(xiàn)自我糾正的大模型要么依賴(lài)于提示工程,要么需要專(zhuān)門(mén)針對(duì)自我糾正進(jìn)行微調(diào)模型,兩種方法都有缺陷:提示工程無(wú)法有效地執(zhí)行有意義的內(nèi)在自我糾正,而基于微調(diào)的方法需要在推理時(shí)運(yùn)行多個(gè)模型,比如需要一個(gè)額外的驗(yàn)證器或優(yōu)化(refinement)模型,或是一個(gè)預(yù)言模型(oracle)來(lái)指導(dǎo)自我糾正的過(guò)程。
研究人員提出的基于強(qiáng)化學(xué)習(xí)實(shí)現(xiàn)自我糾正(SCoRe, Self-Correction via Reinforcement Learning)只需要訓(xùn)練一個(gè)模型,既可以對(duì)推理問(wèn)題產(chǎn)生回復(fù),也可以在沒(méi)有接收到任何預(yù)言信號(hào)(oracle)反饋的情況下糾正錯(cuò)誤,SCoRe完全在自生成的數(shù)據(jù)上訓(xùn)練,而不需要任何預(yù)測(cè)器來(lái)指導(dǎo)模型。
文中首先研究了現(xiàn)有基于微調(diào)策略在這種設(shè)置中的失敗模式,可以觀察到,在多輪自我糾正軌跡上運(yùn)行有監(jiān)督微調(diào),結(jié)合拒絕采樣,通常會(huì)放大模型的偏見(jiàn),雖然與基礎(chǔ)模型的自我糾正行為相比有顯著改進(jìn),但仍未能達(dá)到積極的自我修正率,并且與第一次嘗試相比,第二次嘗試的表現(xiàn)更差。
圖片
通過(guò)對(duì)訓(xùn)練過(guò)的模型進(jìn)行探測(cè),研究人員發(fā)現(xiàn)這些失敗在很大程度上源于有監(jiān)督微調(diào)放大了基礎(chǔ)模型的初始偏見(jiàn),導(dǎo)致模型只能對(duì)第一次嘗試回復(fù)進(jìn)行微小的編輯變化。
圖片
SCoRe策略
SCoRe通過(guò)使用在線多輪強(qiáng)化學(xué)習(xí)(RL)來(lái)解決SFT方法的缺陷,即在自生成的數(shù)據(jù)上運(yùn)行多輪RL,以避免訓(xùn)練和推理之間分布不匹配。
圖片
為了避免在基于策略的數(shù)據(jù)上訓(xùn)練時(shí)學(xué)習(xí)最小編輯策略的失敗模式,研究人員分兩個(gè)階段訓(xùn)練SCoRe,每個(gè)階段都通過(guò)正則化學(xué)習(xí)過(guò)程來(lái)防止行為崩潰(collapse its behavior)。
第一階段
SCoRe第一階段的目標(biāo)是通過(guò)提高基礎(chǔ)模型對(duì)第二次嘗試回復(fù)的覆蓋范圍,從而獲得良好的模型初始化,以便后續(xù)的自我糾正訓(xùn)練不易受到STaR/SFT崩潰的影響。
由于SFT訓(xùn)練模型僅依賴(lài)于一種修正行為模式,因此SFT初始化不會(huì)生成有信息量和探索性的學(xué)習(xí)軌跡,所以研究人員不使用SFT來(lái)初始化RL訓(xùn)練,而是開(kāi)發(fā)第一階段來(lái)產(chǎn)生一個(gè)不易崩潰的單獨(dú)初始化。
為此,需要明確地對(duì)基礎(chǔ)模型進(jìn)行微調(diào),以在第二次嘗試時(shí)產(chǎn)生高獎(jiǎng)勵(lì)的糾正信號(hào),同時(shí)通過(guò)使用KL散度將第一次嘗試的回復(fù)分布約束得盡可能接近基礎(chǔ)模型,限制模型不會(huì)改變第一次嘗試回復(fù)的內(nèi)容。
雖然這個(gè)策略看起來(lái)是次優(yōu)的,但第一階段的主要目標(biāo)是減少基礎(chǔ)模型簡(jiǎn)單地耦合第一次和第二次嘗試分布的偏見(jiàn),防止在實(shí)際運(yùn)行多輪RL時(shí)陷入局部最優(yōu),優(yōu)化目標(biāo)為:

第二階段
運(yùn)行多輪強(qiáng)化學(xué)習(xí)來(lái)優(yōu)化兩次嘗試的獎(jiǎng)勵(lì),同時(shí)使用一個(gè)額外獎(jiǎng)勵(lì)項(xiàng)(reward bonus term)來(lái)激勵(lì)模型以改進(jìn)回復(fù)。初始化和額外獎(jiǎng)勵(lì)都可以確保模型不只是簡(jiǎn)單地學(xué)會(huì)在第一次生成的時(shí)候模仿最佳回復(fù)內(nèi)容,然后再進(jìn)行一些微小的文本編輯。

從效果來(lái)看,SCoRe能夠從基礎(chǔ)模型中引出知識(shí),以實(shí)現(xiàn)積極的自我修正。
實(shí)驗(yàn)評(píng)估
研究人員的目標(biāo)是證明SCoRe在通過(guò)訓(xùn)練自身生成的數(shù)據(jù)可以有效地教導(dǎo)大型語(yǔ)言模型來(lái)糾正自己的錯(cuò)誤,并深入分析SCoRe的每個(gè)組成部分對(duì)于這種能力的貢獻(xiàn)。
任務(wù)
主要關(guān)注數(shù)學(xué)和編程任務(wù):MATH數(shù)據(jù)集上的數(shù)學(xué)問(wèn)題,以及MBPP和HumanEval上的代碼生成任務(wù)。
評(píng)估協(xié)議和指標(biāo)
研究人員主要報(bào)告了自我糾正的準(zhǔn)確性,有兩次連續(xù)的問(wèn)題嘗試,即一輪自我糾正。
對(duì)于MBPP的評(píng)估協(xié)議,文中報(bào)告了MBPP-R的結(jié)果。MBPP-R是一個(gè)離線修復(fù)任務(wù),需要修正PaLM 2生成的錯(cuò)誤的第一次嘗試程序。
模型
MBPP上的所有實(shí)驗(yàn)使用微調(diào)Gemini 1.0 Pro;MATH的實(shí)驗(yàn)微調(diào)Gemini 1.5 Flash
對(duì)于所有評(píng)估結(jié)果,使用貪婪解碼(即溫度0)的推理計(jì)算擴(kuò)展,將溫度設(shè)置為0.7
對(duì)于每個(gè)訓(xùn)練方法,使用固定的模型樣本和梯度更新budget,在運(yùn)行期間不改變學(xué)習(xí)率和批量大小等超參數(shù);在強(qiáng)化學(xué)習(xí)時(shí),選擇訓(xùn)練獎(jiǎng)勵(lì)最高的檢查點(diǎn)。
評(píng)估提示
在MATH上使用零樣本CoT提示進(jìn)行評(píng)估,在HumanEval上使用零樣本提示進(jìn)行評(píng)估,并在MBPP上使用三樣本提示進(jìn)行第一次嘗試訓(xùn)練樣本;
圖片
在第二次嘗試時(shí),使用一個(gè)不透露之前答案正確性的指令,要求模型嘗試推斷其第一次嘗試回復(fù)中是否存在錯(cuò)誤,如果存在錯(cuò)誤,需要重寫(xiě)回復(fù)。
對(duì)比基線
基于提示的方法Self-Refine;基于微調(diào)的方法Pair-SFT及多輪STaR,通過(guò)最小化合成配對(duì)糾正軌跡和成功糾正軌跡上的負(fù)對(duì)數(shù)似然來(lái)微調(diào)模型。
基準(zhǔn)結(jié)果
MATH
實(shí)驗(yàn)結(jié)果顯示,SCoRe在直接和自我糾正準(zhǔn)確率方面都表現(xiàn)出顯著更強(qiáng)的性能。


值得注意的是,內(nèi)在自我糾正增益Δ(t1, t2)為4.4%,是第一個(gè)顯著為正的增量,并且準(zhǔn)確率Accuracy@t1更高,所以需要修正的錯(cuò)誤問(wèn)題更少。
與基礎(chǔ)1.5 Flash模型相比,SCoRe將Δ(t1, t2)提高了15.6%,將Accuracy@t2提高了23.0%,比最接近的基線Pair-SFT分別提高了10.2%和2.6%
通過(guò)觀察問(wèn)題從第一次嘗試不正確變?yōu)榈诙螄L試正確的頻率,可以看到SCoRe提高了修正錯(cuò)誤答案的比率(14.5% vs 基礎(chǔ)模型9.5%),并減少了改變正確答案的比例。
代碼生成
研究人員發(fā)現(xiàn)SCoRe不僅實(shí)現(xiàn)了更高的自我糾正性能,而且還具有強(qiáng)大的離線修復(fù)性能。
對(duì)于MBPP-R,發(fā)現(xiàn)SCoRe將基礎(chǔ)模型的準(zhǔn)確率從47.3%提高到60.6%,與GPT-3.5到GPT-4之間的差距相當(dāng)(分別為42.9%和63.2%)。
雖然模型僅在MBPP上進(jìn)行訓(xùn)練,仍然可以觀察到SCoRe有效地泛化到了HumanEval基準(zhǔn),實(shí)現(xiàn)了12.2%的內(nèi)在自我糾正增量,比基礎(chǔ)模型高出9%
相比之下,Pair-SFT在靜態(tài)糾正任務(wù)MBPP-R上的表現(xiàn)幾乎和SCoRe一樣好,但在自我糾正設(shè)置評(píng)估時(shí)實(shí)際上降低了基礎(chǔ)模型的性能,證明了自我糾正中基于策略采樣的重要性。
參考資料:https://x.com/_philschmid/status/1837121100196594084















 
 
 















 
 
 
 