LLM對(duì)齊數(shù)據(jù)全自動(dòng)合成!UW華人博士生提出Magpie方法,Macbook Air即可運(yùn)行
數(shù)據(jù)對(duì)LLM訓(xùn)練而言是至關(guān)重要的存在,但我們的關(guān)注點(diǎn)往往放在訓(xùn)練和評(píng)估數(shù)據(jù),而會(huì)忽略微調(diào)數(shù)據(jù)。
比如Llama系列模型,雖然開放了權(quán)重(如Llama-3-Instruct),但微調(diào)數(shù)據(jù)集依舊是私有的。
LLM的成功有很大一部分取決于指令微調(diào)(instruction fine-tuning),這個(gè)過程能讓模型更好地泛化到訓(xùn)練過程中沒有接觸過的任務(wù)。
正如訓(xùn)練的有效性依賴于訓(xùn)練語料的質(zhì)量,指令微調(diào)的有效性也取決于能否獲得高質(zhì)量的指令數(shù)據(jù)集。
然而,相比于無標(biāo)注的自監(jiān)督訓(xùn)練語料,高質(zhì)量微調(diào)和對(duì)齊數(shù)據(jù)集更加難以構(gòu)建、擴(kuò)展,因?yàn)樾枰嗳斯?biāo)注,而且存在預(yù)先定義的提示范圍。
就連專門為AI科技巨頭提供數(shù)據(jù)的公司Scale AI,在目前階段都無法實(shí)現(xiàn)自動(dòng)化標(biāo)注,甚至得高薪聘請(qǐng)專業(yè)人士參與微調(diào)和對(duì)齊數(shù)據(jù)集的構(gòu)建。
Scale AI的CEO Alexandr Wang曾表示,LLM合成數(shù)據(jù)是一個(gè)很有前景的解決方案。
最近,華盛頓大學(xué)和研究機(jī)構(gòu)Allen AI聯(lián)合發(fā)表的一篇論文就專注于如何讓對(duì)齊過的LLM合成高質(zhì)量的微調(diào)數(shù)據(jù)。
論文地址:https://arxiv.org/abs/2406.08464
論文提出的方法實(shí)現(xiàn)了全流程的自動(dòng)化,不需要任何種子問題。更為驚艷的是,代碼不僅能在本地運(yùn)行,而且用LLM自動(dòng)生成了非常可靠的高質(zhì)量數(shù)據(jù)。
他們用Llama-3-8B的Base模型在自己生成的SFT數(shù)據(jù)集上微調(diào)后,得到了比官方微調(diào)版本Llama-3-Instruct性能更強(qiáng)的模型。
論文得到了AI圈大佬Sebastian Raschka的轉(zhuǎn)發(fā)背書。
起初,他也不相信這種方法真的能夠在MacBook Air上本地運(yùn)行,但親自嘗試后驚喜地發(fā)現(xiàn),真的可以。
Raschka是多本技術(shù)暢銷書的作者,包括《從頭開始構(gòu)建大語言模型》、《Python機(jī)器學(xué)習(xí)》等,他目前擔(dān)任Lightning AI的研究工程師。
論文的第一作者Zhangchen Xu是華盛頓大學(xué)網(wǎng)絡(luò)安全實(shí)驗(yàn)室的二年級(jí)博士生,師從Radha Poovendran教授,研究興趣是機(jī)器學(xué)習(xí)的安全性、隱私性和公平性,目前關(guān)注如何構(gòu)建可信LLM。
那就讓我們仔細(xì)探究一下,這種高效的數(shù)據(jù)合成方法究竟如何實(shí)現(xiàn)。
方法概述
典型的LLM輸入一般由3個(gè)部分組成:
- 查詢前模版(pre-query template)
- 查詢內(nèi)容(query)
- 查詢后模版(post-query template)
其中的兩個(gè)模版一般由模型開發(fā)者預(yù)先定義,以保證正確地提示模型。
比如Llama-2-chat的輸入形式就是:
[INST] Hi! [/INST]
在之前的研究中,通常有兩種方法構(gòu)建微調(diào)數(shù)據(jù)集。一是直接讓人類手動(dòng)制作,顯然既耗時(shí)間又耗資源。二是從少量人工注釋的種子指令開始,通過提示調(diào)用LLM以合成更多指令。
第二種方法雖然節(jié)省人力,但非常考驗(yàn)提示工程的水平,以及對(duì)初始種子問題的選擇。換言之,很難實(shí)現(xiàn)可控的大規(guī)模擴(kuò)展。
更為致命的問題是,合成的指令往往與種子指令十分接近,這會(huì)嚴(yán)重影響大規(guī)模數(shù)據(jù)集的多樣性。用可擴(kuò)展的方式,創(chuàng)建高質(zhì)量且多樣化的指令數(shù)據(jù)集,依舊是LLM領(lǐng)域具有挑戰(zhàn)性的問題。
但作者在早期實(shí)驗(yàn)中的有一個(gè)有趣的發(fā)現(xiàn):由于LLM的自回歸特性,只輸入查詢前模版時(shí),模型會(huì)自動(dòng)合成查詢,而且從內(nèi)容來看,似乎有不錯(cuò)的質(zhì)量和多樣性。這表明它能夠有效利用對(duì)齊過程中學(xué)習(xí)到的能力。
以此為啟發(fā),作者提出如下思路構(gòu)建指令數(shù)據(jù)集:使用查詢前模版作為提示,輸入給對(duì)齊過的LLM,自動(dòng)生成指令數(shù)據(jù)。
如下圖所示,每個(gè)指令數(shù)據(jù)實(shí)例包含一個(gè)或多個(gè)指令-響應(yīng)對(duì)(instructon-response pair),且會(huì)規(guī)定指令提供者(provider)與遵循者(follower)的角色。
圖1描述了整個(gè)數(shù)據(jù)自動(dòng)生成的pipeline,大體分為兩個(gè)步驟。
首先是指令生成。MAGPIE方法將查詢內(nèi)容構(gòu)建為LLM預(yù)定義指令模版的格式,但只包含指令提供者(如user),不包含具體的指令內(nèi)容。
以此作為LLM輸入,模型就會(huì)以自回歸的方式生成指令。由于不需要特定的提示工程技巧,也沒有使用任何種子問題,這個(gè)流程確保了生成指令的多樣性。
第二步驟中,MAGPIE將之前生成的指令再輸入給LLM,得到響應(yīng)內(nèi)容。
將以上兩個(gè)步驟進(jìn)行重復(fù)迭代,就能夠得到多輪的指令數(shù)據(jù)。如果想針對(duì)某個(gè)特定領(lǐng)域生成數(shù)據(jù),加上相應(yīng)的提示即可實(shí)現(xiàn)。
得到原始的生成結(jié)果后,作者還根據(jù)文本長度、任務(wù)類別、輸入質(zhì)量、輸入難度等指標(biāo)進(jìn)行了過濾。
論文分別使用Llama-3-8B-Instruct和Llama-3-70B-Instruct兩個(gè)模型,構(gòu)建了兩個(gè)數(shù)據(jù)集MAGPIE-Air和MAGPIE-Pro,并在附錄中給出了生成指令的示例:
可以看到,文本質(zhì)量的確不錯(cuò),完全可以與人類撰寫的指令水平相當(dāng)。
然而,想評(píng)估如此龐大規(guī)模數(shù)據(jù)的質(zhì)量不能只依靠主觀感受,于是作者對(duì)生成的指令數(shù)據(jù)集MAGPIE-Pro進(jìn)行了定量分析。
數(shù)據(jù)集分析
覆蓋度
要考量指令文本的多樣化程度,一個(gè)有效指標(biāo)是文本嵌入的在語義空間中的覆蓋范圍。
作者從MAGPIE-Pro中隨機(jī)采樣指令文本,編碼為嵌入向量并用t-SNE方法投影到二維空間,同時(shí)采用三個(gè)基線數(shù)據(jù)集作為對(duì)比,包括Alpaca、Evol Instruct和UltraChat。
下圖中的每個(gè)t-SNE投影點(diǎn)都代表隨機(jī)抽取的1萬條指令。可以看到,MAGPIE-Pro的投影基本將其他三個(gè)數(shù)據(jù)集的范圍囊括在內(nèi),這表明它提供了更廣泛、多樣化的主題。
指令屬性
論文使用Llama-3-8B-Instruct模型評(píng)估MAGPIE指令數(shù)據(jù)的各種屬性,比如指令的任務(wù)類別、質(zhì)量、難度、相似性和響應(yīng)質(zhì)量。
生成指令的任務(wù)類別主要是信息檢索,占比超過一半,也包括創(chuàng)意性寫作、尋求建議、規(guī)劃、數(shù)學(xué)、推理、頭腦風(fēng)暴編輯等等,與人類用戶的主流需求基本一致。
指令的質(zhì)量和難度同樣使用Llama-3-8B-Instruct模型進(jìn)行自動(dòng)評(píng)估。
可以看到兩個(gè)數(shù)據(jù)集中,大部分實(shí)例都被判定為平均水平及以上,MAGPIE-Pro的總體質(zhì)量優(yōu)于MAGPIE-Air。
數(shù)據(jù)集指令難度的分布基本類似,超過60%集中在「簡單」級(jí)別,且Pro數(shù)據(jù)集比Air略具挑戰(zhàn)性。
通過計(jì)算指令相似度,可以從另一個(gè)側(cè)面評(píng)估多樣化程度。論文使用FAISS搜索每個(gè)文本嵌入的最近鄰居并計(jì)算二者間距離,來衡量相似程度。
響應(yīng)質(zhì)量方面,采用FsfairX-LLaMA3-RM-v0.1作為獎(jiǎng)勵(lì)評(píng)估模型,同時(shí)以URIAL作為對(duì)比的基線模型。獎(jiǎng)勵(lì)差異為正值表示質(zhì)量較高,有利于指令微調(diào)過程。
圖5b可以看到,MAGPIE的數(shù)據(jù)分布相比基線模型整體右移且峰值更低,表明整體上響應(yīng)質(zhì)量更好。
安全性
此外,在指令安全性方面,作者采用Llama-guard-2進(jìn)行自動(dòng)評(píng)估,發(fā)現(xiàn)MAGPIE的數(shù)據(jù)集絕大部分是安全的,但仍然包含了不到1%的有害指令或響應(yīng)結(jié)果。
結(jié)果評(píng)估
這項(xiàng)研究最大的亮點(diǎn)之一在于高效的運(yùn)行成本,以及完全自動(dòng)化、無需任何人工干預(yù)的pipeline。
在創(chuàng)建3M MAGPIE-Air數(shù)據(jù)集時(shí),用4塊A100 GPU運(yùn)行1.55小時(shí)/50小時(shí)即可完成指令/響應(yīng)的生成。生成1M MAGPIE-Pro數(shù)據(jù)集則分別需要3.5小時(shí)/150小時(shí)。
如果在云服務(wù)器上運(yùn)行,成本也非常可觀。每生成1k個(gè)實(shí)例花費(fèi)為0.12美元或1.10美元,具體取決于是Air或Pro數(shù)據(jù)集。
為了真正體現(xiàn)MAGPIE方法的優(yōu)勢,論文將數(shù)據(jù)集真正運(yùn)用到基座模型的微調(diào)中,與官方發(fā)布的微調(diào)版本進(jìn)行對(duì)比。
作者選擇了ShareGPT、Evol Instruct等6個(gè)最先進(jìn)的開源指令微調(diào)數(shù)據(jù)集作為基線。其中ShareGPT和WildChat由人類撰寫,Evol Instruct和UltraChat為合成數(shù)據(jù)集。
微調(diào)的基座模型包括Llama-3和Qwen-1.5,并選取AlpacaEval和Arena-Hard兩個(gè)廣泛采用的指標(biāo)評(píng)估性能。
從兩個(gè)表格的詳細(xì)數(shù)據(jù)對(duì)比中可以發(fā)現(xiàn),無論在哪個(gè)基座模型上,MAGPIE方法生成的數(shù)據(jù)集都有更高質(zhì)量,優(yōu)于所有的基線數(shù)據(jù)集,并且在絕大部分指標(biāo)上優(yōu)于官方發(fā)布的微調(diào)模型。
在LLM的scaling law逐漸觸摸到數(shù)據(jù)墻時(shí),這篇論文的方法為合成數(shù)據(jù)又打開了一扇希望之門。或許使用精心設(shè)計(jì)的算法與技巧,LLM合成數(shù)據(jù)能逐漸成為公開數(shù)據(jù)集的「中流砥柱」。