LLM對齊數據全自動合成!UW華人博士生提出Magpie方法,Macbook Air即可運行

新智元報導  

編輯:祖楊

【新智元導讀】華盛頓大學和Allen AI最近發表的論文提出了一種新穎有趣的數據合成方法。他們發現,充分利用LLM的自回歸特性,可以引導模型自動生成高質量的指令微調數據。

數據對LLM訓練而言是至關重要的存在,但我們的關注點往往放在訓練和評估數據,而會忽略微調數據。

比如Llama系列模型,雖然開放了權重(如Llama-3-Instruct),但微調數據集依舊是私有的。

LLM的成功有很大一部分取決於指令微調(instruction fine-tuning),這個過程能讓模型更好地泛化到訓練過程中沒有接觸過的任務。

正如訓練的有效性依賴於訓練語料的質量,指令微調的有效性也取決於能否獲得高質量的指令數據集。

然而,相比於無標註的自監督訓練語料,高質量微調和對齊數據集更加難以構建、擴展,因為需要更多人工標註,而且存在預先定義的提示範圍。

就連專門為AI科技巨頭提供數據的公司Scale AI,在目前階段都無法實現自動化標註,甚至得高薪聘請專業人士參與微調和對齊數據集的構建。

Scale AI的CEO Alexandr Wang曾表示,LLM合成數據是一個很有前景的解決方案。

最近,華盛頓大學和研究機構Allen AI聯合發表的一篇論文就專注於如何讓對齊過的LLM合成高質量的微調數據。

論文地址:https://arxiv.org/abs/2406.08464論文地址:https://arxiv.org/abs/2406.08464

論文提出的方法實現了全流程的自動化,不需要任何種子問題。更為驚豔的是,代碼不僅能在本地運行,而且用LLM自動生成了非常可靠的高質量數據。

他們用Llama-3-8B的Base模型在自己生成的SFT數據集上微調後,得到了比官方微調版本Llama-3-Instruct性能更強的模型。

論文得到了AI圈大佬Sebastian Raschka的轉發背書。

起初,他也不相信這種方法真的能夠在MacBook Air上本地運行,但親自嘗試後驚喜地發現,真的可以。

Raschka是多本技術暢銷書的作者,包括《從頭開始構建大語言模型》、《Python機器學習》等,他目前擔任Lightning AI的研究工程師。

論文的第一作者Zhangchen Xu是華盛頓大學網絡安全實驗室的二年級博士生,師從Radha Poovendran教授,研究興趣是機器學習的安全性、隱私性和公平性,目前關注如何構建可信LLM。

那就讓我們仔細探究一下,這種高效的數據合成方法究竟如何實現。

方法概述

典型的LLM輸入一般由3個部分組成:

– 查詢前模版(pre-query template)

– 查詢內容(query)

– 查詢後模版(post-query template)

其中的兩個模版一般由模型開發者預先定義,以保證正確地提示模型。

比如Llama-2-chat的輸入形式就是:

[INST] Hi! [/INST]

在之前的研究中,通常有兩種方法構建微調數據集。一是直接讓人類手動製作,顯然既耗時間又耗資源。二是從少量人工註釋的種子指令開始,通過提示調用LLM以合成更多指令。

第二種方法雖然節省人力,但非常考驗提示工程的水平,以及對初始種子問題的選擇。換言之,很難實現可控的大規模擴展。

更為致命的問題是,合成的指令往往與種子指令十分接近,這會嚴重影響大規模數據集的多樣性。用可擴展的方式,創建高質量且多樣化的指令數據集,依舊是LLM領域具有挑戰性的問題。

但作者在早期實驗中的有一個有趣的發現:由於LLM的自回歸特性,只輸入查詢前模版時,模型會自動合成查詢,而且從內容來看,似乎有不錯的質量和多樣性。這表明它能夠有效利用對齊過程中學習到的能力。

以此為啟發,作者提出如下思路構建指令數據集:使用查詢前模版作為提示,輸入給對齊過的LLM,自動生成指令數據。

如下圖所示,每個指令數據實例包含一個或多個指令-響應對(instructon-response pair),且會規定指令提供者(provider)與遵循者(follower)的角色。

圖1描述了整個數據自動生成的pipeline,大體分為兩個步驟。圖1描述了整個數據自動生成的pipeline,大體分為兩個步驟。

首先是指令生成。MAGPIE方法將查詢內容構建為LLM預定義指令模版的格式,但只包含指令提供者(如user),不包含具體的指令內容。

以此作為LLM輸入,模型就會以自回歸的方式生成指令。由於不需要特定的提示工程技巧,也沒有使用任何種子問題,這個流程確保了生成指令的多樣性。

第二步驟中,MAGPIE將之前生成的指令再輸入給LLM,得到響應內容。

將以上兩個步驟進行重覆迭代,就能夠得到多輪的指令數據。如果想針對某個特定領域生成數據,加上相應的提示即可實現。

得到原始的生成結果後,作者還根據文本長度、任務類別、輸入質量、輸入難度等指標進行了過濾。

論文分別使用Llama-3-8B-Instruct和Llama-3-70B-Instruct兩個模型,構建了兩個數據集MAGPIE-Air和MAGPIE-Pro,並在附錄中給出了生成指令的示例:

可以看到,文本質量的確不錯,完全可以與人類撰寫的指令水平相當。

然而,想評估如此龐大規模數據的質量不能只依靠主觀感受,於是作者對生成的指令數據集MAGPIE-Pro進行了定量分析。

數據集分析

覆蓋度

要考量指令文本的多樣化程度,一個有效指標是文本嵌入的在語義空間中的覆蓋範圍。

作者從MAGPIE-Pro中隨機采樣指令文本,編碼為嵌入向量並用t-SNE方法投影到二維空間,同時採用三個基線數據集作為對比,包括Alpaca、Evol Instruct和UltraChat。

下圖中的每個t-SNE投影點都代表隨機抽取的1萬條指令。可以看到,MAGPIE-Pro的投影基本將其他三個數據集的範圍囊括在內,這表明它提供了更廣泛、多樣化的主題。

指令屬性

論文使用Llama-3-8B-Instruct模型評估MAGPIE指令數據的各種屬性,比如指令的任務類別、質量、難度、相似性和響應質量。

生成指令的任務類別主要是信息檢索,佔比超過一半,也包括創意性寫作、尋求建議、規劃、數學、推理、頭腦風暴編輯等等,與人類用戶的主流需求基本一致。

指令的質量和難度同樣使用Llama-3-8B-Instruct模型進行自動評估。

可以看到兩個數據集中,大部分實例都被判定為平均水平及以上,MAGPIE-Pro的總體質量優於MAGPIE-Air。

數據集指令難度的分佈基本類似,超過60%集中在「簡單」級別,且Pro數據集比Air略具挑戰性。

通過計算指令相似度,可以從另一個側面評估多樣化程度。論文使用FAISS搜索每個文本嵌入的最近鄰居並計算二者間距離,來衡量相似程度。

響應質量方面,採用FsfairX-LLaMA3-RM-v0.1作為獎勵評估模型,同時以URIAL作為對比的基線模型。獎勵差異為正值表示質量較高,有利於指令微調過程。

圖5b可以看到,MAGPIE的數據分佈相比基線模型整體右移且峰值更低,表明整體上響應質量更好。

安全性

此外,在指令安全性方面,作者採用Llama-guard-2進行自動評估,發現MAGPIE的數據集絕大部分是安全的,但仍然包含了不到1%的有害指令或響應結果。

結果評估

這項研究最大的亮點之一在於高效的運行成本,以及完全自動化、無需任何人工干預的pipeline。

在創建3M MAGPIE-Air數據集時,用4塊A100 GPU運行1.55小時/50小時即可完成指令/響應的生成。生成1M MAGPIE-Pro數據集則分別需要3.5小時/150小時。

如果在雲服務器上運行,成本也非常可觀。每生成1k個實例花費為0.12美元或1.10美元,具體取決於是Air或Pro數據集。

為了真正體現MAGPIE方法的優勢,論文將數據集真正運用到基座模型的微調中,與官方發佈的微調版本進行對比。

作者選擇了ShareGPT、Evol Instruct等6個最先進的開源指令微調數據集作為基線。其中ShareGPT和WildChat由人類撰寫,Evol Instruct和UltraChat為合成數據集。

微調的基座模型包括Llama-3和Qwen-1.5,並選取AlpacaEval和Arena-Hard兩個廣泛採用的指標評估性能。

從兩個表格的詳細數據對比中可以發現,無論在哪個基座模型上,MAGPIE方法生成的數據集都有更高質量,優於所有的基線數據集,並且在絕大部分指標上優於官方發佈的微調模型。

在LLM的scaling law逐漸觸摸到數據牆時,這篇論文的方法為合成數據又打開了一扇希望之門。或許使用精心設計的算法與技巧,LLM合成數據能逐漸成為公開數據集的「中流砥柱」。

參考資料:

https://arxiv.org/abs/2406.08464