LLM Agent中間插個隊,總結下指令微調、對齊數(shù)據相關的方案,已經湊夠7篇論文可以召喚神龍啦!論文都是以優(yōu)化指令樣本為核心,Data-Centric的觀點比較一致:指令微調也就是對齊階段的數(shù)據質量>>數(shù)量,少量+多樣+高質量的對齊數(shù)據,就能讓你快速擁有效果杠杠的模型。注意以上三者是充分必要關系,不是說數(shù)據越少越好,是三者的有機統(tǒng)一。
如果你對指令微調還不甚了解,建議先看看下解密Prompt系列4. 升級Instruction Tuning。
當前對指令微調部分的普遍認知有兩個思路
- 抽象派:把模型輸出和人類偏好進行對齊
- 務實派:賦予模型任務指令的理解和完成能力
兩個思路其實殊途同歸,重心落在任務+對齊,既基于用戶指令應該召回模型預訓練學習的哪些知識,以及把這些知識用什么樣的格式和風格進行輸出,類似于把預訓練學習的知識重新排列組合并輸出??梢灶惐忍綔yBert Finetune對向量空間的影響,只不過指令微調調整的高維空間更加細分多樣。
于是才有本章的討論,那我們構建質量更高,覆蓋范圍更廣的數(shù)據,是否比隨機造大量的指令數(shù)據效果要更好。畢竟你抖音刷1000條雜七雜八的中醫(yī)養(yǎng)生小知識,可能比不上精讀黃帝內經+神農本草不是~
LIMA
- 論文:LIMA: Less Is More for Alignment
- 要點:人工構建1K高質量樣本用于對齊,高質量主要指輸出的風格一致性,以及輸入的多樣性
LIMA是比較早提出Quality Over Quantity觀點的論文。論文提出一個假設是模型的知識和能力幾乎全部是預訓練階段注入的。而指令微調階段的對齊只是學習和人類交互的回答形式。因此一個輸入多樣,輸出形式一致的高質量指令數(shù)據集能幫模型快速學到回答形式。
指令數(shù)據集的構建方式是人工從Stack Exchange, wikiHow和Reddit里面分類篩選更高質量的問題和回答,來構建指令樣本集。我們具體說下Stack Exchange樣本的構建,其他兩個思路是一致的
- 分類采樣: 為了保證多樣性,把Stack的分成75個科學類別和99個其他類別,從每個類別中采樣200個問題
- 篩選:為了保證質量,在以上每個類別中篩選問題評分最高的,再篩選該問題中回答得分最高的
- 過濾:為了保證輸出的一致性,過濾太長(4096字符)/太短(1200字符)的回答,過濾以第一人稱回答,或者引用了其他回答的內容。以及對內容進行清洗只保留代碼和文本部分。
- 樣本構建:隨機使用問題的標題或者描述作為輸入,使用回答做為輸出。
除了使用已有的QA數(shù)據,幾位作者還人工構建了200條基于個人偏好隨機創(chuàng)建的prompt,以及編寫的回答,在回答編寫過程中核心是注意回答風格的一致性。重要的事情說三遍,一致性,一致性,一致性。論文反復強調一致的回答風格可以加速模型收斂。
論文使用的是65B的LLAMA模型,1000條樣本,微調了15個epoch,lr=1e-5, batch=32, max_seq_len =2048。最終是人工在驗證集打分上,選擇了5-10個epoch之間的checkpoint。
論文針對數(shù)據集的質量,數(shù)量和多樣性進行了消融實驗,如下圖
- 多樣性:相似質量和數(shù)量,輸入指令多樣性更高的stack exchange的效果優(yōu)于輸入相對單一的wikiHow數(shù)據集
- 質量:同等量級上過濾后質量更高的stack Exchange數(shù)據集微調的效果更好
- 數(shù)量:從質量過濾后單一的stack exchange中采樣更高量級的訓練樣本,并不能顯著帶來效果提升。之前公認的樣本數(shù)量越多越好,可能更多是數(shù)量提升帶來的指令多樣性提升。
當然論文選擇的樣本數(shù)本身并無非常大的參考意義,因為這個選擇的基座模型,模型大小,數(shù)據本身的多樣性都相關,所以需要具體模型具體分析。
ALPAGASUS
- 論文:AlpaGasus: Training A Better Alpaca with Fewer Data
- 代碼:https://lichang-chen.github.io/AlpaGasus/
- 數(shù)據: https://github.com/gururise/AlpacaDataCleaned/
- 要點:模型自動化篩選高質量指令微調樣本
論文起名終于從和動物糾纏不清,到開始上天入地,模型起名AlpaGasus=Alpaca+Pegasus,故名飛天羊駝,哈哈最近總會讓人不由自主想到飛天茅臺
對比LIMA,ALPAGASUS沒有對什么是高質量進行很明確的定義,但是提出了自動化樣本過濾的方案,成本更低,更簡單粗暴。從原始52K的ALPACA樣本中使用大模型自動篩選高質量的9K樣本進行模型微調。
論文在以下4個測試集上進行評估,使用GPT-4給原始Alpaca和飛天羊駝進行偏好打分,勝率如下,在不同量級的訓練樣本上,飛天羊駝以80%+的勝率超越Alpaca,當訓練樣本在9K左右的時候,勝率最高~
自動樣本過濾機制比較簡單,就是使用如下Prompt,讓Chatgpt給(instruction, input, response)的三元組樣本進行打分,并根據最終的打分分布,選定4.5分作為閾值,篩選打分>4.5的9K樣本用于下游模型微調。
論文還進行了消融實驗,對比了不同的篩選閾值得到的不同訓練樣本量的影響,3k/6k/9k中9K的樣本量級,模型效果最好,但超過后模型效果會有下降。延伸下大概就是高質量的數(shù)據越多越好,但低質量的數(shù)據越少越好。同時對比了隨機采樣9K作為作為對照組,效果是顯著差于使用模型打分篩選出的9K樣本。
自動化數(shù)據篩選看起來非常美好且夢幻,但筆者本人有一個疑問,論文使用chatgpt來篩選樣本,又用GPT4作為評估,是否會引入bias,這個bias主要來自chatgpt和gpt4相對一致的偏好。這一點除非引入人工評估,或者多個大模型例如Claude之類同時進行最終的評估打分,否則個人感覺可能出現(xiàn)媽媽看自己的孩子咋看都好看的情況......
LTD
- 論文:Maybe Only 0.5% Data is Needed: A Preliminary Exploration of Low Training Data Instruction Tuning
- 要點:聚類過濾相似度高的樣本,篩選多樣性樣本用于對齊
LTD的樣本篩選中心放在多樣性,在任務微調上只使用0.5%的訓練樣本,還比原有效果提升了2%。論文對多樣性給出了更形象的描述就是用最少的樣本,去近似刻畫當前全部指令集的空間分布。這么一描述,其實答案已經呼之欲出了,跑不了cluster,KNN,k-center這些方案,論文實現(xiàn)如下
具體分成3個步驟
- Sample embedding: 把指令樣向量化,這里論文是把指令+回答一同輸入BERT模型進行編碼,并且做了l2正則化,這樣后續(xù)聚類計算距離就可以直接使用cosine距離
- Clustering:作者使用K-Means對所有指令樣本進行聚類,不過個人更偏好aggolomerative clustering,畢竟k-means是密度聚類,而層次聚類是基于距離的,在文本聚類中距離是有明確含義的,可以更好保證不同cluster直接的粒度相對一致
- Corest Sampling:基于聚類結果選擇有代表性的樣本來構建指令集。我本以為論文會直接從每個cluster動進行隨機采樣,意料之外的是論文采用了貪心的K-center算法來選取更有代表性的數(shù)據點,算法如下。目標是找到K的中心點,使得所有點到距離最近的中心點的距離之和最小化。實現(xiàn)是先用聚類中心點作為起始中心點,遍歷所有其他點找到離所有起始點距離最遠的點,把這個點也加入中心點,然后多次重復以上過程。
除了以上介紹的論文之外,還有幾篇論文思想也或有相似,包括以下Reference中的文章來源:http://www.zghlxwxcb.cn/news/detail-711740.html
- InstructionGPT-4:把多樣性和質量進行綜合打分的多模態(tài)微調模型
- Instruction Minning: 使用指令評估集推理Loss來對指令數(shù)據進行高質量篩選的
- Polite Flamingo:通過改寫和重構構建高質量多模態(tài)模型輸出數(shù)據
- Textbooks:編程任務上構建教科書級別質量的預訓練數(shù)據,和對應的習題集數(shù)據用于微調效果顯著超越StarCoder
想看更全的大模型相關論文梳理·微調及預訓練數(shù)據和框架·AIGC應用,移步Github >> DecryPrompt文章來源地址http://www.zghlxwxcb.cn/news/detail-711740.html
Refernece
- InstructionGPT-4: A 200-Instruction Paradigm for Fine-Tuning MiniGPT-4
- Instruction Mining: High-Quality Instruction Data Selection for Large Language Models
- Visual Instruction Tuning with Polite Flamingo
- Textbooks are all you need
- K-center Greedy算法的論文,Active Learning for Convolutional Neural Networks: A Core-Set Approach
到了這里,關于解密Prompt系列16. LLM對齊經驗之數(shù)據越少越好?LTD & LIMA & AlpaGasus的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!