本文共3600字,建議閱讀10分鐘
SCAR 方法在大語言模型指令微調領域取得了重要突破。
一、總覽
這是 RMIT 大學、新南威爾士大學和莫納什大學聯合發表的論文。這篇論文提出了一種新的數據選擇方法 SCAR(Style Consistency-Aware Response Ranking),旨在通過選擇具有風格一致性的高質量訓練數據來提高大語言模型指令微調的效率。
當前大語言模型的指令微調通常需要大量的訓練數據,但這些數據往往存在風格不一致的問題,導致訓練效率低下。如果全量數據中回答的風格不一致,SCAR 通過識別和選擇風格一致的指令-回答對,能夠在顯著減少訓練數據量的同時,達到甚至超越全量數據訓練的效果。
實驗結果表明,使用 SCAR 選擇的數據進行微調,最好情況下僅用 0.7% 的原始數據就能匹配或超越使用全量數據訓練的模型性能。
在代碼生成任務上,使用 SCAR 選擇的風格一致數據訓練的 LLM 在 HumanEval 基準上取得了顯著的性能提升,遠超使用風格不一致數據訓練的模型。在開放域問答任務中,僅使用 25% 的精選數據就能超越全量風格不一致數據的訓練效果。
▲ 圖1:不同回答類型在風格一致性維度的對比分析。左圖展示了不同類型回答在 Linguistic Form 特徵空間中的分布,右圖為 Instructional Surprisal 的密度分布。Direct 表示由 GPT-3.5-Turbo 直接生成的回答,Referenced 表示 GPT-3.5-Turbo 在保留人類回答語義的基礎上重新生成的回答。結果顯示,直接生成的回答在風格上更加一致。
我們還開發了一個開源工具包,支持研究者便捷地應用 SCAR 方法進行數據選擇和模型訓練。該工具包提供了完整的數據選擇流程,包括風格一致性評估、數據排序和子集選擇等功能。
論文標題:
SCAR: Data Selection via Style Consistency-Aware Response Ranking for Efficient Instruction-Tuning of Large Language Models
論文鏈接:
https://arxiv.org/abs/2406.10882
數據和代碼鏈接:
https://github.com/zhuang-li/SCAR
二、文章主要貢獻
風格一致性理論框架:首次系統性地分析了訓練數據中的風格一致性對大語言模型指令微調性能的影響,識別出 Linguistic Form 和 Instructional Surprisal 兩個關鍵風格要素。
SCAR 數據選擇方法:提出了一種基於風格一致性感知的數據排序方法,能夠自動從大規模數據集中選擇高質量、風格一致的訓練樣本。該方法在代碼生成和開放域問答兩個領域都取得了顯著效果提升。
極致的數據效率: 實驗證明,使用 SCAR 選擇的數據進行訓練,可以在僅使用 0.7%-25% 原始數據的情況下,達到或超越全量數據訓練的性能。在某些情況下,精選的小數據集訓練出的模型甚至比全量數據訓練的模型表現更好。
跨域泛化能力:SCAR 方法展現出良好的跨域泛化能力,在代碼域訓練的排序器可以有效選擇開放域的數據,為實際應用提供了靈活性。
三、問題描述
當前大語言模型指令微調面臨的主要挑戰是數據質量和一致性問題:
風格不一致性:現有的指令微調數據集通常由多個來源組合而成,包括人工標註數據和不同模型生成的合成數據。這些數據在語言形式、回答風格等方面存在顯著差異,導致模型訓練效率低下。
數據質量參差不齊:大規模數據集中往往包含大量低質量樣本,這些樣本不僅不能提升模型性能,反而可能引入雜訊,影響模型的最終效果。訓練成本高昂:使用全量數據進行訓練需要大量的計算資源和時間成本,特別是對於個人研究者和小型團隊來說,這種成本往往難以承受。
缺乏有效的數據選擇策略:現有的數據選擇方法大多基於簡單的啟發式規則或單一指標,缺乏對數據內在風格特徵的深入理解,難以選出真正有價值的訓練樣本。
這些問題導致大語言模型的指令微調效率低下,訓練成本居高不下,限制了該技術的普及和應用。
四、方法
風格要素識別:
- Linguistic Form:包括句子結構、標點符號使用、布局特徵(如項目符號、標題)等表面語言特徵
- Instructional Surprisal:衡量回答相對於給定指令的可預測性,通過困惑度和語義相關性進行量化
我們發現在如果數據的質量在用一等級,但是數據中回答的兩種風格元素一致性更高的話,這個數據用來微調大模型會得到更好地效果。同時我們發現大語言模型生成的數據往往在風格上更一致,導致大語言模型生成的數據在質量跟人工數據相差無極的情況下能微調更好地模型。
基於這個發現,我們構造訓練數據,包含人工回答,人工-大模型協同生成的回答,純大模型生成的回答,訓練了一個排序器給予跟語言模型回答相似的數據更高的分數。
SCAR 排序器架構:
使用神經網路構建排序函數,該函數能夠為指令-回答對分配風格一致性分數。排序器通過以下組件實現:
- 風格特徵的學習模塊,從回答中抽取兩個風格要素的特徵 Linguistic Form 和 Instructional Surprisal。
- 質量約束機制,確保選擇的數據既具有風格一致性又保持高質量。
- 三元組損失訓練,優化風格特徵的學習效果。
數據選擇流程:
1. 訓練 SCAR 排序器學習風格一致性模式
2. 對目標數據集進行排序和篩選
3. 選擇得分最高的 k% 樣本用於模型微調
五、實驗和評估
我們設計了兩個風格不一致的數據場景來驗證 SCAR 的有效性:一是包含多個來源的人工標註數據,二是混合了不同 LLM 生成的合成數據。這些場景模擬了實際應用中常見的風格不一致問題。
1. 代碼生成任務評估:在 HumanEval 和 MultiPL-E 基準上評估了 CodeLlama-7B 模型。結果顯示,使用 SCAR 選擇的 25% 數據訓練的模型,在平均 Pass@1 指標上超越了使用全量數據訓練的模型。具體而言,模型在 Python、Java、JavaScript 和 C++ 四種編程語言上都取得了顯著提升。
2. 開放域問答評估:在 AlpacaEval 基準上評估了 Meta-Llama-3-8B 模型。使用 SCAR 選擇的 10% 數據就能達到全量數據的性能水平,而在某些配置下,小數據集訓練的模型 L.C. WinRate 甚至達到了 6.61,遠超全量數據訓練的 3.86。
▲ 圖2:SCAR 與其他數據選擇方法的性能對比。在代碼生成和開放域問答任務中,SCAR 始終保持領先優勢,特別是在小數據集場景下表現尤為突出。
3. 開源模型驗證:在 OLMo-7B 和 StarCoder-15.5B 等開源了全量數據的模型上的實驗進一步驗證了 SCAR 的有效性。這兩個模型所使用的原始數據都有風格不一致的特點。我們用 SCAR 篩選這些開源的全量數據,重新微調基座模型來比對全量數據和子集數據對大模型微調的影響。
特別是在 OLMo-7B 的實驗中,使用僅 0.7% 原始數據的 SCAR 篩選的子集在部分基準測試上超過了官方全量訓練模型的表現;而在 StarCoder-15.5B 上,SCAR篩選的數據子集在 HumanEval 和 MultiPL-E 等基準上的平均表現提升了2–4個百分點。
▲ 表1:開源模型驗證結果。SCAR 選擇的小規模數據集訓練出的模型超越了官方全量數據訓練的版本,證明了方法的突破性價值。
4. 風格一致性分析:通過多種指標分析驗證了 SCAR 選擇數據的風格一致性。結果表明,選擇的數據的回答在 TTR、MTLD 和困惑度等指標的標準差顯著降低,證明了方法有效的選擇了風格一致的回答。
5. 消融實驗:為了驗證 SCAR 各個組件的重要性,我們進行了詳細的消融實驗。結果表明,風格表示學習、質量約束和參考回答等組件都對最終性能有重要貢獻。
六、結論
SCAR 方法在大語言模型指令微調領域取得了重要突破。通過引入風格一致性的概念和相應的數據選擇技術,該方法顯著提升了訓練效率,在大幅減少數據需求的同時提升了模型性能。
實驗結果證明,精心選擇的小規模的風格一致的數據集往往比大規模但風格參差不齊的數據集更有效。這一發現對於資源受限的研究環境和實際應用場景具有重要意義,為大語言模型的經濟高效訓練提供了新的路徑。
SCAR 方法的跨域泛化能力和工具包的開源發布,為研究社區提供了實用的數據選擇解決方案,有望推動大語言模型訓練技術的進一步發展和普及。