論文 · arXiv 2307.09288
Llama 2:開源基底與微調對話模型
Llama 2: Open Foundation and Fine-Tuned Chat Models
三句話總結
- 🎯 以往的開源 LLM 缺乏廣泛的對齊(RLHF),難以安全且有效地與閉源專利對話模型競爭。
- 🔧 在 2 兆個 token 上預訓練 7B–70B 模型,並採用 Grouped-Query Attention,隨後進行高品質 SFT、雙獎勵模型(安全性與有用性)、拒絕採樣微調、PPO 以及 Ghost Attention(GAtt)。
- 📈 Llama 2 70B 在 MMLU 達到 68.9,在 GSM8K 達到 56.8;Llama 2-Chat 在人工評估中對比 ChatGPT 取得 36% 勝率與 31.5% 平手率。
摘要
在這項工作中,我們開發並發布了 Llama 2,這是一系列開源預訓練與微調的大型語言模型(LLM),參數量從 70 億到 700 億不等。我們微調後的 LLM 稱為 Llama 2-Chat,專門針對對話應用情境進行最佳化。在我們測試的大多數基準測試中,我們模型的表現均優於現有的開源對話模型;此外,根據我們針對有用性與安全性的人工評估,Llama 2-Chat 或許能成為閉源模型的合適替代方案。我們詳細描述了 Llama 2-Chat 的微調方法與安全性改進措施,旨在讓社群能夠以此為基礎繼續發展,並為負責任的 LLM 開發做出貢獻。
英文原文摘要
In this work, we develop and release Llama 2, a collection of pretrained and fine-tuned large language models (LLMs) ranging in scale from 7 billion to 70 billion parameters. Our fine-tuned LLMs, called Llama 2-Chat, are optimized for dialogue use cases. Our models outperform open-source chat models on most benchmarks we tested, and based on our human evaluations for helpfulness and safety, may be a suitable substitute for closed-source models. We provide a detailed description of our approach to fine-tuning and safety improvements of Llama 2-Chat in order to enable the community to build on our work and contribute to the responsible development of LLMs.
論文解讀
問題與動機
雖然像 LLaMA-1、BLOOM 和 Falcon 這類開源預訓練基底模型在原始基礎性能上能匹敵 GPT-3,但閉源商業對話助理(例如 ChatGPT、Claude)仍保持顯著領先。這項性能優勢源自於預訓練後透過指令微調與人類回饋強化學習(Reinforcement Learning with Human Feedback, RLHF)進行的密集對齊,這需要龐大的運算資源、專有標註流程以及紅隊演練(red-teaming)。Meta 開發並公開發布了 Llama 2 與 Llama 2-Chat(包含 7B、13B 和 70B 參數版本,以及未公開發布的 34B 版本),以推動對齊對話模型的普及化,並為對齊與安全性提供透明的方法論。
核心概念
- 擴大預訓練規模:在 2.0 兆個 token 上進行預訓練(比 Llama 1 增加 40%),上下文長度翻倍至 4,096 個 token,並在 34B 和 70B 模型中引入 Grouped-Query Attention (GQA) 以加速自迴歸解碼。
- 以品質為核心的 SFT:證明數萬筆來自廠商的高品質標註資料優於數百萬筆雜亂的第三方範例,最終將 SFT 限制在 27,540 筆精心策劃的示範資料中。
- 雙獎勵模型架構:訓練兩個獨立的獎勵模型——一個用於有用性(Helpfulness),另一個用於安全性(Safety)——以避免安全性約束損害模型有用性的緊張關係。
- 兩階段 RLHF 對齊:結合迭代式拒絕採樣微調(Rejection Sampling fine-tuning,從 70B 蒸餾)與後續的近端策略最佳化(Proximal Policy Optimization, PPO)。
- Ghost Attention (GAtt):一種應用於多輪對話的上下文蒸餾技術,可在超過 20 輪的對話中維持系統指令的約束力,避免指令遺忘(instruction fading)。
方法
預訓練架構
Llama 2 採用自迴歸 Transformer 架構,具備 RMSNorm 預正規化、SwiGLU 激活函數以及旋轉位置編碼(RoPE),並在較大規模(34B 和 70B)中加入 GQA。模型使用 AdamW()、餘弦學習率衰減(降至 10%)、權重衰減 0.1 以及梯度裁剪 1.0 進行訓練。
獎勵模型
人工標註者在兩個取樣回應之間提供 4 級評分的比較偏好。獎勵模型從預訓練對話 checkpoint 初始化,並使用邊界增強的二元排序損失進行最佳化: 其中 為提示上下文, 為偏好的回應, 為未被偏好的回應, 是依據標註者偏好強度而定的離散邊界。
RLHF 目標函數
最佳化透過拒絕採樣(從最新策略中採樣 個生成結果,並選擇獎勵模型評分最高的結果)與 PPO 進行。PPO 目標在最大化預期獎勵的同時,透過與初始策略 的 KL 散度懲罰策略漂移: 其中 是安全性()與有用性()獎勵模型經白化與 logit 轉換後的分段組合:
Ghost Attention (GAtt)
為確保多輪對話的一致性,指令 會被以合成方式附加至現有對話中的每個使用者提示。回應從最新策略中採樣,但損失函數僅計算目標輪次的 token(將先前輪次的損失歸零),而在推論時僅在第一輪保留 。
結果
- 基底模型基準測試:Llama 2 70B 優於所有開源基底模型,在 MMLU(5-shot)達到 68.9、GSM8K(8-shot)達到 56.8,以及 Big-Bench Hard(3-shot)達到 51.2,足以匹敵 GPT-3.5 與 PaLM-540B。
- 人工對話評估:在涵蓋約 4,000 個提示的人工評估中,Llama 2-Chat 70B 對比 ChatGPT(gpt-3.5-turbo-0301)取得 36% 勝率與 31.5% 平手率。Llama 2-Chat 34B 在與 Vicuna-33B 及 Falcon 40B 的對決評比中勝率超過 75%。
- 安全性與毒性:經過安全性對齊的 Llama 2-Chat 在 ToxiGen 上的有毒內容生成率從 24.60%(基底 70B)大幅降至 0.01%,在人工紅隊測試基準中的安全違規比例皆低於 ChatGPT 與 Falcon。
局限性與未解問題
- 程式碼與複雜推理:Llama 2 70B 在程式設計基準測試上大幅落後於 GPT-4 與 PaLM-2-L(HumanEval pass@1 為 29.9%,相較於 GPT-4 的 67.0%)。
- 語言覆蓋範圍:約 89.7% 的預訓練資料為英文,導致模型在其他語言中的表現與安全對齊較為脆弱。
- 錯誤拒絕與過度保守:嚴格的安全性微調會導致邊界提示的錯誤拒絕(例如拒絕包含「炸彈」或「聖誕拉炮 (Christmas Crack)」等字眼的良性提問)。
- 34B 延後發布:由於在論文發表前缺乏足夠的時間進行紅隊演練,34B 模型版本並未公開釋出。
關鍵術語
- Grouped-Query Attention (GQA)
- 一種注意力機制變體,在多組查詢頭之間共享鍵(key)與值(value)頭,以減少 KV 快取的記憶體頻寬需求,並提升大型模型的推論速度。
- Reinforcement Learning with Human Feedback (RLHF)
- 一種對齊程序,利用人類的成對偏好資料訓練獎勵模型,並透過 PPO 與拒絕採樣來引導策略最佳化。
- Rejection Sampling fine-tuning
- 一種微調技術,為每個提示採樣多個候選生成結果,選出獎勵模型評分最高的回應,並將其作為監督式梯度更新的真實標籤(ground truth)。
- Ghost Attention (GAtt)
- 一種微調方法,透過調整提示上下文並遮罩中間 token 的損失,以合成方式在多輪對話中維持指令約束力。
- Safety RM and Helpfulness RM
- 兩個獨立訓練的獎勵模型,分別針對對抗性安全比較與一般有用性比較進行訓練,以避免最佳化過程中的目標權衡與衝突。
- Context Distillation
- 一種先在帶有安全前置提示(preprompt)條件下生成模型回應,隨後在不帶前置提示的情況下將基底模型微調至這些輸出的技術。
- False Refusal
- 一種錯誤行為,指模型由於過度敏感的安全啟發式規則或觸發詞,拒絕回答合理且安全的使用者提示。
- Inter-Rater Reliability (IRR)
- 一種統計度量指標(使用 Gwet's AC1/2 評估),用於量化人類標註者在評估安全性與有用性時的一致性程度。
常見問題
Llama 2 公開發布了哪些參數規模?
Meta 公開發布了 7B、13B 和 70B 參數規格的基底 Llama 2 與對話最佳化 Llama 2-Chat;34B 規格雖然在論文中進行了評估,但因紅隊演練時間不足而未釋出。
Llama 2 在預訓練資料與架構上與 Llama 1 有何不同?
Llama 2 在 2.0 兆個 token 上進行訓練(比 Llama 1 多 40%),上下文視窗擴大一倍至 4,096 個 token,並在 34B 和 70B 配置中加入了 Grouped-Query Attention (GQA)。
作者為何要分別訓練安全性與有用性獎勵模型?
有用性與安全性在偏好建模過程中經常產生衝突(例如:滿足不安全的要求算是有用,但違反安全規範)。將兩者解耦可以進行專項最佳化,防止單一目標損害另一目標的表現。
Ghost Attention (GAtt) 如何防止多輪對話中的指令遺忘?
GAtt 在合成多輪對話中將系統指令附加至各輪使用者輸入並採樣回應,訓練時僅對目標輪次計算損失,並從中間輪次移除該指令,藉此訓練注意力層在長對話中持續關注最初的系統訊息。
本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。