大模型對齊新方法,讓數學推理能力直接提升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種任務描述及格式、任務分類器及其訓練數據、事實性評估數據集。