LLaMA
GPT一代
模型堆疊了12個transformer的解碼器層(有關transformer的內容可以參考Swin Transformer介紹 )。由於這種設置中沒有編碼器,這些解碼器層將不會有普通transformer解碼器層所具有的編碼器-解碼器注意力子層。但是它扔具有自注意力層。
上圖中的GPT包含了12個右邊的Decode結構。它沒有層級間的SW_MSA (偏移窗口自注意力機制),只有W_MSA (窗口自注意力機制)。
輸入:
U = {\(u_1,...,u_n\)} 這裏的\(u_i\)是一個一個的詞向量,比如"我愛北京天安門",那麼\(u_1\)就是"我",\(u_2\)就是"愛",\(u_3\)就是"北京",\(u_4\)就是"天安門"。
\(h_0 = UW_e + W_p\) 神經網絡
\(h_l = transformer\_block(h_{l-1}) ∀i∈[1,n]\) 上一層的神經網絡需要經過一個trannsformer_block抵達下一層神經網絡
輸出:
\(P(u) = softmax(h_nW_e^T)\)
- 訓練過程
我們的訓練目標就是讓某一個詞在某個句子中出現的概率最大化,這其實就是一個完形填空。
北京是中國的_____。 (首都)
那我們的目標函數就爲
\(L_1(U) = \sum_ilogP(u_i|u_{i-k},...,u_{i-1};θ)\) θ是神經網絡參數
這裏的\(u_i\)就是"首都",條件概率中的條件\(u_{i-k},...,u_{i-1}\)就是"北京"、"是"、"中國"、"的"。我們的目的就是要使得概率P最大化。
如此,我們就可以通過語料對該模型去進行一個訓練。訓練完了之後所得到的參數就可以去做推理測試。而LLaMA用到的語料包含了數萬億個詞。
LLaMA背景介紹
LLaMA是一個基礎語言模型的集合,參數範圍從7B到65B。
- 這些模型是在來自公開數據集的數萬億個tokens上訓練的。
- 它由Meta(前Facebook)於2023年2月發佈,作爲致力於開放科學和人工智能實踐的一部分。
- 它與其他大型語言模型的關聯
- LLaMA與GPT、GPT-3、Chinchilla和PaLM等其他大型語言模型類似,因爲它使用Transformer architecture來預測給定單詞或token序列作爲輸入的下一個單詞或token。
- 然而,LLaMA與其他模型的不同之處在於,它使用在更多token上訓練,得到較小模型,這使它更高效,資源密集度更低。
- LLaMA發展史
InstructGPT(基於提示學習的一系列模型) -> GPT3.5時代(大規模預訓練語言模型,參數量超過1750億) -> ChatGPT模型(高質量數據標註以及反饋學習(強化學習) -> LLaMA
- LLaMA的特點
- 參數量和訓練語料:LLaMA有四種尺寸,7B、13B、33B和65B參數。最小的模型LLaMA 7B在一萬億個tokens上進行訓練,而最大的模型LLaMA 65B在1.4萬億個tokens上訓練。
- 語種:LLaMA涵蓋了20種使用者最多的語言,重點是那些使用拉丁字母和西裏爾字母的語言。這些語言包含英語、西班牙語、法語、俄語、阿拉伯語、印地語、漢語等。
- 生成方式:和GPT一樣。
- 所需資源更小:LLaMA比其他模型更高效,資源密集度更低,因爲它使用在更多tokens上訓練的較小模型。這意味着它需要更少的計算能力和資源來訓練和運行這些模型,也需要更少的內存和帶寬來存儲和傳輸它們。例如LLaMA 13B在大多數基準測試中都優於GPT-3(175B),而只使用了約7%的參數。
- 它對研究界很重要
- 它能夠在人工智能領域實現更多的可訪問性和個性化(垂直領域)。
- 通過共享LLaMA的代碼和模型,Meta允許其他無法訪問大量基礎設施的研究人員研究,驗證和改進這些模型,並探索新的用例和應用程序。
- 開源!