天天看點

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

作者:機器之心Pro

機器之心報道

編輯:杜偉、陳萍

面對目前微調大模型主要依賴人類生成資料的普遍做法,谷歌 DeepMind 探索出了一種減少這種依賴的更高效方法。

如你我所見,大語言模型(LLM)正在改變深度學習的格局,在生成人類品質的文本和解決各種語言任務方面展現出了卓越的能力。雖然業界通過對人類收集的資料進行監督微調進一步提升了在具體任務上的性能,但擷取高品質人類資料卻面臨着重大瓶頸。這對于要解決複雜問題的任務來說尤為明顯,需要大量資源和專業知識。

怎麼解決呢?模型生成得合成資料是一種有潛力的替代方案,隻要能保證資料的品質,就能實作可擴充性和成本效益。

雖然 LLM 能夠自我評估生成的資料,但在本文中,谷歌 DeepMind 探索了一種更簡單的設定,将外部标量回報信号用作每個生成樣本的品質名額。

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

論文位址:https://arxiv.org/pdf/2312.06585.pdf

為了研究在模型生成資料上的訓練,研究者考慮了一種簡單但強大的語言模型自訓練方法,僅需要兩項功能,一是基于模型生成樣本,二是利用評分機制對這些樣本進行評估。

為了確定清晰度和一緻性,研究者采用了一種強化自訓練方法 ReST^,并證明該方法可以将期望最大化(expectation-maximization,EM)用于強化學習。具體來講,ReST^在期望和最大化步驟之間交替進行。

  1. 生成(E-step):語言模型為每個輸入上下文生成多個輸出樣本,然後使用二進制獎勵過濾這些樣本以收集訓練資料集。
  2. 改進(M-step):原始語言模型在來自前一個 E-step 的訓練資料集上進行監督微調,然後在下一個 E-step 中使用。

研究者證明,ReST^及變體在增強各個領域的語言模型方面取得了成功,包括機器翻譯、語義分析、偏好對齊和基礎推理。

此外,以往工作主要将 ReST^用于相對較小的模型(最高 70 億參數),對于較大模型的可擴充性受限。是以,本文旨在探究模型生成的合成資料與人類生成的資料在以下兩個具有挑戰性但研究較少領域的有效性和可擴充性,這兩個領域分别是競争水準數學解題(MATH)和代碼生成(APPS)。

實證結果表明,當将 ReST^用于不同規模的 PaLM 2 模型時,在數學推理和代碼生成任務中實作了顯著的能力改進。與在人類編寫資料上訓練的模型相比,在模型生成的合成資料上微調的模型取得了更大的性能增益。有趣的是,超過了一定數量的 ReST^ 疊代後,性能會降低,這表明了在少量訓練問題上可能會出現過拟合。

此外,使用 ReST^微調的模型提升了 pass@k 名額和多數投票性能。這些微調後的模型在相關但 held-out 的基準上也表現出了性能增強,包括數學題(GSM8K 和 Hungarian HS finals)、編碼(HumanEval)和 Big-Bench Hard 任務。

總之,本文研究結果表明,具有回報的自訓練是減少對人類資料依賴的一種有潛力的方法。

用于強化自訓練的期望最大值(EM)

首先,該研究基于 Dayan 和 Hinton 之前的研究,用語言模型描述了基于 EM 的強化學習架構。具體而言,他們先是定義了一個二進制最優變量 O,使得(= 1|,)∝((,));然後對非遞減函數 : ℝ → ℝ+ ,實作最大化觀察= 1(獲得高獎勵),得到如下公式:

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

然而,求解上式中的序列 的和很棘手。因而本文考慮相對于參數 和變分分布 ( |) 最大化其 ELBO ( , ),而不是最大化 log ( = 1; )。具體來說:

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

公式(2)中的 EM 算法在 E-step(Expectation) 和 M-step(Maximization)之間交替進行。

ReST^:受 EM 架構的啟發,接下來論文讨論了 Gulcehre 等人提出的 ReST 方法的簡化版本。為了清楚起見,本文将這種方法稱為 ReST^,它将 RL pipeline 中的資料收集 (E-step) 和政策優化 (M-step) 進行解耦。如算法 1 所示:

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

生成(E-step):在此步驟中,該研究通過從目前政策

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

中采樣輸出序列來生成資料集

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

。在這裡,輸入是從原始資料集

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

中重新采樣的。然後使用二進制獎勵函數 (, ) 對

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

中的輸出序列進行評分。

改進(M-step):在第 步疊代中,該研究使用 E-step 中的新資料集

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

來微調政策 。不同于 Gulcehre 的研究,他們微調基本預訓練語言模型,以最大限度地減少特定于任務的過度拟合并最大限度地減少與基本模型的偏差。為了進行微調,該研究最小化獎勵權重負對數似然損失

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

。一旦政策得到改進,就可以再次建立品質更好樣本的新資料集。

實驗和分析

本文進行實驗的主要目标是回答以下問題:

  1. 與人類生成的資料進行微調相比,ReST^的效果如何?
  2. 需要多少次疊代才能獲得最佳性能?ReST^多長時間會導緻訓練集過度拟合?
  3. ReST^如何影響 pass@k 和多數投票表現?
  4. 如果使用者在特定任務上使用模型生成的資料進行微調,是否會遷移到其他任務上?在廣泛的任務中評估本文的微調模型時,與基本模型相比,性能是否會下降?
  5. 大約需要多少輸入資料才能從 ReST^ 獲得大部分性能提升?ReST^的一次疊代是否足夠?

該研究使用 PaLM 2 模型和 Google Cloud 上的公共 API 進行實驗,包括 PaLM 2-S (Bison)、PaLM 2-S* (Codey) 和 PaLM 2-L (Unicorn)。訓練資料集采用 MATH 資料集和 APPS 資料集。

圖 2 和圖 3 分别顯示了 ReST^在 MATH 和 APPS 資料集上訓練的性能。可以得出 MATH 受益于 ReST^ 的多次疊代,無論是在 MATH 測試集上的性能還是遷移到 GSM8K 方面。另一方面可以看到 APPS 的大部分收益來自第一次疊代,而執行更多次疊代會導緻 APPS 和 HumanEval 的性能下降。

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好
大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

訓練和測試性能的差距。圖 4 顯示,雖然訓練集性能随着 ReST^疊代次數線性增加,但測試集性能卻沒有。對于 MATH,第一次疊代後測試性能改進很小,而對于 APPS,在第二次疊代中觀察到性能回歸。該研究猜測性能的回歸可能是由于過度拟合造成的。由于 APPS 資料集的大小約為 MATH 資料集的三分之一,是以它更容易受到此問題的影響。

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

圖 5 顯示了 Palm-2-L 模型在 pass@K 名額上的性能。結果顯示,微調後獲得的 ReST^ 模型對于所有 K 值都更強,其中性能差距通常在 K=1 時最大。

大模型微調非得依賴人類資料嗎?DeepMind:用帶回報的自訓練更好

繼續閱讀