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

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

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

評論