大模型場景微調(diào)里面,最關(guān)鍵地的一個是問題是:
選擇什么樣的數(shù)據(jù)微調(diào)?
大的方向上大家都能把握,大概無非是要注意數(shù)據(jù)的多樣性,要注意數(shù)據(jù)的質(zhì)量,那在實踐中有哪些技巧呢?
比如我們會經(jīng)常遇到下面幾種情況:
1.數(shù)據(jù)要不要都去標注,標的比較慢咋辦?
2.我已經(jīng)有一批標好的數(shù)據(jù)了,再去選哪些數(shù)據(jù)送標注比較好?
3.能不能總結(jié)出一套數(shù)據(jù)構(gòu)造方面自動化的方法?
其實在大模型之前,就有很多人研究過這樣的問題。在做一個模型時候,比如簡單的文本分類,我不可能一股腦把所有數(shù)據(jù)都扔給標注,這樣干存在一個問題,一般情況下我們數(shù)據(jù)的分布都是符合一個長尾分布的。主要的幾個類別數(shù)據(jù)占據(jù)了90%的數(shù)據(jù)量,剩下的90%的類別只有10%的數(shù)據(jù)量。
比如小紅書上,query的意圖識別里,美食,穿搭,旅游攻略類非常多,但是還有一些同學(xué)去搜大模型微調(diào)的數(shù)據(jù)技巧。
如果說我們直接采樣一批線上的圖文文本,直接送給標注的話,會存在一個嚴重的問題:他們標注的數(shù)據(jù)大部分都是攻略類,技術(shù)類比較少,標了3個月才攢了幾千條大模型技術(shù)文本,但是攻略類已經(jīng)成幾萬了。
這樣搞肯定是不行的,人力成本方面的消耗是在是太大了,并且模型因為數(shù)據(jù)平衡的問題也沒有特別好,我們有沒有辦法去優(yōu)化這個過程呢?
在大模型微調(diào)里面對應(yīng)的生成小紅書文案場景,同樣的問題也是爬來的數(shù)據(jù)就可以直接用嗎?
大家都有個直觀的答案,就是去重,那我們再考慮模型上數(shù)據(jù)的迭代呢?如果數(shù)據(jù)是分階段爬去的怎么辦?已經(jīng)有一批人工處理的的高質(zhì)量數(shù)據(jù)怎么辦?
但其實從監(jiān)督學(xué)習(xí)的演進來看,這套東西其實已經(jīng)被研究的很多了,用一個技術(shù)名詞叫 “主動學(xué)習(xí)”。
主動學(xué)習(xí)有兩個基本原則,在監(jiān)督訓(xùn)練的時候,注意主動發(fā)現(xiàn)數(shù)據(jù)的兩個方面,一個是數(shù)據(jù)多樣性,另外一個是數(shù)據(jù)的不確定性。這樣講是比較抽象的概念,那我們在大模型實踐中如何體現(xiàn)呢?
第一,數(shù)據(jù)的多樣性。
多樣性即為數(shù)據(jù)的去重,去重這件事的核心是相似度度量,現(xiàn)在的相似度度量方法大家用的比較多的是基于對比學(xué)習(xí)構(gòu)造的語義向量這套思路,當(dāng)然簡單的基于詞袋或者tfidf的方案也是可以的。有了核心的相似度度量方法后,我們可以使用簡單的onepass聚類方法進行過濾,考慮復(fù)雜一點的話,我們可以使用帶優(yōu)化目標的聚類:比如K-Center-Greedy算法,其約束條件是在最大化多樣性的情況下,使指令數(shù)據(jù)集最小。
另外,如果我們已經(jīng)有了一批已經(jīng)去重的人工處理過的高質(zhì)量數(shù)據(jù),那么我們?nèi)绾螌ふ遗c這批數(shù)據(jù)不一樣的數(shù)據(jù)呢?
這里有一個非常簡單實用的方案,并且這個方案可以用在很多其他的地方。
我們簡單地把已有的數(shù)據(jù)全部當(dāng)成正樣本打上1,然后待篩選的數(shù)據(jù)全部當(dāng)成負樣本打上0,我們使用deberta等構(gòu)建二分類模型,并進行K-fold的交叉驗證,在交叉驗證過程中,選出每一個fold過程中的測試集合里概率接近于0的樣本。
通過這樣的操作,就能把長得與已有數(shù)據(jù)不一樣的數(shù)據(jù)給選出來了,并且這個過程是半監(jiān)督的。
這套方案也可以用在很多其他地方,比如數(shù)據(jù)質(zhì)量選擇,只要我們有一批已經(jīng)確定標簽/結(jié)果/標注的種子數(shù)據(jù),就能通過這樣的方法選出與種子數(shù)據(jù)長得比較像的,長得不像的。
第二,數(shù)據(jù)的不確定性。
數(shù)據(jù)的不確定性主要體現(xiàn)數(shù)據(jù)的質(zhì)量篩選上,選取模型學(xué)的不那好的數(shù)據(jù),模型沒有把握的數(shù)據(jù)。
最簡單的,我們可以選出模型對應(yīng)PPL值比較差的那批數(shù)據(jù)。如果是指令數(shù)據(jù)的話,比如大模型做題和對應(yīng)的答案。我們可以把所有選項對應(yīng)的概率之和計算出來,然后過濾出概率和比較低的那一批數(shù)據(jù),這批數(shù)據(jù)就是模型“不太肯定”的樣本,我們需要加強針對性的訓(xùn)練。
當(dāng)然這樣可能有一個副作用,就是這批數(shù)據(jù)是質(zhì)量比較差而不是模型學(xué)的不太好的。
為此,我們還要借助reward model,這個reward model是廣義的,他是一個質(zhì)量的二分類模型??梢约莱鑫覀兊膁eberta,繼續(xù)用標注數(shù)據(jù)進行做二分類,進行數(shù)據(jù)質(zhì)量的判斷。
有了質(zhì)量打分模型后,我們就可以判斷一些指令數(shù)據(jù)的質(zhì)量高低,并且據(jù)此選出模型真正不確定的數(shù)據(jù)。
這個過程類似于手動的拒絕采樣,核心是選擇“模型不確定”+“數(shù)據(jù)質(zhì)量達標”的那部分數(shù)據(jù)。
總結(jié)一下,監(jiān)督學(xué)習(xí)中主動學(xué)習(xí)的兩個基本原則是尋找多樣性的數(shù)據(jù),模型不確定性的數(shù)據(jù),在尋找的過程中,我們使用了一些小技巧,比如聚類去重,對抗半監(jiān)督過濾,自建reward二分類等方法。這幾個小技巧,學(xué)術(shù)上沒有什么高深莫測的東西,都是實踐中總結(jié)出來的好用的方法。
并且你把上面的過程串聯(lián)起來,其實就是一套高效率,低成本的數(shù)據(jù)構(gòu)造pipeline了,不僅可以用在大模型的數(shù)據(jù)選擇和構(gòu)造,在所有的監(jiān)督學(xué)習(xí)上,這套思路和方法都是實適用的。
審核編輯:黃飛
-
半監(jiān)督學(xué)習(xí)
+關(guān)注
關(guān)注
0文章
20瀏覽量
2607 -
大模型
+關(guān)注
關(guān)注
2文章
3020瀏覽量
3809
原文標題:大模型微調(diào)數(shù)據(jù)選擇和構(gòu)造技巧
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
使用OpenVINO?訓(xùn)練擴展對水平文本檢測模型進行微調(diào),收到錯誤信息是怎么回事?
了解DeepSeek-V3 和 DeepSeek-R1兩個大模型的不同定位和應(yīng)用選擇
【「基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化」閱讀體驗】+大模型微調(diào)技術(shù)解讀
英偉達推出基石世界模型Cosmos,解決智駕與機器人具身智能訓(xùn)練數(shù)據(jù)問題

【「大模型啟示錄」閱讀體驗】如何在客服領(lǐng)域應(yīng)用大模型
名單公布!【書籍評測活動NO.52】基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化
一種信息引導(dǎo)的量化后LLM微調(diào)新算法IR-QLoRA

大語言模型如何開發(fā)
常見AI大模型的比較與選擇指南
使用AI大模型進行數(shù)據(jù)分析的技巧
NVIDIA助力提供多樣、靈活的模型選擇
chatglm2-6b在P40上做LORA微調(diào)

評論