新型大語言模型的預訓練與後訓練正規化,Meta的Llama 3.1語言模型

果冻人工智能發表於2024-11-30

前言:大型語言模型(LLMs)的發展歷程可以說是非常長,從早期的GPT模型一路走到了今天這些複雜的、公開權重的大型語言模型。最初,LLM的訓練過程只關注預訓練,但後來逐步擴充套件到了包括預訓練和後訓練在內的完整流程。後訓練通常涵蓋監督指導微調和對齊過程,而這些在ChatGPT的推廣下變得廣為人知。

自ChatGPT首次釋出以來,訓練方法學也在不斷進化。在這幾期的文章中,我將回顧近1年中在預訓練和後訓練方法學上的最新進展。

關於LLM開發與訓練流程的概覽,特別關注本文中討論的新型預訓練與後訓練方法

每個月都有數百篇關於LLM的新論文提出各種新技術和新方法。然而,要真正瞭解哪些方法在實踐中效果更好,一個非常有效的方式就是看看最近最先進模型的預訓練和後訓練流程。幸運的是,在近1年中,已經有四個重要的新型LLM釋出,並且都附帶了相對詳細的技術報告。

在本文中,我將重點介紹以下模型中的Meta的 Llama 3.1語言模型 預訓練和後訓練流程:

• 阿里巴巴的 Qwen 2

• 蘋果的 智慧基礎語言模型

• 谷歌的 Gemma 2

• Meta AI 的 Llama 3.1

我會完整的介紹列表中的全部模型,但介紹順序是基於它們各自的技術論文在arXiv.org上的發表日期,這也巧合地與它們的字母順序一致。

4. Meta AI的Llama 3.1

Meta釋出的Llama LLM新版本總是大事。這次釋出伴隨著一份92頁的技術報告:《Llama 3模型群》。最後,在本節中,我們將檢視上個月釋出的第四份重要模型論文。

4.1 Llama 3.1概述

除了釋出一個巨大的4050億引數模型,Meta還更新了他們之前的80億和700億引數模型,使它們在MMLU效能上略有提升。

                                      MMLU基準測試不同模型的表現。

雖然Llama 3像其他最近的LLM一樣使用群組查詢注意力,但令人驚訝的是,Meta AI拒絕使用滑動視窗注意力和混合專家方法。換句話說,Llama 3.1看起來非常傳統,重點顯然放在預訓練和後訓練上,而非架構創新。

與之前的Llama版本相似,它的權重是公開可用的。此外,Meta表示他們更新了Llama 3的許可證,現在終於可以(被允許)使用Llama 3進行合成資料生成或知識蒸餾以改善其他模型。

4.2 Llama 3.1預訓練

Llama 3在龐大的15.6萬億標記資料集上進行訓練,這比Llama 2的1.8萬億標記有顯著增加。研究人員表示,它支援至少八種語言(而Qwen 2能處理20種語言)。

Llama 3的一個有趣方面是它的詞彙量為128,000,這是使用OpenAI的tiktoken分詞器開發的。(對於那些對分詞器效能感興趣的人,我在這裡做了一個簡單的基準比較。)

在預訓練資料質量控制方面,Llama 3採用了基於啟發式的過濾以及基於模型的質量過濾,利用像Meta AI的fastText和基於RoBERTa的分類器這樣的快速分類器。這些分類器還有助於確定訓練期間使用的資料混合的上下文類別。

Llama 3的預訓練分為三個階段。第一階段涉及使用15.6萬億標記進行標準的初始預訓練,上下文視窗為8k。第二階段繼續預訓練,但將上下文長度擴充套件到128k。最後一個階段涉及退火,進一步提高模型的效能。讓我們更詳細地看看這些階段。

4.2.1 預訓練I:標準(初始)預訓練

在他們的訓練設定中,他們開始使用由4096個序列長度的400萬標記組成的批次。這意味著批次大小大約為1024標記,假設400萬這個數字是四捨五入得到的。在處理了首批252百萬標記後,他們將序列長度增加到8192。在訓練過程中,處理了2.87萬億標記後,他們再次將批次大小翻倍。

此外,研究人員並沒有在整個訓練過程中保持資料混合不變。相反,他們調整了訓練過程中使用的資料混合,以最佳化模型學習和效能。這種動態處理資料的方法可能有助於改善模型跨不同型別資料的泛化能力。

**4.2.2 預訓練II:繼續預訓練以延長上下文 **

與其他一步增加其上下文視窗的模型相比,Llama 3.1的上下文延長是一個更漸進的方法:在這裡,研究人員透過六個不同階段將上下文長度從8000增加到128000標記。這種分步增加可能讓模型更平滑地適應更大的上下文。

此過程使用的訓練集涉及8000億標記,約佔總資料集大小的5%。

4.2.3 預訓練III:在高質量資料上退火

對於第三階段預訓練,研究人員在一個小但高質量的混合上訓練模型,他們發現這有助於改善基準資料集上的效能。例如,在GSM8K和MATH訓練集上退火提供了在相應的GSM8K和MATH驗證集上的顯著提升。

在論文的3.1.3節中,研究人員表示退火資料集大小為400億標記(總資料集大小的0.02%);這400億退火資料集用於評估資料質量。在3.4.3節中,他們表示實際的退火只在4000萬標記上進行(退火資料的0.1%)。

                                    Llama 3.1預訓練技術總結。

4.3 Llama 3.1後訓練

在後訓練過程中,Meta AI團隊採用了一種相對簡單的方法,包括監督微調(SFT)、拒絕取樣和直接偏好最佳化(DPO)。

他們觀察到,像帶PPO的RLHF這樣的強化學習演算法與這些技術相比,穩定性較低且更難擴充套件。值得注意的是,SFT和DPO步驟在多輪中反覆迭代,融合了人工生成和合成資料。

在描述更多細節之前,他們的工作流程如下圖所示。

                                      來自Llama 3.1論文的帶註釋的圖表,描述了後訓練過程。

請注意,儘管他們使用了DPO,但他們也開發了一個獎勵模型,就像在RLHF中一樣。起初,他們使用預訓練階段的一個檢查點訓練獎勵模型,利用人工標註資料。這個獎勵模型隨後被用於拒絕取樣過程,幫助選擇適當的提示進行進一步訓練。

在每一輪訓練中,他們不僅對獎勵模型,還對SFT和DPO模型應用了模型平均技術。這種平均涉及合併最近和以前模型的引數,以穩定(並改善)隨時間的效能。

對於那些對模型平均的技術細節感興趣的人,我在我早期文章《理解模型融合和權重平均》的部分中討論了這個話題,文章標題為《模型融合、專家混合,以及向更小LLM的邁進》。

總之,核心是一個相對標準的SFT + DPO階段。然而,這個階段在多輪中重複。然後,他們在拒絕取樣中加入了一個獎勵模型(像Qwen 2和AFM那樣)。他們還使用了像Gemma那樣的模型平均;然而,這不僅適用於獎勵模型,而是涉及所有模型。

                                  Llama 3.1後訓練技術總結。

4.4 結論

Llama 3模型保持相當標準,與早期的Llama 2模型類似,但採用了一些有趣的方法。值得注意的是,龐大的15萬億標記訓練集使Llama 3與其他模型區別開來。有趣的是,像蘋果的AFM模型一樣,Llama 3也實施了三階段預訓練過程。

與其他最近的大型語言模型不同,Llama 3沒有采用知識蒸餾技術,而是選擇了一條更直接的模型開發路徑。在後訓練中,模型使用了直接偏好最佳化(DPO)而不是其他模型中流行的更復雜的強化學習策略。總的來說,這種選擇很有趣,因為它表明了透過簡單(但經過驗證的)方法精煉LLM效能的重點。

5. 主要收穫

從本文討論的這四個模型中我們可以學到什麼:阿里巴巴的Qwen 2,蘋果的基礎模型(AFM),谷歌的Gemma 2,以及Meta的Llama 3?

這四個模型在預訓練和後訓練上採取了略有不同的方法。當然,方法論有所重疊,但沒有哪個訓練流程是完全相同的。在預訓練方面,一個共有的特徵似乎是所有方法都使用了多階段預訓練流程,其中一般的核心預訓練之後是上下文延長,有時還有高質量的退火步驟。下面的圖表再次一覽無餘地顯示了預訓練中使用的不同方法。

                                                            預訓練所用技術概述

在後訓練方面,也沒有哪個流程是完全相同的。看來拒絕取樣現在已經成為後訓練過程中的常見要素。然而,當談到DPO或RLHF時,還沒有共識或偏好(無意中的雙關語)。


後訓練所用技術概述

因此,總的來說,沒有單一的配方,而是有許多路徑可以開發出高效能的LLM。

最後,這四個模型的表現大致相當。不幸的是,其中幾個模型還沒有進入LMSYS和AlpacaEval排行榜,所以我們還沒有直接的比較,除了在MMLU和其他多項選擇基準上的得分。

相關文章