大模型對齊新方法,讓數學推理能力直接提升 9%。
上海交通大學生成式人工智能實驗室(GAIR Lab)新成果ReAlign,現已開源。
随着以 ChatGPT 爲代表的語言大模型的快速發展,研究人員意識到訓練數據的質量才是大模型對齊的關鍵。
然而,目前主流的提示數據質量的方法不是需要大量人工成本(人工構造高質量數據)就是容易遭受大模型幻覺的影響(從蒸餾數據中選擇高質量樣本)。
ReAlign 能以較小的人工成本提升現有數據集的質量,進而提升模型整體對齊能力,包含數學推理能力、回答問題的事實性、回答的可讀性。
目前,該項目開源了大量資源:
ReAlign 代碼(使用方法和步驟均在 Github 中給出)
ReAlign 後的數據集,Github 倉庫中給出,同時包含 huggingface 版本。
46 個不同任務場景對應的任務描述以及人工構造的回答格式。
用于對指令數據任務分類的分類器以及該分類器的訓練數據。
用于事實性(Factuality)評估的 NQ 數據集及其 ground truth。
用于可讀性(Readability)和事實性(Factuality)評估的 prompt。
該方法有如下優勢:
可以顯著提升數學推理能力:LLaMA-2-13B 在 GSM8K 上的數學推理能力從 46.77% 提升到了 56.63%。
同時具備顯著的 OOD 泛化能力:在 MATH 上訓練,LLaMA-2-13B 在 GSM8K 上從 14.48% 提升到了 25.17%。
該方法與其他對齊技術(如 SFT、DPO、指令數據構造方法等)垂直,即可以在現有技術的基礎上去進一步提升大模型性能。
該方法所得到的模型在回答問題時具備更易讀、組織格式更優良、原因解釋更細緻等優點,可以顯著提升可讀性與數學推理能力。
該方法在針對知識密集型任務時采用了檢索增強技術,可以有效提升模型的事實性,減少了幻覺帶來的影響。
該文章也指出 ReAlign 的底層邏輯是重新協調人類與大模型在對齊過程中的角色,利用他們之間互補的優勢,讓人類去明确指定自己的偏好,而大模型采用自己強大的生成能力去按照人類指定偏好重構回答,并不會蒸餾大模型本身的知識(避免幻覺問題)。
示例
下圖示例 1 展示了 ReAlign 用于一個數學任務訓練數據後的效果,可以看出 ReAlign 後的回答格式更加清晰易讀。
下圖示例 2 展示了采用原始數據集訓練後的模型與采用 ReAlign 的數據集訓練後的模型在回答問題上的差異,紅色字體高亮了原始回答較弱的部分,綠色字體高亮了 ReAlign 後的模型回答較強的部分。
方法
該方法流程示意圖如下:
該方法分爲 3 個模塊:準則定義、檢索增強、和格式重構。
1、準則定義
該預定義準則包含任務和相應的格式。
任務
該文章作者人工定義了 46 個任務,可以歸爲 10 個大類,具體分類情況如下表所示:
同時,作者針對這 46 個任務訓練了一個任務分類器。
格式
由于不同任務對于格式的需求是不一樣的,因此作者針對這 46 種任務精心設計了 46 個回答格式,包含組織結構、章節内容要求和輸出形态。這樣特定的格式相比通用格式更清晰易讀,下表示例爲郵件生成任務的格式:
2、檢索增強
知識密集型任務如開放域問答和事實驗證任務,需要大量外部知識作爲證據來确保回答的事實性。
因此作者選擇了 5 個知識密集型任務,針對這些任務的問題,先去調用谷歌搜索的 API 得到對應證據,用于後續改寫。以下是一個檢索增強的示例,可以看出有了檢索增強後的 ReAlign 可以給出具備事實性的詳細解釋:
3、格式重構
重寫
作者利用大模型(比如 ChatGPT)基于之前定義的準則和檢索到的證據(對于知識密集型任務)來重新改寫原數據集中的回答。具體來說,是通過提示将問題、原始回答、格式要求和證據(對于知識密集型任務)進行組織,然後詢問大模型得到重寫後的回答。此外,由于一些問題有特定的格式要求,因此作者采用了自适應改寫,即先讓大模型判斷該問題與給定的格式是否匹配,若匹配則改寫,否則保留原始回答。
此外,作者認爲一些特定任務不應有特定格式要求,例如故事生成、詩歌生成等,因此作者對這類任務并沒有采用格式重構(具體可看論文)。
後處理
長度過濾:作者發現大模型在改寫回答的時候偶爾會隻輸出做了改變的句子,這種情況下長度會銳減。因此,作者将改寫後長度小于原始回答一半的數據保留其原始回答不改變。
基于任務的過濾:作者發現任務分類器有時候會導緻錯誤傳播,因此針對以下 3 個任務設計了特定過濾規則:
代碼相關任務:通過關鍵詞匹配确定改寫前後的回答是否均包含代碼,如果其中一方不包含代碼則認爲改寫失敗,進而保留原始回答。
考題任務:匹配改寫前後的答案是否一緻,若不一緻則認爲改寫失敗,保留原始回答。
計劃任務:如果問題中不包含計劃相關的關鍵詞,則不采納改寫的回答,保留原始回答。
實驗與結果
作者在 5 個數據集(Open-Platypus、No Robots、Alpaca、GSM8K、MATH)和 2 個模型(LLaMA-2-13B 和 Mistral-7B)上做了實驗。
作者首先在 AlpacaEval、MT-Bench、Vicuna-Bench 上測試了通用對齊能力,結果如下表所示,發現除了部分 MT-Bench 的第二輪對話性能下降,其他均有提升,證明了對回答格式重構可以有效提升對齊能力。
随後,作者測試該方法對數學推理能力的影響,其在 GSM8K 和 MATH 兩個常用數學數據集上進行測試。結果如下表所示,可以看到該方法可以顯著提升數學推理能力,甚至可以得到 9-10 個點的提升。
此外,還具有顯著的 OOD 泛化能力,例如 LLaMA-2-13B 在 MATH 上訓練,在 GSM8K 上測試可以提升 10 個點以上。作者認爲這樣的提升可能是因爲格式重構後帶來了更多以及更清晰的中間步驟和解釋,進而提升了模型的數學推理能力。
接下來,作者構造了一個評測标準去測試模型的事實性(Factuality),他們從帶有正确答案的 NQ 數據集中随機篩選了 100 條數據。
随後用訓練好的模型去回答這 100 個問題,得到模型的回答,接下來采用一個提示模版将問題、答案和模型的回答組織起來,讓 GPT-4 爲該回答與正确答案的符合程度進行打分作爲事實性分數。
測評結果如下圖所示,可以看到在這三個數據集上事實性均有提升,作者認爲是檢索增強帶來的效果。
此外,作者還測試了模型的可讀性(Readability),他們針對 Vicuna-Bench 的回答,采用 GPT-4 和人工評估對用 ReAlign 前後的回答進行一對一可讀性比較。
結果如下圖所示,可以看到無論是 GPT-4 還是人工,ReAlign 後的數據集相比原始數據集均有顯著提升。
作者還進行了對齊稅(Alignment Tax)分析,在知識型評測基準 BBH 和 AGIEval 上進行測試,發現采用 ReAlign 後的模型并不會損失其原有的知識,并且在個别情況還會有提升。
最後,作者分析了 ReAlign 的擴展定律(Scaling Law),即隻 ReAlign 一部分數據,對訓練後的模型的影響情況。
結果如下圖所示,可以看出隻 ReAlign 5% 的數據即可爲通用對齊能力帶來全部 ReAlign 的 67% 提升,并且随着 ReAlign 的比例提升性能也呈上升趨勢。
總結
總的來說,GAIR 研究組提出了一個新的對齊方法 ReAlign,其可以自動化提升現有指令數據集的回答質量,并且最小化了人工成本和幻覺影響。
他們 ReAlign 得到了了 5 個新的高質量數據集 Open-Platypus、No Robots、Alpaca、GSM8K 和 MATH。實驗證明,ReAlign 可以顯著提升通用對齊能力、數學推理能力、事實性和可讀性,并且不會損害知識能力。
此外,也公開了數據集、人工精心撰寫的 46 種任務描述及格式、任務分類器及其訓練數據、事實性評估數據集。
論文地址:https://arxiv.org/pdf/2402.12219.pdf
項目地址:https://gair-nlp.github.io/ReAlign/
代碼與數據地址:https://github.com/GAIR-NLP/ReAlign