Large Language Model (LLM)大語言模型簡單介紹

Babyoda
7 min readNov 2, 2023

--

What is LLM?

Large Language Model 是基於 Machine learning 機器學習與 data mining 資料探勘技術的通用語言智慧模型。簡單來說是一種利用大量文字去訓練的人工智慧,他會針對問題,預測每個答案的下一個字。

舉例:

Q:台灣最高的山?

A:玉山

但當你問 LLM 時,會一個字一個字去判斷。

LLM的思考會像是:

第一個字:80% 是玉,20% 是喜。(喜雅拉雅山)

第二個字:90% 是山,10%是雅。

A:最後使用機率最高的答案:玉山

現在我們最熟悉的 LLM 不外乎就是 ChatGPT,一個以文字回答各種問題的生成式 AI ,用以預測所有問題的答案。接下來會間單把 LLM 的概念,以 ChatGPT 為例,簡單分四個重點去解釋,分別是:

  • 詞向量 Word Vectors
  • 人工神經網路 Artificial Neural Networks
  • 預訓練 Pre-train
  • 微調 Fine-tune

詞向量 Word Vectors (or Token)

首先,科學家發明了一種將文字轉換為數字向量的方式,讓電腦理解人們說的話 (自然語言) 。也就是 LLM 讀每一個詞的方式,類似電腦理解文字時,會將每個單詞轉換成一串向量。(ChatGPT 把這個過程稱之為 Decomposing Text to Token)

舉例:

貓 Cat 的 word vector 是

[0.0074, 0.0030, -0.0105, 0.0742, 0.0765, -0.0011, 0.0265, 0.0106, 0.0191, 0.0038, -0.0468, -0.0212, 0.0091, 0.0030, -0.0563, -0.0396, -0.0998, -0.0796, …, 0.0002]

人工神經網路 Artificial Neural Networks

但這還不夠,google 在2013年 (word2vec project) 發現,人工神經網路的模型在閱讀了大量的文章後,能將相似類別的單詞 (比如說dog和cat) 放置在向量空間中的相鄰的位置。也就是說,人工神經網路有辦法在訓練後找到字詞中潛在的關聯。

同時,我們還可以使用向量運算來推理單詞。像是取出 biggest 的向量減去 big 的向量再加上 small 的向量,與結果向量最接近的詞就是smallest!

也就是說, 利用神經網路來深度學習後,這些詞向量可以被用來進行單詞類比並預測。

預訓練 Pre-train

OpenAI 的 GPT 結合了詞向量和神經網路的特性,將大量文章與網路上的文本,經由 Tokenized 的方式,將其轉換成 GPT 學習資料的基本單位 Token。

可以自己去ChatGPT的網站玩玩看Tokenizer → https://platform.openai.com/tokenizer

轉換成Token後,ChatGPT 利用神經網路模型 Transformer Model (於 2017 年由 Google Brain 的一個團隊推出) 去自我訓練,找出每個字詞向量隱含的關係。

詞向量經由 Transformer Model 進行深度學習的過程

像 ChatGPT 3.0 這種大小的語言模型,就已經能夠根據單詞出現的上下文,用不同的向量來表示同一個詞。(像Bank 同時有銀行和河岸的意思)

可以理解的是,在訓練過程中,勢必要足夠大量的資料給 LLM 進行學習,而這些資料有兩個主要的來源:

  1. 用人工的方式,將網路上找到的大量資料經行過濾,把值得學習的資料不停餵給 LLM。像是『台灣最高的山是玉山』
  2. 使用類似網路爬蟲的方式,自己去網路上抓大量的字句去學習。像是可能網路上某個 blog 文章內出現了『汽車總動員是最好看的卡通』這個句子,LLM 就會學到『汽車總動員是』後面高機率會接上『最好看的卡通』

利用這兩個的方法,就能通過大量的自主訓練去找到文字之間深層的規律,並獲得一個基石模型 Foundation model。

而以上透過機器深度學習,不斷利用這些資料訓練得出基石模型的過程,就稱為:預訓練 Pre-train。(也就是 GPT 的 P)。

若是強調沒有經由人力提供,只利用了類似爬蟲方式完成自我訓練的過程,稱為:自督導式學習 Self-Supervised Learning

還有一個比較重要的事情就是,LLM在訓練時,是以單詞作為這一個分析的基本單元 (如上圖所示),而不是整個句子或者是段落。這種方法使得大語言模型極度需要利用 GPU (顯示卡,大多由 Nvidia 設計,台積電製作) 來執行大規模並行處理,這也是為什麼近期 Nvidia 的市值不停攀升,AMD 也全力投資 GPU 業務的原因。

微調 Fine-tune

儘管獲得了基石模型Foundation model,但其只有約60%的回答正確率,這是不足夠的。因此從GPT-3開始,基石模型完成後會透過人類來繼續訓練,也就是進行微調 Fine-tune。而這部分又有兩種主要的方式:

  • 督導式學習 Supervised learning

督導式學習 Supervised learning 主要是通過人工的方式,主動去導正模型的答案,並讓模型學習後套用到其他答案上面。

例如:

Q:台灣最高的山是

A:『玉山山』這時候就要導正成:『玉山』

未來其他有關『山』的回答,就有可能避免出現兩個山的情況

  • 增強式學習 Reinforcement learning

而增強式學習 Reinforcement learning 是只需要給予回饋(像是對答案點讚或是倒讚),不需要給模型正確答案的微調方式。這是一種相對省力且方便的微調方式,雖沒辦法精確導正答案,但是好處能針對沒有正確答案的問題給予回饋。

例如:

Q:請幫我寫一首短詩來讚美星際大戰的光劍

A:星際大戰的光劍炫目光,
劍光閃爍,戰士的夢。
原力之力,舞動星空,
光劍在手,勝敗無懼。

這時候可以選擇讚或是倒讚來給予回饋,也就是目前 ChatGPT從使用者獲得反饋的主要方式。

結論

通過以上的流程,LLM 經由大量的文本數據進行訓練後,變可廣泛執行各種文字相關任務,包括summarize、翻譯、情緒分析等。

總結來說,LLM 的特點就是規模相當龐大,有上千億的參數與海量的文本,這樣的特性使模型可以找到理解文字語言之間複雜的模式與關係,包括根據文法、句義、語義和上下文,生成連貫、有意義的文本與回答。

--

--