AI算法 | 訓練數據的數量、質量及語言分布等因素對中文大模型性能的影響
已有LLM研究探索了訓練數據對模型性能的影響,但這些研究大多集中在英文模型上,對于中文模型的研究相對較少。今天來看一篇來自貝殼的研究團隊在2023年的一篇工作——《Towards Better Instruction Following Language Models for Chinese: Investigating the Impact of Training Data and Evaluation》。
這篇工作的核心目標是提升中文指令跟隨語言模型的性能。具體來說,本文關注如何通過優化訓練數據的數量、質量、語言分布等因素,以及改進評估方法,來提高開源語言模型在中文任務中的表現。
直接來看實驗結果:
詞匯擴展的影響
由于LLaMA的詞表構建未針對中文進行優化,一個中文字符通常會被拆分為2-3個字節token,這嚴重影響了模型在中文數據上的微調和推理速度。為解決這個問題,本文基于字節對編碼(BPE)算法,使用sentencepiece在1200萬行中文文本上訓練了一個新的分詞器,并將其詞表大小設為50K。然后將訓練得到的新詞表與原始LLaMA詞表進行合并,最終得到一個包含79,458個token的新詞表。
在相同訓練數據(中文Alpaca-3.5&4 + ShareGPT)條件下:
- 基于LLaMA-EXT微調的模型得分為0.670
- 基于原始LLaMA微調的模型得分為0.652
結果表明:通過中文語料二次預訓練擴展詞匯表,顯著提升了模型的中文理解能力。這得益于34億中文詞語的持續預訓練增強了LLaMA的中文語言表征。
數據質量的影響
由于 ChatGPT 傾向于生成重復性較高的對話場景(如天氣查詢、機票預訂等),因此,通過人工設計首輪對話提示來引導其生成更豐富的內容。首輪對話提示的目的是確定對話的主題和方向,從而讓 ChatGPT 在后續輪次中能夠生成與主題相關的對話內容。
在首輪對話提示的基礎上,ChatGPT 繼續生成多輪對話,模擬用戶與 AI 助手之間的交互。通過這種方式,可以生成涵蓋多種場景和主題的多輪對話數據。
使用LLaMA-EXT模型時:
- 采用GPT-4生成數據(Alpaca-4-zh)訓練的模型得分為0.693
- 采用text-davinci-003生成數據(Alpaca-3.5-zh)訓練的模型得分為0.642
證明:GPT-4生成的高質量訓練數據能更有效提升模型性能,數據質量對模型表現具有決定性影響。
語言分布的影響
對比不同語言訓練數據的效果:
- 純中文數據(zh)訓練的模型得分為0.679
- 純英文數據(en)訓練的模型得分為0.659
- 中英混合數據(en+少量ShareGPT中文)得分為0.668
關鍵發現:
① 中文數據在中文測試場景中具有優勢
② 模型的多語言能力可以實現跨語言知識遷移
③ 少量中文數據即可顯著提升英文模型的本地化表現
數據量的影響
增加訓練數據規模:
- 基礎數據量(Alpaca+ShareGPT)得分為0.670
- 增加Belle-3.5數據后得分提升至0.762
表明:數據量在訓練數據量方面,數據量的增加已被證明可以顯著提高性能。擴大高質量訓練數據規模能持續提升模型性能。但值得注意的是,如此巨大的改進可能部分來自belle-3.5和評估數據之間的相似分布。評估數據的類別、主題和復雜性將對評估結果產生很大影響。
與ChatGPT的差距
- 本文的最佳模型得分為0.762
- ChatGPT得分為0.824
技術報告證明中文大模型的訓練是可行的,雖然與ChatGPT還有差距。這里需要指出后續RLHF也很重要。
總結
① 詞匯擴展和中文預訓練是提升中文性能的基礎
② 數據質量比數量更重要
③ 多語言模型具有跨語言遷移能力
④ 構建均衡全面的評估集是準確衡量進展的關鍵