論文 · arXiv 2407.21783
Llama 3 模型家族 (The Llama 3 Herd of Models)
The Llama 3 Herd of Models
發表於 cs.AIcs.CLcs.CVcs.LG arXivPDF
三句話總結
- 🎯 打造開源基礎模型,在推理、多語言、程式碼編寫及工具調用方面媲美頂尖閉源系統,同時實現可靠的規模化擴展。
- 🔧 使用 4D 平行化技術、客製化 RoCE 網路、多階段 128K 上下文擴展,以及迭代式後訓練(SFT、拒絕採樣與 DPO),擴展密集型 Transformer 架構(在 15.6T tokens 上訓練高達 405B 參數)。
- 📈 Llama 3 405B 達到開源模型的 SOTA 水準,在 GSM8K (96.8%)、HumanEval (89.0%) 與 MMLU (87.3%) 等基準測試中媲美 GPT-4 等領先模型。
摘要
現代人工智慧 (AI) 系統以基礎模型為核心動力。本文介紹了一組全新的基礎模型,稱為 Llama 3。這是一系列原生支援多語言、程式碼編寫、邏輯推理與工具調用的語言模型。我們最大的模型為擁有 405B 參數的密集型 Transformer,上下文視窗最高可達 128K tokens。本文對 Llama 3 進行了廣泛的實證評估。我們發現 Llama 3 在眾多任務上展現出與 GPT-4 等領先語言模型相當的品質。我們公開釋出了 Llama 3,包括 405B 參數語言模型的預訓練與後訓練版本,以及用於輸入與輸出安全的 Llama Guard 3 模型。此外,本文亦展示了透過組合式方法將圖像、影片和語音能力整合至 Llama 3 的實驗成果。我們觀察到該方法在圖像、影片和語音辨識任務上表現出極具競爭力的頂尖水準。由於這些多模態模型仍在開發中,目前尚未廣泛釋出。
英文原文摘要
Modern artificial intelligence (AI) systems are powered by foundation models. This paper presents a new set of foundation models, called Llama 3. It is a herd of language models that natively support multilinguality, coding, reasoning, and tool usage. Our largest model is a dense Transformer with 405B parameters and a context window of up to 128K tokens. This paper presents an extensive empirical evaluation of Llama 3. We find that Llama 3 delivers comparable quality to leading language models such as GPT-4 on a plethora of tasks. We publicly release Llama 3, including pre-trained and post-trained versions of the 405B parameter language model and our Llama Guard 3 model for input and output safety. The paper also presents the results of experiments in which we integrate image, video, and speech capabilities into Llama 3 via a compositional approach. We observe this approach performs competitively with the state-of-the-art on image, video, and speech recognition tasks. The resulting models are not yet being broadly released as they are still under development.
論文解讀
問題與研究動機
現代人工智慧系統高度依賴龐大的基礎模型,然而最具實力的模型(如 GPT-4)至今仍保持閉源。打造一個開源且達到前沿水準的模型,必須跨越三大工程瓶頸:資料策劃 (data curation)、運算規模 (compute scale) 以及複雜度管理 (managing complexity)。
作者團隊開發了 Llama 3,這是一個涵蓋 8B、70B 和 405B 參數的多語言模型家族,原生支援高達 128K 的上下文視窗、零樣本與多步驟工具調用、進階推理以及程式碼生成能力。
核心概念
- 以密集型架構管理複雜度:作者並未採用混合專家模型 (Mixture-of-Experts, MoE),而是堅持使用標準的密集型 Transformer 架構(405B 模型具備 126 層、16,384 維度、128 個注意力頭),搭配分組查詢注意力機制 (Grouped-Query Attention, GQA) 以及基頻 的 RoPE,以最大化預訓練時的穩定性。
- 資料規模擴展與嚴格過濾:預訓練資料量從 Llama 2 的 1.8T tokens 大幅擴展至約 15.6T tokens,涵蓋多個領域(約 50% 一般知識、25% 數學與推理、17% 程式碼、8% 多語言)。
- 可預測的縮放定律 (Scaling Laws):在正式開始訓練前,建立了一套兩階段縮放定律架構,將運算資源與跨越四個數量級的下游任務表現(如 ARC Challenge)連結起來。
- 迭代式後訓練:進行了六輪對齊訓練,結合監督式微調 (SFT)、拒絕採樣 (Rejection Sampling, RS) 與直接偏好最佳化 (Direct Preference Optimization, DPO),並輔以針對性的合成資料生成。
- 4D 平行化與基礎設施:在多達 16K 張 H100 GPU 上預訓練 405B 模型,結合張量平行 (TP)、上下文平行 (CP)、管線平行 (PP) 與完全分片資料平行 (FSDP/DP)。
方法(含關鍵公式)
1. 縮放定律公式化
運算最佳化的 token 配置被建模為運算預算 的冪律函數:
透過在 至 FLOPs 的運算預算間進行實證擬合,求得 。將此規律外推至目標預算 FLOPs,建議在 16.55T tokens 上訓練一個 402B 參數的模型,這直接確立了最終 405B 參數的架構設計。
2. 上下文視窗擴展與注意力遮罩
上下文從 8K 擴展至 128K tokens 經歷了六個接續預訓練階段,共耗費約 800B tokens。為防止在同一長上下文序列中打包的多個文件相互干擾,團隊應用了客製化的文件注意力遮罩 (document attention mask)。
上下文平行 (CP) 將輸入序列切分為 個區塊,並在鍵 () 與值 () 表徵上執行 all-gather 通訊模式。由於 GQA 縮減了相對於查詢 () 的 和 尺寸,因此 all-gather 通訊開銷 與注意力計算量 相比微不足道。
3. 直接偏好最佳化 (DPO) 調適
在偏好最佳化過程中,格式化標記(標頭與終止符)被明確從 DPO 損失計算中遮蔽,以避免模型產生重複尾隨或過早終止的問題。此外,更在被選中的序列上添加了輔助負對數概似 (NLL) 正則化項:
成果(含重要數據)
- 旗艦 405B 基準測試:
- MMLU (5-shot): 87.3% (0-shot CoT: 88.6%)
- GSM8K (8-shot, CoT): 96.8%
- MATH (0-shot, CoT): 73.8%
- HumanEval (0-shot): 89.0%
- ARC Challenge (0-shot): 96.9%
- IFEval: 88.6%
- 較小規模模型(8B 與 70B):兩款模型皆超越同量級的開源對手(例如 Gemma 2 9B、Mistral 7B、Mixtral 8x22B)。例如,Llama 3 8B 在 0-shot CoT MMLU 上達到 73.0%,在 GSM8K 上達到 84.5%。
- 長上下文能力:在最高達 128K tokens 的單針大海撈針測試 (Single Needle-In-A-Haystack) 中達到 100% 完美檢索率,405B 模型在多針召回 (Multi-needle recall) 上亦取得 98.1%。
- 預訓練效率:在 16,384 張 H100 GPU 的配置下,BF16 模型浮點運算利用率 (Model FLOPs Utilization, MFU) 達到 38–43%,在為期 54 天的觀測中,儘管遭遇 466 次中斷,仍維持超過 90% 的有效訓練時間。
局限性與待解問題
- 硬體可靠度與功耗波動:在 16K GPU 規模下,硬體中斷平均每天發生數次(78% 的非預期中斷源於硬體/GPU 故障)。此外,在儲存檢查點 (checkpointing) 或集體通訊步驟中,數十兆瓦的瞬時電力波動對資料中心的電網構成了極大挑戰。
- 對抗性魯棒性落差:雖然在釋義基準測試 (PAWS) 上展現出韌性,但在數學推理與問答的對抗性基準(GSM-Plus, Adv SQuAD)中,表現相較非對抗基準有顯著退化。
- 多模態功能的可用性:視覺與語音配接器在研究環境下展現了極具競爭力的表現,但仍處於積極開發階段,未包含在最初的公開發布中。
關鍵術語
- 4D Parallelism (4D 平行化)
- 一種跨數千張 GPU 的平行訓練配置,結合了張量平行 (TP)、上下文平行 (CP)、管線平行 (PP) 與資料平行 (FSDP)。
- Grouped Query Attention (GQA, 分組查詢注意力機制)
- 一種注意力機制變體,讓多個查詢頭共享鍵值頭(本文中使用 8 個 KV 頭),以減少推論過程中的 KV 快取記憶體佔用。
- Context Parallelism (CP, 上下文平行)
- 一種將長輸入序列切分至多張 GPU 上的技術,並在鍵與值投影上執行 all-gather 通訊以完成計算。
- Direct Preference Optimization (DPO, 直接偏好最佳化)
- 一種無須強化學習的偏好最佳化演算法,用於後訓練階段以使模型生成內容對齊人類偏好。
- Rejection Sampling (RS, 拒絕採樣)
- 一種後訓練流程,從策略模型中取樣多個輸出,並使用獎勵模型進行篩選,以產生高品質的 SFT 訓練資料。
- IsoFLOPs curves (等運算量曲線)
- 在固定的訓練運算預算下,測量不同模型大小與 token 數量組合之實證損失的曲線,用以找出運算最佳化架構。
- Model FLOPs Utilization (MFU, 模型浮點運算利用率)
- 系統每秒實際達成的浮點運算次數與硬體理論最大峰值吞吐量之間的比率。
- Annealing (退火階段)
- 預訓練的最終階段,在此階段學習率會針對高品質、針對特定領域的資料劃分,線性衰減至接近零。
常見問題
Llama 3 模型支援的上下文長度是多少?
所有 Llama 3.1 模型(8B、70B 與 405B)均支援最高達 128K tokens 的上下文長度,這是透過分階段長上下文預訓練以及調整 RoPE 基頻(至 500,000)實現的。
為何作者選擇密集型架構而非混合專家模型 (MoE)?
為了在大規模運算( FLOPs)下優先確保訓練穩定性並降低工程複雜度,團隊選擇了具備成熟擴展特性的簡單架構,而非 MoE。
在後訓練期間如何使用合成資料?
團隊利用程式碼執行反饋、靜態/動態語法檢查器 (linters) 和單元測試生成了超過 270 萬筆合成程式碼對話,並同時針對反向翻譯、多步驟工具調用與文件摘要生成了合成資料。
最初的開源釋出中是否包含多模態視覺與語音版本?
不包含。雖然論文描述了透過交叉注意力配接器整合圖像、影片與語音編碼器的實驗,但 Meta 指出這些模型在論文發表時仍處於開發階段。
本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。