前言:大型語言模型(LLMs)的發展歷程可以說是非常長,從早期的GPT模型一路走到了今天這些複雜的、公開權重的大型語言模型。最初,LLM的訓練過程只關注預訓練,但後來逐步擴充套件到了包括預訓練和後訓練在內的完整流程。後訓練通常涵蓋監督指導微調和對齊過程,而這些在ChatGPT的推廣下變得廣為人知。
自ChatGPT首次釋出以來,訓練方法學也在不斷進化。在這幾期的文章中,我將回顧近1年中在預訓練和後訓練方法學上的最新進展。
關於LLM開發與訓練流程的概覽,特別關注本文中討論的新型預訓練與後訓練方法
每個月都有數百篇關於LLM的新論文提出各種新技術和新方法。然而,要真正瞭解哪些方法在實踐中效果更好,一個非常有效的方式就是看看最近最先進模型的預訓練和後訓練流程。幸運的是,在近1年中,已經有四個重要的新型LLM釋出,並且都附帶了相對詳細的技術報告。
• 在本文中,我將重點介紹以下模型中的**蘋果的 AFM智慧基礎語言模型 **預訓練和後訓練流程:
• 阿里巴巴的 Qwen 2
• 蘋果的 智慧基礎語言模型
• 谷歌的 Gemma 2
• Meta AI 的 Llama 3.1
我會完整的介紹列表中的全部模型,但介紹順序是基於它們各自的技術論文在arXiv.org上的發表日期,這也巧合地與它們的字母順序一致。
- 蘋果的蘋果智慧基礎語言模型(AFM)
我很高興在arXiv.org上看到蘋果公司釋出的另一篇技術論文,這篇論文概述了他們的模型訓練。這是一個意想不到但絕對是積極的驚喜!
2.1 AFM 概述
在《蘋果智慧基礎語言模型》論文中,研究團隊闡述了為“蘋果智慧”環境在蘋果裝置上使用而設計的兩個主要模型的開發過程。為了簡潔,本節將這些模型簡稱為AFM,即“蘋果基礎模型”。
具體來說,論文描述了兩個版本的AFM:一個是30億引數的裝置上模型,用於在手機、平板或膝上型電腦上部署,另一個是更高能力的伺服器模型,具體大小未指明。
這些模型是為聊天、數學和程式設計任務開發的,儘管論文並未討論任何程式設計特定的訓練和能力。
與Qwen 2一樣,AFM是密集型的LLM,不使用混合專家方法。
2.2 AFM 預訓練
我想向研究人員表示兩大致敬。首先,他們不僅使用了公開可用的資料和出版商授權的資料,而且還尊重了網站上的robots.txt檔案,避免爬取這些網站。其次,他們還提到進行了使用基準資料的去汙染處理。
為了加強Qwen 2論文的一個結論,研究人員提到質量比數量更重要。(裝置模型的詞彙大小為49k詞彙,伺服器模型為100k詞彙,這些詞彙大小明顯小於使用了150k詞彙的Qwen 2模型。)
有趣的是,預訓練不是進行了兩個階段,而是三個階段!
1.核心(常規)預訓練
2.持續預訓練,其中網路爬取(較低質量)資料被降權;數學和程式碼被增權
3.透過更長的序列資料和合成資料增加上下文長度
AFM模型經歷的三步預訓練過程概述。
讓我們更詳細地看看這三個步驟。
**2.2.1 預訓練I:核心預訓練 **
核心預訓練描述了蘋果預訓練流程中的第一階段。這類似於常規預訓練,AFM伺服器模型在6.3萬億個標記上進行訓練,批次大小為4096,序列長度為4096個標記。這與在7萬億標記上訓練的Qwen 2模型非常相似。
然而,對於AFM裝置上的模型更為有趣,它是從更大的64億引數模型(從頭開始訓練,如上一段所描述的AFM伺服器模型)中提煉和修剪得到的。
除了“使用蒸餾損失,透過將目標標籤替換為真實標籤和教師模型的top-1預測的凸組合(教師標籤分配0.9的權重)”之外,關於蒸餾過程的細節不多。我覺得知識蒸餾對於LLM預訓練越來越普遍且有用(Gemma-2也使用了)。我計劃有一天更詳細地介紹它。現在,這裡是一個高層次上如何工作的簡要概述。
知識蒸餾的概述,其中一個小型模型(此處為AFM裝置3B模型)在原始訓練標記上訓練,外加來自一個更大的教師模型(此處為6.4B模型)的輸出。注意,a)中的交叉熵損失是用於預訓練LLM的常規訓練損失(有關如何實現常規預訓練步驟的更多細節,請參閱我的《從零開始構建大型語言模型》一書第5章)。
如上所示,知識蒸餾仍然涉及在原始資料集上訓練。然而,除了資料集中的訓練標記之外,被訓練的模型(稱為學生)還從更大的(教師)模型接收資訊,這比沒有知識蒸餾的訓練提供了更豐富的訊號。缺點是你必須:1)首先訓練更大的教師模型,2)使用更大的教師模型計算所有訓練標記的預測。這些預測可以提前計算(需要大量儲存空間)或在訓練期間計算(可能會減慢訓練過程)。
2.2.2 預訓練II:持續預訓練
持續預訓練階段包括了一個從4096個標記到8192個標記的小幅上下文延長步驟,使用的資料集包含1萬億個標記(核心預訓練集是其五倍大)。然而,主要關注點是使用高質量資料混合進行訓練,特別強調數學和編碼。
有趣的是,研究人員發現在這種情況下蒸餾損失並無益處。
2.2.3 預訓練III:
上下文延長 第三階段預訓練只涉及1000億個標記(第二階段使用的標記的10%),但代表了更顯著的上下文延長到32768個標記。為了實現這一點,研究人員用合成的長上下文問答資料增強了資料集。
AFM預訓練技術概述。
**2.3 AFM後訓練 **
蘋果公司在後訓練過程中似乎採取了與預訓練相似的全面方法。他們利用了人工標註資料和合成資料,強調優先考慮資料質量而非數量。有趣的是,他們沒有依賴預設的資料比例;相反,他們透過多次實驗精調資料混合,以達到最佳平衡。
後訓練階段包括兩個步驟:監督指令微調,隨後進行數輪帶有人類反饋的強化學習(RLHF)。
這個過程中一個特別值得注意的方面是蘋果引入了兩種新演算法用於RLHF階段:
-
帶教師委員會的拒絕取樣微調(iTeC)
-
帶映象下降策略最佳化的RLHF
鑑於文章的長度,我不會深入這些方法的技術細節,但這裡有一個簡要概述:
iTeC演算法結合了拒絕取樣和多種偏好調整技術——具體來說,是SFT、DPO、IPO和線上RL。蘋果沒有依賴單一演算法,而是使用每種方法獨立訓練模型。這些模型然後生成響應,由人類評估並提供偏好標籤。這些偏好資料被用來在RLHF框架中迭代訓練一個獎勵模型。在拒絕取樣階段,一個模型委員會生成多個響應,獎勵模型選擇最佳的一個。
這種基於委員會的方法相當複雜,但應該相對可行,特別是考慮到涉及的模型相對較小(大約30億引數)。在像Llama 3.1中的70B或405B引數模型上實現這樣的委員會,無疑會更具挑戰性。
至於第二種演算法,帶映象下降的RLHF,之所以選擇它是因為它比通常使用的PPO(鄰近策略最佳化)更有效。
AFM後訓練技術總結。
**2.4 結論 **
蘋果在預訓練和後訓練的方法相對全面,這可能是因為賭注很高(該模型部署在數百萬甚至數十億的裝置上)。然而,考慮到這些模型的小型性質,廣泛的技術也變得可行,因為一個30億引數的模型不到最小的Llama 3.1模型大小的一半。
其中一個亮點是,他們的選擇不僅僅是在RLHF和DPO之間;相反,他們使用了多種偏好調整演算法形成一個委員會。
同樣有趣的是,他們在預訓練中明確使用了問答資料——這是我在之前文章中討論的《指令預訓練LLM》。
總之,這是一份令人耳目一新且令人愉快的技術報告。