LLaMa模型是Meta開源的一個大型語言模型,具有從7B到65B不等的參數量。在大多數基準測試上,LLaMa-7B的性能超過了GPT-3-173B,而LLaMa-65B與Chinchilla-70B和PaLM-540B相比也具有競爭力。儘管與ChatGPT或GPT-4相比可能在效果上有所差距,但LLaMa的論文和模型都是開源的,這使得學術界和工業界可以在其基礎上進行研究和學習。
LLaMa模型基於Transformer Decoder結構,並在細節上進行了最佳化:
Pre-normalization:LLaMa在每個子層輸入前對輸入數據進行歸一化,而不是在輸出後進行歸一化。這種預歸一化方法在訓練大模型時更穩定,甚至不需要warm-up。
RMSNorm:LLaMa使用RMSNorm(Root Mean Square Layer Normalization)代替了Layer Norm,這是一種Layer Norm的變體,與傳統的Layer Norm方法不同,RMSNorm直接除以均方根進行歸一化。
SwiGLU激活函式:LLaMa使用SwiGLU激活函式,它是Swish和GLU兩個函式的結合,用於替代原有的ReLU激活函式。
RoPE旋轉位置編碼:LLaMa使用旋轉位置編碼,而不是絕對位置編碼,這有助於提高模型的性能。
此外,Alpaca模型是基於LLaMa-7B微調而來的,它通過監督微調技術,使用OpenAI的Text-davinci-003 API和self-instruct技術,在175個提示語種子生成的52K條提示-回複數據集上訓練得到。Alpaca模型在8張80G的A100上訓練了3小時。