LLama2詳細(xì)解讀 | Meta開源之光LLama2是如何追上ChatGPT的?
一、概述
Title: Llama 2: Open Foundation and Fine-Tuned Chat Models
論文地址:Llama 2: Open Foundation and Fine-Tuned Chat Models
代碼:??https://github.com/facebookresearch/llama??
官網(wǎng):??https://ai.meta.com/llama/??
1 Motivation
- 開源的LLM chat模型效果還不太好,還沒一個開源大模型能和閉源模型(例如chatgpt)能比的。
- ChatGPT是閉源的,LLM的有用性和安全性如何改進(jìn)這一類論文還不是特別多。
2 Methods
2.1 整體架構(gòu)
總結(jié)1: 參考InstructGPT[1],主要還是分為三個步驟(預(yù)訓(xùn)練、SFT、RLHF),其中RLHF用了兩個Reward Model(Safety Reward Model、Helpful Reward Model),創(chuàng)新性地引入兩個Reward模型,在保證安全性的同時,保持很好的有用性。
總結(jié)2: 在RLHF階段,不斷迭代優(yōu)化獎勵模型與增強模型能力對于確保獎勵模型保持在分布范圍內(nèi)至關(guān)重要,本文后面的實驗中,看到從最開始與chatgpt對比只有10%的勝率,用了本文提到的SFT和迭代RLHF后,勝率可高達(dá)60%。
總結(jié)3:Rejection Sampling(拒絕采樣):強化學(xué)習(xí)方法的一種,每次采樣多個結(jié)果,選取最佳的k個結(jié)果構(gòu)建新的訓(xùn)練數(shù)據(jù),更新梯度,同時迭代優(yōu)化模型效果。
2.2 發(fā)布LLAMA2和LLAMA2-CHAT
總結(jié)1:本次同時發(fā)布了基座模型LLAMA2和Chat模型LLAMA2-CHAT,參數(shù)在7B、13B、70B都有。
總結(jié)2:在新的公開的混合數(shù)據(jù)來訓(xùn)練,語料庫的大小增加了40%,將型的上下文長度增加了一倍,采用了分組查詢注意力機制。
2.3 LLAMA2和LLMA1訓(xùn)練情況對比
說明:Llama 2系列模型。所有模型都使用4M token進(jìn)行訓(xùn)練。其中更大的模型34B和70B模型使用分組查詢注意力(GQA)來提高推理可擴展性,7B和13B還是通用的注意力機制。
總結(jié)1: 相對于llama1,llama2的窗口長度翻倍,訓(xùn)練tokens翻倍。
總結(jié)2: 使用分組查詢注意(GQA)來提高推理可擴展性。
Grouped Query Attention:在常規(guī)的注意力機制中,我們通常將一個查詢與一組鍵(key)和值(value)進(jìn)行匹配,以便在執(zhí)行各種任務(wù)(如翻譯、問答等)時聚焦于相關(guān)信息。而在 "grouped query attention" 中,將多個查詢作為一個組一起進(jìn)行處理,從而引入了查詢組之間的交互。這種注意力機制的一個應(yīng)用場景是在多輪對話理解中,例如問答系統(tǒng)或?qū)υ捝赡P汀T诙噍唽υ捴校恳惠唽υ捒梢员灰暈橐粋€查詢組,其中每個查詢表示一個輪次的輸入。通過引入 "grouped query attention",模型可以更好地捕捉到不同輪次之間的信息流動和上下文關(guān)聯(lián),從而更準(zhǔn)確地理解和生成響應(yīng)。總之,"grouped query attention" 是一種注意力機制的變種,用于處理多組查詢之間的交互,特別適用于多輪對話理解等場景,有助于提高模型的上下文理解和信息交互能力。
3 Conclusion
3.1 整體情況:遠(yuǎn)超開源大模型,除代碼能力外追上了ChatGPT
- 與開源模型對比:發(fā)布了7B,13B,34B,70B的模型,在大多數(shù)評測基準(zhǔn)上,LLaMA2模型優(yōu)于開源聊天模型,詳情如下圖:
大模型評價維度:一般從代碼,常識推理,世界知識,閱讀理解,數(shù)學(xué),比較熱的幾個數(shù)據(jù)集包括MMLU,BBH,AGI Eval等方面來評估。
- 與閉源模型對比:有用性和安全性都不錯,除了代碼能力,其他能力接近ChatGPT,可能是ChatGPT的合適替代品:
- 詳細(xì)描述了我們對Llama 2-Chat進(jìn)行微調(diào)和安全改進(jìn)的方法,以使社區(qū)能夠在我們的工作基礎(chǔ)上再接再厲,并為LLM的負(fù)責(zé)任的發(fā)展做出貢獻(xiàn)。
3.2 LLAMA2的Helpfulness表現(xiàn)
總結(jié)1:LLama-2 70b模型與chatgpt-0301的GSB評分為35.9:31.5:32.5,Llama2-70b有用性比ChatGPT-0301還要好點。
總結(jié)2: GPT4自動評估,綠色區(qū)域表明,LLama-2的模型更好,為了消除平局,使用了贏/(贏+輸)來計算分?jǐn)?shù)。
3.3 LLAMA2的Safety表現(xiàn)
總結(jié):Llama-2 70b-chat違反安全的比例低于5%,比ChatGPT0301高于5%還要好,盡管評測有一定局限性。
二、預(yù)訓(xùn)練和Fine-tuning
1 預(yù)訓(xùn)練訓(xùn)練loss變化情況
總結(jié)1: 對比Llama1,PPL最終是到1.6左右,這里L(fēng)lama2-70B到1.5了。
總結(jié)2: 觀察到進(jìn)行2T tokens預(yù)訓(xùn)練后,模型仍然沒有任何飽和跡象,還能繼續(xù)加數(shù)據(jù)繼續(xù)訓(xùn)!!!
總結(jié)3: tokenizer方法和LLAMA1一樣,包括:BPE編碼,SentencePiece切詞,32K。
2 有監(jiān)督SFT關(guān)鍵是高質(zhì)量的數(shù)據(jù)
總結(jié): SFT數(shù)據(jù)的質(zhì)量比數(shù)量更重要,本文發(fā)現(xiàn)開源的一些數(shù)據(jù)量比較大,但是多樣性和質(zhì)量都不太好,本文最終收集了27540條高質(zhì)量的數(shù)據(jù)來訓(xùn)練,效果有明顯的改善。
3 人類偏好數(shù)據(jù)收集(百萬級別)
總結(jié)1:收集了現(xiàn)有的開源的和meta收集的數(shù)據(jù)集,總共290萬,其中Meta整理了141萬。
總結(jié)2:人類偏好的標(biāo)簽包括2種反饋,chosen或者rejected,感覺不是特別細(xì)。
總結(jié)3:還分析了各種偏好數(shù)據(jù)的比較的次數(shù)、每個對話的平均輪次、每個例子、每個提示和每個回答的平均token數(shù)等指標(biāo)。
4 各種大模型在Meta偏好數(shù)據(jù)上的表現(xiàn)
總結(jié)1: GPT4在人類偏好數(shù)據(jù)集上效果都比較高。GPT4沒有在Meta數(shù)據(jù)集上訓(xùn)練過,但是效果也是比較好的,但是比經(jīng)過Meta數(shù)據(jù)訓(xùn)練的RM的效果還是要差一些。
總結(jié)2: 經(jīng)過人類偏好數(shù)據(jù)集訓(xùn)練的Reward model能大幅提升在該領(lǐng)域的偏好效果。在Meta Safety以及Meta Helpful數(shù)據(jù)集上,經(jīng)過對應(yīng)場景數(shù)據(jù)訓(xùn)練的RM,Safety RM和Helpfulness RM在各自的領(lǐng)域都是最好的,比GPT4都要好。
5 Reward model效果和模型尺寸的關(guān)系
總結(jié):數(shù)據(jù)越多,模型越大效果越好,70b的Reward模型更好的概率在80%+,13b的Reward模型更高的概率在75%-76%左右。
6 RL迭代訓(xùn)練(PPO和Rejection sampling fine-tuning)是關(guān)鍵的制勝法寶
總結(jié)1: 在強化學(xué)習(xí)階段,不斷迭代優(yōu)化模型效果,主要探索了兩種不同的RL算法來迭代優(yōu)化,PPO和Rejection Sampling fine-tuning算法。
總結(jié)2: Rejection Sampling fine-tuning是一種從模型生成多個候選輸出,通過獎勵機制選擇最佳輸出,并將選定的輸出用于梯度更新和微調(diào)的方法。這個方法在之前的研究基礎(chǔ)上進(jìn)行了拓展,使得模型可以通過選擇的輸出來進(jìn)一步優(yōu)化自身。
總結(jié)3: 拒絕采樣和ppo的不同。寬度:在拒絕采樣中,該模型為給定的提示探索K個樣本,而PPO只探索1個樣本。深度:在PPO中,在步驟t的訓(xùn)練期間,樣本是上一步梯度更新后t-1的更新模型策略的函數(shù)。在拒絕采樣微調(diào)中,我們在應(yīng)用類似于SFT的微調(diào)之前,根據(jù)模型的初始策略對收集新數(shù)據(jù)集的所有輸出進(jìn)行采樣。由于應(yīng)用了迭代模型更新,兩個RL算法之間的基本差異不那么明顯。
結(jié)論:拒絕采樣可以從多個樣本中,選擇更好的樣本來訓(xùn)練迭代模型,采樣的個數(shù)越多,效果越好。同時溫度系數(shù)越高,多樣性越高效果越越好。
總結(jié)1: 只在70B的LLAMA2-CHAT上使用了拒絕采樣,其他小模型都是從大模型蒸餾過去。
總結(jié)2: 總共RL迭代了5輪,在RLHF(V4)之前,只使用拒絕采樣微調(diào),之后,我們按順序?qū)烧呓Y(jié)合起來,在再次采樣之前在結(jié)果的拒絕采樣checkpoint上應(yīng)用PPO。
7 利用GAtt方法來提升多輪問答中對系統(tǒng)指令的遵循能力
說明:在多輪問答中,經(jīng)常會忘記系統(tǒng)指令,如左圖所示忘記用emojis來回答的指令,后面用GAtt技術(shù)優(yōu)化后,右邊有明顯改善。
GAtt方法:感覺是一種新的attention方法,對于第一條指令或者系統(tǒng)指令提供的注意力更強。
8 LLAMA2-CHAT的演變過程(RLHF迭代5輪的變化情況),效果非常強!
總結(jié)1: RLHF總共迭代了5次,每次迭代都有提升,其中前4次用的是拒絕采樣來訓(xùn)練,v5用上了ppo提升更大。
總結(jié)2: RLHF帶來的提升是比較明顯的,從對chatgpt10%的勝率提升到了60%+。
9 人工評估有用性
總結(jié): 在helpfulness prompts上,比其他開源模型效果要更好,甚至比閉源的chatgpt都要好一點。
三、Safety
1 在訓(xùn)練數(shù)據(jù)中引入更安全的數(shù)據(jù)
總結(jié)1: 安全的數(shù)據(jù)越多,效果越好,helpfulness保持穩(wěn)定
總結(jié)2: 隨著更多安全訓(xùn)練數(shù)據(jù)的添加,較低的安全RM分?jǐn)?shù)(即最不安全的回答)逐漸消失,代表安全分非常低的結(jié)果越來越少。
2 利用Context distillation方法提升安全性
Context distillation方法:指在上下文中引入額外限制提升安全性的方法,這里提供了兩種方法如下:
方法1: Generic Preprompt:提升回答中不應(yīng)該包括任何有害的、不道德、或者有偏見的內(nèi)容。
方法2: Preprompt with Answer Template:給出答案的模版,指導(dǎo)可能不安全的行為該如何回答。
結(jié)論1: 采取通用的預(yù)提示方法(Generic Preprompt)會提高安全RM分?jǐn)?shù),但帶有定制答案模板的預(yù)提示(Preprompt with answer Template)會更有幫助。
結(jié)論2: 隨著原始安全分的增加,Context Distillation帶來的提升越來越小,甚至對高分?jǐn)?shù)的樣本帶來負(fù)面影響,所以本文只在能提升安全分的樣本上使用context distillation技術(shù)。
3 Red Teaming
目的1:被動風(fēng)險識別可能不太夠,這里還提出要主動風(fēng)險識別來優(yōu)化,本文把他叫做Red Teaming,主要用于分析哪些情況下可能會造成毒性的結(jié)果。
目的2: 安全是一個長尾問題,即使非常不頻繁的case也會導(dǎo)致嚴(yán)重的后果。
發(fā)現(xiàn)的llm攻擊特點:
? [早期模型]更有可能生成不安全的響應(yīng),而沒有注意到它們包含有問題的內(nèi)容。[稍晚的模型]能夠發(fā)現(xiàn)有問題的內(nèi)容,但是還是無法避免不輸出。[最新模型]能夠解決這些問題。
? 創(chuàng)意寫作請求(歌曲、故事、詩歌等)可能會讓他生成之前會強烈反對的內(nèi)容(逃避監(jiān)管機制,生成不安全的內(nèi)容)。
? 在積極的上下文中嵌入有問題的請求,例如使用積極、進(jìn)取、富有能量的問題進(jìn)行掩蓋,是最有效的攻擊方法。
4 Safety Evaluation of Llama 2-Chat
總結(jié):不同尺寸的LLAMA2系列模型中,都有更好的安全性,同時有用性也非常不錯。
總結(jié):多輪問答的有害性比單輪問答的有害性對別,增加比較多,但是LLAMA2系列模型都比其他模型好,34b的模型有點奇怪,本文也沒有開源。
總結(jié):比較了多個角度,包括有害的,非法的,低質(zhì)量三大類情況下個模型的違反比例,LLAMA2系列表現(xiàn)都不錯,34b的模型表現(xiàn)有點奇怪沒有開源。
四、Discussion
1 SFT模型到RLHF方法給Reward model score分布帶來的變化
總結(jié):最還是的mix數(shù)據(jù)訓(xùn)練的SFT,低分?jǐn)?shù)的比較多,隨著利用標(biāo)注數(shù)據(jù),效果有了明顯的提升,同時利用RLHF,獲得高分?jǐn)?shù)的樣本越來越多,說明效果越來越好。
2 RLHF降低模型結(jié)果的了多樣性
總結(jié)1:溫度越高,多樣性越好,但是做了RLHF后,多樣性有了明顯的下降。
總結(jié)2: Creative Prompts還能維持較高的多樣性,同時上文也提到,可能更容易被攻擊,所以感覺多樣性和有毒性確實是一個需要權(quán)衡的過程。
五、思考與總結(jié)
總結(jié):本文主要從預(yù)訓(xùn)練、Fine-tuning、Safety這幾個角度來介紹了LLAMA2,其中引入高質(zhì)量的數(shù)據(jù),多次迭代優(yōu)化Reward Model是非常關(guān)鍵的一步。
總結(jié)1: 訓(xùn)練數(shù)據(jù)質(zhì)量非常重要。相對于多而質(zhì)量不高的數(shù)據(jù),SFT過程中,收集27540條高質(zhì)量的數(shù)據(jù)就能有非常大的提升。
總結(jié)2: RLHF對對齊人類觀念還是非常重要的。LLAMA2使用RLHF迭代訓(xùn)練后,對chatgpt的勝率從開始的10%的勝率提升到了60%+。
總結(jié)3: 模型越大,數(shù)據(jù)量越多,Reward Model的效果就越好。
總結(jié)4: 提升安全性可以在訓(xùn)練數(shù)據(jù),SFT,RLHF多個方面進(jìn)行優(yōu)化。引入更安全的數(shù)據(jù),可以降低毒性非常高的結(jié)果。引入RLHF,可以進(jìn)一步提高輸出結(jié)果的Reward Model分?jǐn)?shù)。
總結(jié)5: 引入Context distillation方法也可以有效的提升安全性。通用的不能輸出毒性結(jié)果的指令能夠帶來一定提升,同時對毒性結(jié)果進(jìn)行后處理,能夠更進(jìn)一步提升安全性。
總結(jié)6: 多輪問答比單論問答有更高的出現(xiàn)毒性回答的概率。本文利用GAtt方法來優(yōu)化多輪問答的安全性。
總結(jié)7: 安全性和多樣性是需要權(quán)衡的。在看到RLHF對齊人類觀念的同時,也要看到其多樣性犧牲比較大。同時如果多樣性比較高,也使其更有可能產(chǎn)生不安全的內(nèi)容。
本文轉(zhuǎn)載自 ??NLP PaperWeekly??,作者: NLP PaperWeekly
