Pre
title: Aligner: Achieving Efficient Alignment through Weak-to-Strong Correction
source: Arxiv 2024
paper: https://arxiv.org/abs/2402.02416
code: https://aligner2024.github.io/
ref: https://mp.weixin.qq.com/s/O9PP4Oc_Ee3R_HxKyd31Qg
關鍵詞: LLM, align, finetune, weak-to-strong generalization
閱讀理由: 挺有趣的,動機寫得也很好
Idea
修正未對齊的答案比生成對齊的回答更容易,學習對齊與未對齊答案之間的修正殘差,從而繞過繁瑣的RLHF流程
Motivation
LLM現在主要用RLHF(Reinforcement Learning from Human Feedback)實現與人類意圖和價值觀相對齊,但RLHF需要訓練獎勵模型、actor-critic工程,同時高質量的反饋也不容易收集,資料集也可能遭到個別標註者的汙染,更重要的是RLHF需要訪問LLM的引數,如果模型只提供了API呼叫就無法對其進行微調。
Background
Weak-to-Strong Generalization
圖3 方法圖解。超對齊(Superalignment)問題聚焦於擴大人類監督(scaling human oversight),以監督日益智慧和複雜的AI系統。而弱到強泛化類比側重於使用較弱的模型去監督更強的。本文方法使用了弱到強模型來提供可迭代擴充套件的監督(iteratively scalable supervision)
Weak-to-Strong Generalization (弱到強泛化):訓練資料集被分為了兩部分,前半部分的輸入和真值標籤被用來訓練弱模型,而後半部分的訓練資料僅保留輸入,標籤由弱模型產生。在訓練強模型時僅使用弱模型產生的弱標籤為強模型提供監督訊號。
如圖3所示,作者基於對齊本質提出了一個新的弱到強泛化正規化,核心思想是用較弱的Aligner生成標籤,透過微調來教較強的上游模型,以提升其效能。
圖4 左:根據使用者的prompt,直接用弱模型生成監督標籤以微調強模型 右(本文的):基於使用者輸入和強模型輸出,弱模型生成改進後的回答,既可作為強模型的微調標籤,也可以是推理時的另一個輸出
Comparsion to Others
表1 對齊方法總覽。
Aligner vs SFT
與 Aligner 相反,Supervised Fine-Tuning (SFT) 直接從 Query 語義空間建立到 Answer 語義空間的跨域對映,這個過程學習依賴於上游模型來推斷和模擬語義空間中的各種上下文,這比學習修正訊號要難得多。
Aligner 訓練正規化可以被認為是一種殘差形式,採用 「複製(copy)+ 修正(correct)」的學習正規化。因此,Aligner 在本質上建立了從回答語義空間到修正的回答的語義空間的殘差對映,這兩個語義空間在分佈上更接近。
Aligner vs RLHF
RLHF 透過在人類偏好資料集上訓練獎勵模型(RM),並利用這個獎勵模型用 PPO 演算法微調 LLMs,從而使 LLMs 的行為和人類偏好相一致。
具體而言,獎勵模型需要將人類偏好資料從離散對映到連續的數值空間以進行最佳化,但是相較於在文字空間具有較強泛化能力的 Seq2Seq 模型,這類數值獎勵模型在文字空間的泛化能力較弱,從而導致了 RLHF 在不同的模型上效果不穩定。
而 Aligner 透過訓練一個 Seq2Seq 模型來學習對齊和未對齊答案之間的差異性(殘差),從而有效的避開了 RLHF,並取得了比 RLHF 更具備泛化性的表現。
Aligner vs. Prompt Engineering
提示詞工程(Prompt Engineering )是激發 LLMs 能力的常見方法,然而這種方法存在著一些關鍵問題,如:難以設計 prompt,且需要針對不同模型進行不同設計,最終效果依賴於模型的能力,當模型能力不足以解決任務時,可能需要多次迭代,浪費上下文視窗,小模型的上下文視窗受限會影響到提示詞工程的效果,而對於大模型而言,佔用過長的上下文極大增加了訓練的成本。
Aligner 本身可以支援任意模型的對齊,經過一次訓練可以對齊 11 類不同型別的模型,並且能夠不佔用原模型的上下文視窗。值得注意的是,Aligner 可以與現有的提示詞工程方法無縫結合起來,達到 1+1>2 的效果。
Method(Model)
Overview
圖1 Aligner模組架構與其在語義空間中行為的圖示。左:改進工作流,Aligner是一個即插即用的模型,接在上游LLM的後面,輸入原問題x和LLM的回答y_o,負責將y_o變為更有用更無害的答案y_c;右:直接學習問題到對齊的答案這一對映很困難,但基於上游模型輸出做改進就比較容易。
圖2 將Aligner類比為LLM在架構和能力兩方面的殘差學習增強器。示意圖展示了Aligner行為類似於殘差塊(從位置看更接近Residual Block後面的concat操作?),接收y_o輸出改進的y_c,內部採用“複製和改正”方法,在原本答案上覆蓋改進而非修改其基本結構。
Loss
構建資料集\(\mathcal{M}=\{x^{(i)}, y_{o}^{(i)}, y_{c}^{(i)}\}_{i=1}^{N}\),其中三項分別是使用者問題、LLM答案、根據\(y_o\)進行修正的答案。
如圖2所示,對齊的答案生成過程如下:
其中\(\mu_{\phi}(y_{c}|y_{o},x)\)是以\(\phi\)為引數的條件seq2seq模型,也就是aligner
在資料集\(\mathcal{M}\)上的損失為:
由於第二項和Aligner引數無關,因此Aligner的訓練目標如下:
可以看到Aligner的訓練不需要LLM的引數,同時由於是基於已有的答案\(y_o\)進行修正而不是直接回答,這使得 Aligner 能夠容易地與人類價值觀對齊,從而顯著降低了對模型能力的要求。
Training Strategy
將訓練策略稱為殘差修正(Residual Correction),如圖1,2。首先作者使用部分資料構造了 Q-A-A 資料集,訓練 Aligner 進行恆等對映(也稱為 copy mapping),這稱為預熱,能夠改進訓練結果。然後再基於恆等的Aligner,使用整個 Q-A-C 訓練資料集進行訓練。
但作者又補了一句,預熱需要的具體資料比例很難確定,因此通常會繞過預熱步驟,直接用完整的Q-A-C資料集訓練。
Experiment
Settings
Dataset
蒐集 Query-Answer(Q-A) 資料: :作者從各種開源資料集中獲取 Query,包括 Stanford Alpaca、ShareGPT、HH-RLHF 以及其他使用者共享對話。這些問題經歷了重複模式去除和質量過濾的過程,用於後續的答案和更正的答案生成。未修正的回答則是使用各種開源模型生成的,如 Alpaca-7B、Vicuna-(7B,13B,33B)、Llama2-(7B,13B)-Chat, and Alpaca2-(7B,13B)。
答案修正:作者使用 GPT-4、Llama2-70B-Chat 和人工標註來根據大語言模型的 3H 標準(有用性、安全性、誠實性)來修正 Q-A 資料集中的答案。對於已符合標準的答案,保持原樣。修改過程基於一系列定義明確的原則,從而為 Seq2Seq 模型的訓練建立了約束條件,重點在於提升回答的有用性和安全性。答案的修正前後分佈變化明顯,下圖清晰展示了修改對資料集的影響:
Results
表2 弱到強的泛化結果。表明Aligner-7B可以在7B, 13B, 70B的上游模型取得弱到強的泛化,其中各種已有的對齊方法使用Aligner提供的標籤,該過程表明強模型的能力可以藉由弱模型提供的標籤微調進行增強。$\dagger$表示用的資料集是(q, a, a')三元組,分別是問題、Alpaca-7B的答案和Aligner-7B的對齊答案。SFT用a'作為gt標籤,RLHF和DPO則認定a'比a更受喜歡。
作者選用SFT、RLHF 和 DPO三種方法,基於弱標籤對強模型進行訓練,表2的實驗結果顯示,透過 SFT 微調上游模型時,Aligner-7B 和 Aligner-13B 的弱標籤在所有場景中都提高了 Llama2 系列強模型的效能。
而RLHF和DPO在某些指標上有提升,但是會降低有用性(helpfulness),這是因為它們傾向於保守的模式。這表明兩階段的學習過程比起SFT那種直接標籤對映會引入更多的特徵早上和資訊損失,使準確的最佳化更艱難。
RLHF基本是比DPO優秀,由於弱到強泛化的訓練資料基於上游模型的輸出,再由Aligner對齊,RLHF在這種半線上(semi-online)設定下效能更好
安全提升比有用性更重要,也更容易達成,可以透過簡單的拒絕(simple rejection)來增強
表3 Aligner模型效能。該表中的所有評估都是基於將各種模型與Aligners整合,與原始模型進行比較,以量化有用性和無害性的百分比增加。背景顏色表示目標語言模型的型別:綠色表示基於API的模型,藍色表示安全對齊的開放原始碼模型,橙色表示沒有安全對齊的開源模型。鎖的標誌說明模型引數無法訪問,盾牌表示模型是安全對齊的。
作者展現了各個尺寸的 Aligner(7B,13B,70B)在基於 API 的模型、開源模型(包括經過安全對齊和未經過安全對齊)均能提升效能表現。總體來說,隨著模型變大,Aligner 的效能逐步提升,並且修正時所能提供的資訊密度逐漸增大,這也使得修正後的答案更加安全且有用。
圖5 在訓練和評估集中有用性和無害性分數的分佈。 a訓練集中回答和改正後答案的分佈偏移 b不同上游模型用了Aligner-7B的重分佈偏移。 GPT-4的拒絕回答(refuse-to-answer)模板創造了一個矯枉過正的回答區域,其中的有用和無害分數都很低,而Aligner透過提供額外資訊和改正能有所改進 Alpaca沒有對齊,Aligner對它的回答有較大改進 Llama2已經對齊了,平均安全分數高於訓練集中改進後的值,Aligner在維持無害性分數時增強了它的有用性。
表4 消融實驗,評估Aligner和其他方法的有效性,結果表示Aligner顯著超越了基線。同時基線方法經常需要多輪對話迭代、更大的上下文視窗以供promp插入和不斷的自我改正,也就需要更長的推理時間。附錄也有實驗表明Aligner和其他方法一起用也有不錯效果。
表5 消融研究,Aligner和其他微調方法在Alpaca-7B上的比較。等等,這個消融的物件是啥
Conclusion
優勢
- 訓練Aligner不需要任何RLHF過程,作為一個自迴歸 Seq2Seq 模型,Aligner在問題-答案-修正後的答案(Query-Answer-Correction, Q-A-C)資料集上訓練,學習對齊與未對齊答案之間的差異,從而實現了更精準的模型對齊。例如,在對齊 70B LLM 時,Aligner-7B 大規模降低了訓練引數量,相較於 DPO 小 16.67 倍,比 RLHF 小 30.7 倍。
- Aligner 正規化實現了從弱到強的泛化,採用較小引數量的 Aligner 模型微調引數量大的 LLMs ,顯著提升了強模型的效能。例如,利用 Aligner-13B 監督下微調 Llama2-70B,其有用性和安全性分別提升了 8.2% 和 61.6%。
- 由於 Aligner 即插即用的特性以及它對模型引數並不敏感,它能夠對齊如 GPT3.5、GPT4 和 Claude2,這些無法獲取引數的模型。僅一次訓練,Aligner-7B 對齊並提升了包括閉源、開源及安全 / 未安全對齊模型在內的 11 種模型的有用性和安全性。其中 Aligner-7B 顯著提升了 GPT-4 的有用性和安全性,分別提高了 17.5% 和 26.9%。
不足
- 開源的資料集可能會反而被用於訓練有害的AI
- Aligner使用了額外模組,對於引數不可訪問的模型來說很合適,但會加重推理負擔
- 將來研究將側重於Aligner在上下文方面的多功能
Critique
文章組織結構比較有特色,但是部分安排不是很順暢
程式碼資料權重連評估方法都有開源,好評