一、概述
1 Motivation
構(gòu)造instruction data非常耗時(shí)耗力,常受限于質(zhì)量,多樣性,創(chuàng)造性,阻礙了instruction-tuned模型的發(fā)展。
背景:instruction-tuned方法是指利用非常多的指令數(shù)據(jù)【人類(lèi)instructions指令和respond回答數(shù)據(jù)】去finetuned LLM模型,讓模型能夠理解人類(lèi)指令,訓(xùn)練后使其對(duì)新的任務(wù)有非常強(qiáng)的zero-shot能力。
2 Methods
方法概述:本文提出self-instruct框架,通過(guò)bootstrapping off方法讓原始的LM模型直接生成instruction數(shù)據(jù),通過(guò)過(guò)濾和篩選后,產(chǎn)生大量的insturction指令數(shù)據(jù)(多樣性和效果都不錯(cuò)),進(jìn)而可以極大降低instruction數(shù)據(jù)的構(gòu)建成本。
方法步驟總結(jié):通過(guò)少量種子數(shù)據(jù) + LM模型本身(未經(jīng)過(guò)tuned模型)=> 生成instruction(指令)+ input(指令提到的輸入,可以為空)+ output(響應(yīng)輸出)=> 然后filters過(guò)濾無(wú)效和相似的樣本 => 來(lái)構(gòu)造非常多的instruction指令遵循數(shù)據(jù),詳細(xì)步驟如下:
2.1 Defining Instruction Data
Instruction:指令
X:根據(jù)instruction,X可能為空或者不為空。例如:輸入X為空的Instruction:write an essay about school safety,輸入不為空的Instruction:write an essay about the following topic
Y:答案,只根據(jù)X或者Instruction理想的response回答
2.2 Automatic Instruction Data Generation
Instruction Generation:使用175個(gè)種子數(shù)據(jù)來(lái)生成新的Instruction,每一步采用8-few-shot的策略,其中6個(gè)是人類(lèi)寫(xiě)的,2個(gè)是機(jī)器生成的。
Classification Task Identification:利用LM采用few-shot的方式來(lái)預(yù)測(cè)1中生成的instructions是否為分類(lèi)任務(wù),采用12個(gè)分類(lèi)任務(wù),19個(gè)非分類(lèi)任務(wù)作為few-shot的例子。
2.3 Instance Generation:采用兩種方法來(lái)生成實(shí)例X和Y
輸入優(yōu)先方法(Input-first Approach),首先根據(jù)說(shuō)明提出輸入字段X,然后產(chǎn)生相應(yīng)的輸出Y,這里task就是input X,output就是輸出Y,也是通過(guò)in-context learning來(lái)做的,主要處理非分類(lèi)的實(shí)例生成。
分類(lèi)任務(wù)的輸出優(yōu)先方法(Output-first Approach),先生成可能的類(lèi)標(biāo)簽,然后生成對(duì)應(yīng)句子【這么做是為了控制正負(fù)樣本比例】
2.4Filtering and Postprocessing
過(guò)濾相似度比較高的,和已有的樣本ROUGE-L小于0.7的才要
過(guò)濾image,picture,graph通常LLM無(wú)法處理的詞
過(guò)濾instruction相同但是answer不同的
過(guò)濾太長(zhǎng)或者太短
2.5FineTuning
采用多個(gè)templates模版,來(lái)encode instruction和instance進(jìn)行訓(xùn)練,提升不同格式的魯棒性。
3 Conclusion
比原始的GPT-3模型,絕對(duì)提升了33%,并且達(dá)到了差不多追上InstructGPT001的效果。就算利用公開(kāi)的instruct數(shù)據(jù),也有不錯(cuò)的提升。
總結(jié):
就用了175個(gè)原始種子數(shù)據(jù),利用GPT3接口finetuned模型,比原始的GPT3高了33個(gè)點(diǎn),并且居然和InstructGPT001效果差不太多了。
有了充分的訓(xùn)練數(shù)據(jù),在SUPERNI數(shù)據(jù)集(其更偏向于研究領(lǐng)域任務(wù),與人類(lèi)的Instruction的分布還是有差異,后續(xù)也針對(duì)真實(shí)的人類(lèi)Instruction分布做了實(shí)驗(yàn))上訓(xùn)練,用了本文提出的self-instruct還是有2個(gè)點(diǎn)的提升。
self-instruct提供了一個(gè)不用大量標(biāo)注就能讓原始的LM(未經(jīng)過(guò)指令學(xué)習(xí)的模型)學(xué)習(xí)理解人類(lèi)指令的解決方案,極大地降低指令數(shù)據(jù)的生成和標(biāo)注成本。
本文發(fā)布了大規(guī)模的synthetic數(shù)據(jù)集,方便后續(xù)大家進(jìn)行instruction tuning的研究。
4 limitation
長(zhǎng)尾效應(yīng)還比較嚴(yán)重:self-instruct依賴(lài)于LMs生成數(shù)據(jù),會(huì)繼承LM的缺陷,偏向于出現(xiàn)頻率高的詞。在常見(jiàn)的指令上效果可能不錯(cuò),在長(zhǎng)尾樣本上可能效果比較差。
依賴(lài)大模型:依賴(lài)大模型的歸納偏差(inductive biases),可能只在大模型上效果比較好,由于大模型資源要求比較大,這也限制了小模型的使用。
可能會(huì)增強(qiáng)LM的偏見(jiàn):可能會(huì)放大social bias,例如模型可能無(wú)法產(chǎn)生比較balanced的label。
二、詳細(xì)內(nèi)容
1 評(píng)估本文self-instruct在用戶(hù)實(shí)際需求的Instructions上是否有效果
背景:SUPERNI數(shù)據(jù)更偏向于研究任務(wù),這里通過(guò)頭腦風(fēng)暴構(gòu)造了一些更偏向用戶(hù)實(shí)際需求的Instructions,來(lái)檢驗(yàn)self-instruct的效果,還是和InstructGPT系列來(lái)比較
結(jié)論:效果也基本接近InstructGPT001,說(shuō)明了其有效性,這里只使用了252個(gè)種子數(shù)據(jù),也可以極大地降低Instruction構(gòu)建的成本。
2 評(píng)估使用本文self-instruct方法擴(kuò)充的Instruction是否真的有用
方法:從Instruction數(shù)量、回復(fù)response質(zhì)量?jī)蓚€(gè)角度來(lái)進(jìn)行試驗(yàn),其中response質(zhì)量對(duì)比是通過(guò)蒸餾更好模型的response來(lái)做的實(shí)驗(yàn)。
實(shí)驗(yàn)1:評(píng)估擴(kuò)充的訓(xùn)練數(shù)據(jù)量級(jí)對(duì)效果的影響
方法:從最開(kāi)始的175個(gè)種子數(shù)據(jù),逐步增加數(shù)據(jù)量,評(píng)估效果。
結(jié)論:大概訓(xùn)練數(shù)據(jù)在16K左右,效果就比較平了,帶來(lái)的提升沒(méi)那么大了。
實(shí)驗(yàn)2:評(píng)估生成的response的質(zhì)量對(duì)效果的影響(從更好的模型InstructGPT蒸餾得到更好的response)
結(jié)論:44.4%提升到54.4%,說(shuō)明更好的回復(fù)質(zhì)量對(duì)模型的提升也是巨大的。
3 生成的數(shù)據(jù)量級(jí)
訓(xùn)練GPT3的數(shù)據(jù)量級(jí):52k個(gè)Instruction數(shù)據(jù),82k個(gè)實(shí)例。
4 生成的數(shù)據(jù)的多樣性
評(píng)估方法1:挑選top20最常見(jiàn)的動(dòng)詞,然后畫(huà)出其top4的直接noun object分布,衡量整體的數(shù)據(jù)分布。
評(píng)估方法2:畫(huà)出與種子數(shù)據(jù)中,最相近文本的Rouge-L的分布,衡量與種子數(shù)據(jù)的分布差異。
結(jié)論:發(fā)現(xiàn)多樣性還不錯(cuò),這也是生成的數(shù)據(jù)能讓模型學(xué)會(huì)通用的指令遵循的原因之一。
5 生成數(shù)據(jù)的質(zhì)量
統(tǒng)計(jì)指標(biāo):隨機(jī)挑選200個(gè)指令,每個(gè)指令隨機(jī)挑選一個(gè)實(shí)例來(lái)標(biāo)注
指令有效率:92%
input與指令一致:79%
output正確(能很好地響應(yīng)Instruction和input的要求):58%
各個(gè)場(chǎng)景都有效:54%
總結(jié):盡管生成的數(shù)據(jù)還是包含誤差,但是大多數(shù)還是正確的,可以提供有用的指導(dǎo),讓模型能學(xué)會(huì)遵循人類(lèi)指令。
三、個(gè)人總結(jié)
相當(dāng)于驗(yàn)證了少量種子數(shù)據(jù) + 原始預(yù)訓(xùn)練模型 => 生成大批量 多樣性 + 質(zhì)量還不錯(cuò)的 指令數(shù)據(jù)的可行性 => 好處是可以極大降低指令遵循數(shù)據(jù)集構(gòu)建的成本。
這篇文章解釋了為什么大模型能聽(tīng)懂人類(lèi)指令的困惑,可以看出,原始的GPT-3模型學(xué)習(xí)了非常多的知識(shí),但是人類(lèi)指令遵循的能力非常非常差,通過(guò)self-instruct構(gòu)造大量的多樣、高質(zhì)量的指令數(shù)據(jù)和答案,模型就開(kāi)始能聽(tīng)懂指令,理解這個(gè)指令的具體含義,并給出人類(lèi)期望的respond響應(yīng)。其中指令的【多樣性】和回復(fù)的【質(zhì)量】是非常關(guān)鍵的兩個(gè)因素。
對(duì)于如何對(duì)齊人類(lèi)的價(jià)值觀:可以參考復(fù)旦moss模型【參考資源1】,也是構(gòu)造了非常多的對(duì)人類(lèi)無(wú)害的種子數(shù)據(jù),然后利用模型生成非常多的指令遵循數(shù)據(jù),讓模型盡可能的生成無(wú)害的結(jié)果,從另一個(gè)角度看,如果不法分子誘導(dǎo)模型去生成暴力傾向等不符合人類(lèi)期望的答案,那么可能會(huì)訓(xùn)練出毒性非常大的模型,這也是非??植赖模y怪微軟的文章說(shuō)原始的gpt-3.5系列可能具備更強(qiáng)的能力,說(shuō)明OpenAI在這方面做了非常強(qiáng)的約束。也難怪OpenAI強(qiáng)烈建議對(duì)大模型進(jìn)行監(jiān)管。
-
機(jī)器
+關(guān)注
關(guān)注
0文章
780瀏覽量
40711 -
模型
+關(guān)注
關(guān)注
1文章
3226瀏覽量
48807 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1208瀏覽量
24689
原文標(biāo)題:ACL2023 | 大模型如何快速構(gòu)建指令遵循數(shù)據(jù)集?Self-Instruct:只需175條種子數(shù)據(jù)追上InstructGPT
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論