前言:大型語言模型(LLMs)的發展歷程可以說是非常長,從早期的GPT模型一路走到了今天這些複雜的、公開權重的大型語言模型。最初,LLM的訓練過程只關注預訓練,但後來逐步擴充套件到了包括預訓練和後訓練在內的完整流程。後訓練通常涵蓋監督指導微調和對齊過程,而這些在ChatGPT的推廣下變得廣為人知。
自ChatGPT首次釋出以來,訓練方法學也在不斷進化。在這幾期的文章中,我將回顧近1年中在預訓練和後訓練方法學上的最新進展。
關於LLM開發與訓練流程的概覽,特別關注本文中討論的新型預訓練與後訓練方法
每個月都有數百篇關於LLM的新論文提出各種新技術和新方法。然而,要真正瞭解哪些方法在實踐中效果更好,一個非常有效的方式就是看看最近最先進模型的預訓練和後訓練流程。幸運的是,在近1年中,已經有四個重要的新型LLM釋出,並且都附帶了相對詳細的技術報告。
在本文中,我將重點介紹以下模型中的Qwen 2預訓練和後訓練流程:
• 阿里巴巴的 Qwen 2
• 蘋果的 智慧基礎語言模型
• 谷歌的 Gemma 2
• Meta AI 的 Llama 3.1
我會完整的介紹列表中的全部模型,但介紹順序是基於它們各自的技術論文在arXiv.org上的發表日期,這也巧合地與它們的字母順序一致。
1. 阿里的 Qwen 2
我們先來說說 Qwen 2,這是一個非常強大的 LLM 模型家族,與其他主流的大型語言模型具有競爭力。不過,不知為何,它的知名度不如 Meta AI、微軟和谷歌那些公開權重的模型那麼高。
1.1 Qwen 2 概覽
在深入探討 Qwen 2 技術報告中提到的預訓練和後訓練方法之前,我們先簡單總結一下它的一些核心規格。
Qwen 2 系列模型共有 5 種版本,包括 4 個常規(密集型)的 LLM,分別為 5 億、15 億、70 億和 720 億引數。此外,還有一個專家混合模型(Mixture-of-Experts),引數量為 570 億,但每次僅啟用 140 億引數。(由於這次不重點討論模型架構細節,我就不深入講解專家混合模型了,不過簡單來說,它與 Mistral AI 的 Mixtral 模型類似,但啟用的專家更多。如果想了解更高層次的概述,可以參考這一篇知識《模型融合、專家混合與更小型 LLM 的未來》中的 Mixtral 架構部分。)
Qwen 2 模型的一大亮點是它在 30 種語言中的出色多語言能力。此外,它的詞彙量非常大,達到 151,642 個 token。(相比之下,Llama 2 的詞彙量為 32k,而 Llama 3.1 則為 128k)。根據經驗法則,詞彙量增加一倍,輸入 token 數量會減少一半,因此 LLM 可以在相同輸入中容納更多 token。這種大詞彙量特別適用於多語言資料和程式設計場景,因為它能覆蓋標準英語詞彙之外的單詞。
下面是與其他 LLM 在 MMLU 基準測試中的簡要對比。(需要注意的是,MMLU 是一個多選基準測試,因此有其侷限性,但仍是評估 LLM 效能的最受歡迎方法之一。)
MMLU基準測試得分,針對最新的開源權重模型(分數越高越好)。這個圖中的得分是從每個模型的官方研究論文中收集的。
1.2 Qwen 2 預訓練
Qwen 2 團隊對引數規模為 15 億、70 億和 720 億的模型進行了訓練,使用了 7 萬億個訓練 token,這是一個合理的規模。作為對比,Llama 2 模型使用了 2 萬億個 token,Llama 3.1 模型使用了 15 萬億個 token。
有趣的是,引數規模為 5 億的模型使用了 12 萬億個 token 進行訓練。然而,研究人員並沒有用這個更大的 12 萬億 token 資料集來訓練其他模型,因為在訓練過程中並未觀察到效能提升,同時額外的計算成本也難以合理化。
他們的一個重點是改進資料過濾流程,以去除低質量資料,同時增強資料混合,從而提升資料的多樣性——這一點我們在分析其他模型時會再次提到。
有趣的是,他們還使用了 Qwen 模型(儘管沒有明確說明細節,我猜是指前一代的 Qwen 模型)來生成額外的預訓練資料。而且,預訓練包含了“多工指令資料……以增強模型的上下文學習能力和指令遵循能力。”
此外,他們的訓練分為兩個階段:常規預訓練和長上下文預訓練。在預訓練的最後階段,他們使用了“高質量、長文字資料”將上下文長度從 4,096 token 增加到 32,768 token。
Qwen 2 預訓練技術總結。‘持續預訓練’指的是兩階段預訓練,研究人員先進行了常規預訓練,然後接著進行長上下文的持續預訓練。
(遺憾的是,這些技術報告的另一個特點是關於資料集的細節較少,因此如果總結看起來不夠詳細,是因為公開的資訊有限。)
1.3 Qwen 2 後訓練
Qwen 2 團隊採用了流行的兩階段後訓練方法,首先進行監督式指令微調(SFT),在 50 萬個示例上進行了 2 個 epoch 的訓練。這一階段的目標是提高模型在預設場景下的響應準確性。
典型的大語言模型開發流程
在完成 SFT 之後,他們使用直接偏好最佳化(DPO)來將大語言模型(LLM)與人類偏好對齊。(有趣的是,他們的術語將其稱為基於人類反饋的強化學習,RLHF。)正如我幾周前在《LLM預訓練和獎勵模型評估技巧》文章中所討論的,由於相比其他方法(例如結合 PPO 的 RLHF)更加簡單易用,SFT+DPO 方法似乎是當前最流行的偏好調優策略。
對齊階段本身也分為兩個步驟。第一步是在現有資料集上使用 DPO(離線階段);第二步是利用獎勵模型形成偏好對,並進入“線上”最佳化階段。在這裡,模型在訓練中會生成多個響應,獎勵模型會選擇最佳化步驟中更符合偏好的響應,這種方法也常被稱為“拒絕取樣”。
在資料集構建方面,他們使用了現有語料庫,並透過人工標註來確定 SFT 的目標響應,以及識別偏好和被拒絕的響應(這是 DPO 的關鍵)。研究人員還合成了人工註釋資料。
此外,團隊還使用 LLM 生成了專門針對“高質量文學資料”的指令-響應對,以建立用於訓練的高質量問答對。
Qwen2後訓練技術彙總
1.4 結論
Qwen 2 是一個相對能力較強的模型,與早期的 Qwen 系列類似。在 2023 年 12 月的 NeurIPS LLM 效率挑戰賽中,我記得大部分獲勝方案都涉及 Qwen 模型。
關於 Qwen 2 的訓練流程,值得注意的一點是,合成資料被用於預訓練和後訓練階段。同時,將重點放在資料集過濾(而不是儘可能多地收集資料)也是 LLM 訓練中的一個顯著趨勢。在我看來,資料確實是越多越好,但前提是要滿足一定的質量標準。
從零實現直接偏好最佳化(DPO)對齊 LLM
直接偏好最佳化(DPO)已經成為將 LLM 更好地與使用者偏好對齊的首選方法之一。這篇文章中你會多次看到這個概念。如果你想學習它是如何工作的,Sebastian Raschka博士有一篇很好的文章,即:《從零實現直接偏好最佳化(DPO)用於 LLM 對齊》,你可以看看它。在介紹完本文列表中的模型扣會根據它用中文語言為大家重新編寫一篇釋出出來。
利用DPO技術實現人工智慧大語言模型與人類對齊流程概覽