-
文獻閱讀:LLaMA: Open and Efficient Foundation Language Models
- 1. 文章簡介
-
2. 模型訓(xùn)練
- 1. 訓(xùn)練數(shù)據(jù)
- 2. 模型結(jié)構(gòu)
-
3. 模型訓(xùn)練
- 1. Optimizer
- 2. 效率優(yōu)化
-
3. 效果評估
-
1. 經(jīng)典任務(wù)下效果
- 1. Commen Sense Reasoning
- 2. Closed-book Question Answering
- 3. Reading Comprehension
- 4. Mathematical reasoning
- 5. Code generation
- 6. Massive Multitask Language Understanding
- 7. Evolution of performance during training
-
2. 其他任務(wù)下的評測結(jié)果
- 1. Instruction Tuning效果
- 2. Toxicity
- 3. Bias
- 4. Bias on Gender
- 5. TruthfulQA
-
1. 經(jīng)典任務(wù)下效果
- 4. 結(jié)論 & 思考
- 文獻鏈接:https://arxiv.org/abs/2302.13971v1
- git鏈接:https://github.com/facebookresearch/llama
1. 文章簡介
這篇文章是Meta最近剛放出的一篇新的大模型的論文,最近關(guān)于大模型的工作真的太多了……
關(guān)于這篇文章貌似也有些段子,貌似一開始Meta還沒打算開源,結(jié)果又是被人把code爆出來,然后就被迫開源了,我沒考證過真實性,反正當成段子聽聽就行了。
不過關(guān)于這篇文章,可能本來就是有一定的開源的打算的,因為文章里面宣稱,他只使用了一些常用的公開數(shù)據(jù)集……
回歸正題,這篇文章的核心工作主要就是train了一個更小,但是效果更好的LLM模型。
按照文中的說法,他們train的13B的模型效果就已經(jīng)基本追平了當前的主流大模型,而到了65B參數(shù)的模型,已經(jīng)可以和PaLM-540B模型相提并論了。
而關(guān)于他們?nèi)绾芜_到的這樣的效果,主要就是通過兩點:
- train了更多的步數(shù);
- 微調(diào)了模型的結(jié)構(gòu)。
此外,文中還對訓(xùn)練的代碼進行了優(yōu)化,使得訓(xùn)練可以得到加速。
下面,我們來具體對這篇文章的細節(jié)進行一下展開。
2. 模型訓(xùn)練
文中關(guān)于這部分的內(nèi)容主要分三部分進行展開:
- 模型訓(xùn)練使用的數(shù)據(jù)以及分布;
- 模型的具體結(jié)構(gòu);
- 模型訓(xùn)練細節(jié)
下面,我們來具體看一下其中各部分的內(nèi)容。
1. 訓(xùn)練數(shù)據(jù)
首先,關(guān)于訓(xùn)練數(shù)據(jù)方面,如前所述,LLaMA模型所使用的訓(xùn)練數(shù)據(jù)全都是公開數(shù)據(jù)集,其具體的分布如下表所示:
整體而言,模型訓(xùn)練共使用了1.4T個token,而具體的tokenize方法則是采用BPE分詞。
2. 模型結(jié)構(gòu)
而關(guān)于模型的具體模型的結(jié)構(gòu),則仕主要基于最早17年Vaswani在Attention is all you need給出的經(jīng)典transformer結(jié)構(gòu),但是做了以下三點改動:
- 參考GPT3的方式使用Pre-normalization替換掉post-normalization;
- 參考PaLM的方式使用SwiGLU作為FFN的激活函數(shù);
- 參考GPTNeo使用RoPE作為位置編碼而不是使用絕對位置編碼;
不同版本的模型的維度以及參數(shù)量等可以參考下表:
3. 模型訓(xùn)練
1. Optimizer
關(guān)于模型訓(xùn)練中所使用的優(yōu)化器,文中倒是沒有什么太多的改動,還是使用的AdamW優(yōu)化器,超參 β 1 = 0.9 , β 2 = 0.95 \beta_1=0.9,\beta_2=0.95 β1?=0.9,β2?=0.95,learning rate的decay采用cosine函數(shù),最終的learning rate為起始時的10%,然后設(shè)置2000步warmup。
2. 效率優(yōu)化
不過,文中為了優(yōu)化效率,倒是自己重新開發(fā)了一個多頭attention的模塊,且優(yōu)化了線性層的激活函數(shù)參數(shù)回傳更新過程,整體上來說進一步優(yōu)化了計算效率。
關(guān)于這部分的具體實現(xiàn)倒是還沒有去看,不過文中宣稱說是已經(jīng)將他們的改動開源到了下述項目當中:
- https://github.com/facebookresearch/xformers
有興趣的讀者可以自行研究一下。
3. 效果評估
然后,介紹完了模型之后,就是看一下LLaMA在各類任務(wù)上面的效果表現(xiàn)。
1. 經(jīng)典任務(wù)下效果
1. Commen Sense Reasoning
2. Closed-book Question Answering
- Natural Questions
- TriviaQA
3. Reading Comprehension
4. Mathematical reasoning
5. Code generation
6. Massive Multitask Language Understanding
7. Evolution of performance during training
2. 其他任務(wù)下的評測結(jié)果
1. Instruction Tuning效果
2. Toxicity
3. Bias
4. Bias on Gender
5. TruthfulQA
4. 結(jié)論 & 思考
整體來說其實這篇文章感覺就是一個大模型的實驗報告,技術(shù)上真要說有什么突破點感覺完全說不上,倒是給出的開源代碼和模型非常的有意義,不過估計也就大廠研究崗可以玩玩了……
就我個人來說,還是他在模型結(jié)構(gòu)的改動上面比較打動我,感覺還比較有意思,不過之前好像在蘇劍林的哪篇文章里面見過他的一個討論,印象中他認為pre-normalization雖然可以疊多層,但是訓(xùn)練效果上并不能真正起到多層的效果,這方面可能還是得后面研究一下Fundation Transformer的效果。文章來源:http://www.zghlxwxcb.cn/news/detail-491092.html
不過RoPE和SwiGLU倒是可以試試看用在小模型上是否能有效,雖然我估摸著效果應(yīng)該也不會太明顯……文章來源地址http://www.zghlxwxcb.cn/news/detail-491092.html
到了這里,關(guān)于文獻閱讀:LLaMA: Open and Efficient Foundation Language Models的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!