大型語言模型

**大型語言模型**，英文簡稱 **LLM**，係教人工智能處理語言嗰時會用到嘅概念。大型語言模型屬於語言模型一類，做法係畀電腦讀取極大量由目標語言寫成嘅文本，例如教呢啲模型學粵語就要提供粵文文本，跟住就會用相關嘅演算法教模型學習該語言內部嘅統計關係。而事實表明，呢種模型可以達致接近人類嘅語言處理能力。

大型語言模型嘅基礎係人工神經網絡，使用二〇一七年發明嘅變壓器架構。到為止，最大同最有能力嘅大型語言模型用嘅係只包含解碼器嘅變壓器架構，令佢能夠有效處理同生成大規模文本數據。

歷史上，喺二〇二〇年前，微調係主要用嚟適應模型至特定任務嘅方法。不過，較大嘅模型例如 GPT-3 已經展示出通過提示工程能夠達到類似效果，呢種方法係製作特定嘅輸入提示嚟引導模型嘅回應。 呢啲模型喺人類語言語料庫中獲得關於語法、語義同本體嘅知識，但亦會繼承訓練數據中嘅不準確同偏見。

## 基本諗頭

學大型語言模型，一般假設學習者已經識基本嘅編程，當中 Python 係廿一世紀初大語言模型最常用嗰隻程式語言。除此之外，學習者通常亦需要識少少標記語言方面嘅嘢。

大型語言模型係一種人工智能用嘅模型，整嚟幫人工智能理解、生成同操作自然語言。大語言模型用咗深度學習嘅技術，尤其係神經網絡，用到大量嘅文本數據訓練電腦學識目標語言當中嘅統計特性：例如假設都係用中文字寫，粵文當中**啲**喺**嗰**後出現嘅機率，應該會高過中文書面語。事實表明，大語言模型能夠準確預測跟住落嚟嘅字詞係乜，並且達致各種嘅語言處理，包括係文本生成、翻譯同埋答問題呀噉，而且到咗廿一世紀初，大語言模型講流暢度同連貫度嘅話同人類不相伯仲。

大語言模型最重要嘅特徵就係**大**，即係話佢哋
#有大量參數，又要
#用大量材料。
大語言模型嘅神經網絡非常龐大，閒閒哋有幾十億甚至幾萬億個參數。呢啲模型參數喺訓練期間會係噉調整，優化個模型。除此之外，訓練大語言模型，要畀佢哋讀取大量嘅文本數據，呢啲數據可以嚟自書籍、網站同文章等嘅來源，而且要寫到似口語。訓練過程係非監督嘅，即係話模型要喺冇明確標籤或人工干預嘅情況下學習數據裡便嘅規律同關聯。喺訓練過程當中，模型要靠上下文預測語句跟住落嚟有乜嘢字詞。例如粵文數據入便有噉嘅語句：

因為句嘢開頭有**隻貓**，所以個空格比較大機會係**張梳化**，多過會係**架直昇機**。喺學習過程中，個神經網絡要學識隻語言嘅文法同語義，甚至係一啲有關個世界點運作嘅知識，先至能夠準確噉做預測。

## 歷史背景

### AI 改革

早期嘅人工智能（講緊廿世紀）通常係基於規則嘅。呢啲系統會按預先講定嘅規則同邏輯語句運作，當中啲規則同邏輯語句要由人類專家精心設計，近似一句句如果噉噉噉，就做噉噉噉嘅句子。不過呢啲系統被指係太過僵化：自然語言有咁多含糊同歧義，佢哋根本搞唔掂。而且基於規則嘅人工智能亦唔識將自己知嘅嘢普遍化，例如如果入落去嗰句嘢嘅結構或者詞彙超出咗預先定義嘅規則，系統就無法理解或者產生有意義嘅輸出—呢種缺憾好有問題，噉係因為語言本質上就係會不斷演變嘅。因此，呢啲早期系統處理唔到自然語言。

事實係基於規則嘅人工智能有好多問題都處理唔到。喺一九八〇年代至一九九〇年代，研究者開始用統計方法嚟分析大型嘅數據集，唔再明文話畀電腦知語言跟從咩法則，而係教佢哋自己學習數據入便有咩規律並且做預測。舉例說明，想像研究者要教電腦讀粵文，基於規則嘅做法會明文教電腦
:粵語**啲**後面實係掕名詞。
:粵語**嘅**後面實係掕名詞。
:**全部**同**冚唪唥**呢兩隻詞都係粵文可以用嘅。
等嘅法則，而新做法就係畀電腦讀取大量由粵文寫成嘅文本材料，畀佢自己發現
:**啲**後面嘅，近乎全部都係名詞
噉嘅法則。呢種技術本質上就容許數據入便存有隨機性。一般認為，喺教人工智能理解語言方面，呢種做法係重要嘅一步。

二〇一〇年代，深度學習嘅出現進一步加強咗人工智能嘅能力，人工神經網絡令到人工智能能夠以非規則嘅方式處理語言，當中遞迴神經網絡零舍重要，令人工智能有能力處理好似語言呢啲要睇上下文嘅資訊：本質上，語言呢家嘢就講究次序；同一隻詞語，可以因為之前出現咗嘅字詞而意思出現大改變而簡化噉講，遞迴神經網絡最大特徵就係識得暫時記住手上嗰件資訊，並且畀呢件「記憶」影響自己點處理跟住落嚟嘅資訊。

到咗二〇二〇年代，大型語言模型嘅技術經已趨向成熟。著名嘅大型語言模型包括 OpenAI 嘅 GPT 系列模型——例如 GPT-3.5、GPT-4 同 GPT-4o；用於 ChatGPT 同微軟 Copilot，Google 嘅 Gemini ——目前用於同名嘅傾偈機械人，Meta 嘅 LLaMA 模型系列，Anthropic 嘅 Claude 模型，同 Mistral AI 嘅模型。

### 理論背景

語義分佈假說呢個語言學概念亦間接造就咗大語言模型：語義分佈假說呢個諗頭係講語言點樣表達意思嘅；呢個學說講緊要決定一隻詞嘅語義，可以睇吓佢傾向同邊啲字詞「可互換」，用粵語做例子：
:個差人拉咗個賊。
:個警察拉咗個賊。
**差人**同**警察**喺例如 90% 嘅情況下都可以互換，就算將**差人**換做**警察**，句嘢嘅合理程度都唔會變。相比之下，**差人**同**女警**嘅可互換度會明顯低啲，可能得 50% 咁多，而**差人**同**蘋果**嘅可互換度就仲低。根據語義分佈假說，研究者可以畀電腦讀取極之大量—講緊幾億字咁多 —嘅合理語句，就達到教電腦學識理解語言背後嘅意思。

## 準備訓練

典型嘅大型語言模型程序，包含以下呢啲工序：
*引入需要嘅函式庫，例如用 Python 嘅話，通常都會用到 pandas 呢個專處理數據嘅函式庫。
*引入需要嘅文本數據，呢啲文本要貼近該語言嘅語法同用詞，粵語大語言模型需要用粵文（寫到合乎粵語嘅語法同用詞）嘅數據。文本數據嘅質素亦都好講究，噉係因為垃圾入，垃圾出。
*做事前數據處理，
*訓練神經網絡，然後
*測試神經網絡，睇吓佢係咪滿足到設計者用緊嘅性能標準。
每個工序，Python 都有功能支援。

訓練大型語言模型費用可以好高昂：喺二〇二〇年代初，商用嘅大型語言模型（ChatGPT 等）可以有上十億個參數咁多，做訓練嗰陣閒閒哋需要數以百萬美金計嘅資金。

### 常見應用

首先，研究者要知道自己訓練個模型係要嚟做咩嘅。用個簡單例子，想像家吓要分析以下呢段粵文文本：
親愛嘅 Amazon：
本人住喺香港，於二月三十號喺你個網站度落咗柯打，買咗一個家樂牌電飯煲。我對件商品嘅質素覺得唔滿意，所以寫封電郵提出投訴。我想講嘅係，個電飯煲係煲到飯，但係我用親煲粥功能煲皮蛋瘦肉粥，啲粥都煲到杰撻撻噉。我想你哋即刻退返錢畀我。

陳卡倫上
大語言模型可以用嚟做以下呢啲分析。呢啲分析常用到，Python 啲函式庫有埋 module 畀人用一兩句陳述式嚟行，而且啲陳述式仲會畀用家指定分析嘅參數：
*文檔分類：基於文本嘅統計特性，預測佢係咩類型嘅文件。攞住上面個文本，文檔分類應該起馬會畀出**信件**或者**投訴信**等嘅答案。
*命名實體識別：預測文本裡便有邊啲字詞係表示緊有名實體，例如入咗上面段文做 input，output 會類似噉嘅樣——
:
*問答系統：輸入「個客想要啲咩？」呢句粵文 prompt，個系統會識答
:
*自動總結：用家輸入參數，設定最大長度 `coeng_dou` 係（例如）20 隻中文字，叫電腦自動噉總括文本，段總結包埋標點符號長度唔可以超過最大長度，部電腦會出類似以下嘅 output
*:「陳卡倫小姐唔滿意佢柯打嘅電飯煲，想退錢。」
*機械翻譯：顧名思義就係要將段嘢譯做第隻話，例如要將段嘢譯做中文書面語（預測段嘢嘅中文書面語版本）噉：
*:「親愛的 Amazon：本人住在香港，於二月三十號在你的網站作網上訂購，買了一個家樂牌電飯煲。我對這件商品的質素感到不滿意，所以寫一封電郵提出投訴。我想說的是，這電飯煲的確是能煲飯，但是我每次使用煲粥功能煲皮蛋瘦肉粥，粥也會全變成水。我想你們馬上退錢。」
*文檔生成：用家輸入參數，設定個 prompt 做「敬愛嘅陳卡倫小姐，我哋得知件產品唔合符你嘅要求，深感抱歉。」噉嘅語句，然後設定最大長度 `coeng_dou` 係 200 隻中文字，叫電腦自動噉寫埋佢（預測段回覆跟住落嚟係講乜）。部電腦會出類似以下嘅 output
*:「顧客服務回應：敬愛嘅陳卡倫小姐，我哋得知件產品唔合符你嘅要求，深感抱歉。我哋會有咁快得咁快調查吓呢件產品嘅質素有乜嘢問題，並且準備回收件產品。」
*情感分析：攞住文本，畀出個 output，個 output 預測文本當中嘅感受係正面定負面。正常嚟講，一封投訴信應該會係負面嘅。呢種功能喺營銷上好有用，可以用嚟評估啲客對一件產品有咩觀感。
等等。

### 數據搜集

要整大語言模型，第一步係要畀電腦讀取大量嘅語言數據，而呢啲數據通常係要以文本（而非錄音）形式存在嘅。教大語言模型處理粵語就要輸入大量嘅粵文，教大語言模型處理日語就要輸入大量嘅日文... 如此類推。數據嘅質素好唔好同數量夠唔夠多，會顯著影響模型嘅效能。一般嚟講，大語言模型需要極大量嘅文字數據，講緊要有閒閒哋幾兆字節咁多嘅數據，先至可以捕捉到人類語言當中嘅多元化結構。

文本數據嘅常見來源包括：
*網頁刮料：研究者可以寫程式由網站、新聞文章同埋論壇等嘅地方攞料。
*公開嘅資料庫：例如係唔同語言嘅語料庫噉，維基百科亦可以提供語言資料。亦可以睇吓古騰堡計劃嘅嘢。
*書籍、期刊同學術論文：嚟自數碼圖書館同埋檔案館嘅文字。
*社交媒體啲用戶自行產生嘅內容：例如 Facebook 同 Twitter 啲留言都可以用嚟做語言材料。
呀噉。Python 仲有功能，可以畀用家直接由古騰堡計劃等嘅大型語言資料庫度引入數據，而且完全免費，一個人只要有電腦識用 Python 編程就用得。例如係以下嘅 Python 陳述式：

```python
from nltk.corpus import gutenberg
```

句嘢係叫電腦**由** NLTK.corpus 嗰度**引入** gutenberg 呢嚿資源。

### 事前處理

研究者郁手做分析前，多數都要清理吓啲數據先。呢個過程就係所謂嘅事前處理。常見嘅事前處理工序包括：
*常規化：要清走 HTML 或者其他標記語言嘅標籤；而且如果文本係用羅馬字寫嘅，要將啲字符冚唪唥變晒做細階。
*記號化：將語句揼散做字詞等細啲嘅單位，例如
**入：`我喺度學大型語言模型嘅嘢。`，可能會變成
**出：`['我', '喺度', '學', '大型', '語言', '模型', '嘅', '嘢', '。']`
*攞走啲停用詞：攞走啲一般認為係「冇重要意思」嘅字詞；喺廿一世紀初嘅英文處理當中，**the** **is** **at** 等通常都當係停用詞。好似係 Python 嘅自然語言工具箱就有一張停用詞表，列出晒邊啲字詞係停用詞要攞走。
*詞形還原同詞幹提取：如果手上嗰隻語言有顯著嘅詞形變化現象，就會用到詞形還原同詞幹提取；詞形還原做嘅嘢係將一隻字詞嘅唔同款擺埋一齊（例如英文 **run** **ran** **runs** 都係 **run** 嘅變體）而詞幹提取就係「提取」呢啲唔同形態共有嘅詞幹。
*詞性標注：同語句入便每隻字詞標返佢係咩詞性；想像家陣有呢句粵文語句：
**入：`佢喺[[茶樓]]食[[燒賣]]。`，句嘢做咗詞性標注，就會變成好似噉
**出：`佢 ([[代名詞|prn]]) 喺 ([[介詞|in]]) 茶樓 ([[名詞|n]]) 食 ([[動詞|v]]) 燒賣 ([[名詞|n]])。`
*執吓啲數據，將數據以表等易睇嘅形式呈現出嚟。
呀噉。

## 神經網絡

攞到語言數據，做咗清理，就要郁手訓練神經網絡。大語言模型同一般嘅神經網絡一樣，都會用到監督式學習同非監督式學習嘅做法。

神經網絡係大語言模型嘅核心，尤其係變壓器嘅架構。用合乎直覺嘅方法講，變壓器嘅諗頭係攞住手上嘅語句，再建立一層**有上下文嘅意思表示**然後再建立下一層有上下文嘅意思表示，直至得到語句嘅真正意思為止。每上一層，個模型都會有個神經網絡由前一層嘅資訊嗰度，計出下一層嘅意思表示要係咩樣。變壓器源於二〇一七年，呢種技術徹底改變咗自然語言處理，而且仲係 GPT 等大語言模型嘅支柱。

### 關注機制

關注機制架構係變壓器嘅重點創新。關注機制允許模型評估語句唔同字詞嘅重要程度，由第 (k-1) 層嘅字詞嗰度判斷要點樣理解第 k 層嘅字詞。舉個實質例子，想像以下呢句粵文語句：

當中**佢**一般會理解為係指緊**阿明**。一個變壓器當中嘅意思表示，好可能會似以下噉：
:第 6 層：阿明冇去公園跑步，因為佢今日好攰。
:第 5 層：阿明冇去公園跑步，因為佢今日好攰。
當中第 6 層個**佢**，對**阿明**嘅權重係（例如）0.97，對**公園**嘅權重係（例如）0.35，而對**冇**嘅權重係（例如）0.1。簡單講，即係話個神經網絡由學習過程當中，學識對每隻字詞嚟講，句嘢入便邊隻字詞「值得關注」（權重反映嘅嘢） ——呢點對於理解語言嚟講好重要：喺自然語言當中，同一句嘢入便嘅字詞會互相影響，例如喺英文入便，如果主語係第三人稱單數，佢掕住嗰隻動詞就要加  等嘅標記；有咗變壓器，就算一句嘢入便有兩隻彼此相距遠嘅字詞互相影響——話阿明好攰嗰句嘢，**阿明**同**佢**隔咗九隻字符——個模型都可以捕捉到佢哋之間嘅關係。

除此之外，變壓器仲包含咗多頭關注以至編碼與解碼架構等嘅重要技術。簡單講，多頭關注功能令變壓器能夠處理語言實有嘅複雜性——能夠例如捕捉到多種唔同嘅字詞間關係。而編碼與解碼架構就會將輸入文字轉換成**中間表示**，而解碼器會將中間表示轉換成有用嘅輸出。

### 網絡微調

喺實際應用上，用大語言模型嘅人好多時都會用「現成」嘅大語言模型，當中 Python 仲允許用家直接引入 `import` 啲人**預先訓練咗**嘅變壓器。不過事實表明，攞現成嘅大語言模型嚟用，往往有必要做些少微調。

唔同類型嘅文本，使用語言嘅風格都梗會有啲唔同：舉個簡單例子，用粵文講科學嘅文本，同粵文嘅新聞報導比起嚟，好可能會比較大機會提到某啲特定嘅詞彙，例如係科學方法、實驗、證據...等嘅詞彙；假如有一個現成嘅大語言模型，佢已經識得預測下一隻字詞係乜，但係用家睇返紀錄，發覺個模型啲訓練用文本咩都有——科普文章又有、新聞報導又有、搞笑故事又有... 噉佢嘅預測能力就「唔夠專化」；喺呢個時候，用家就有可能想做一啲微調——比較簡單嘅做法，可以係搵用粵文寫科學嘅文章（例如粵文維基百科大把呢啲文章）返嚟，用呢啲文章做數據再訓練吓個模型，令到個模型嘅參數再作少少變化。

順利嘅話，個模型做咗微調就變到更加專化——更擅長預測佢專門處理嗰種文本。

## 提示工程

提示工程講緊嘅係要改良畀落生成式人工智能度嘅輸入，可以用嚟令到大型語言模型（都可以係生成式人工智能一種）產生出更高質嘅輸出——即係
:要對畀落人工智能度嘅**提示**做**工程**。
改良提示方法有好多，比較簡單嘅可以係寫輸入嗰陣試吓用唔同嘅語境：大型語言模型對措辭嘅細微變化好敏感，如果叫個模型用專家級嘅知識嚟行事，可以大大改變佢哋出嘅結果。此外，做提示工程亦有可能要考慮點樣將指示「講得清楚啲」，避免寫嘢寫得太過含糊不清。反覆測試啲提示亦有助達到更準確嘅輸出。

小樣本學習講緊人工智能要齋靠數量少嘅例子嚟學識做某樣嘢。廿一世紀初嘅監督式機器學習往往係要對電腦輸入大量嘅數據，閒閒哋要有幾百個個案先得；小樣本學習就唔同，好多時用幾十個個案已經可以教電腦學識數據入面嘅規律。要用小樣本學習嚟協助大型語言模型，首先要將啲數據分割做兩部分：**支援集**同**詢問集**，前者包括一列落好晒標籤嘅細樣本，可能得 2 至 5 個樣本，而後者就係用嚟做評估嘅。舉例說明，想像而家要教個模型做英到粵翻譯，使用者可以入以下嘅輸入，用數據庫入便頭嗰三個例子做小樣本：

#英文：I want to eat.
#:粵譯：我想食嘢。
#英文：He is reading a book.
#:粵譯：佢喺度睇書。
#英文：They are going to school.
#:粵譯：佢哋去緊學校。
然後就叫個模型以呢三個個案做例，譯埋淨低嗰啲語句佢。

小樣本學習嘅過程係要用支援集訓練個 AI 模型，然後叫個模型試吓對個詢問集做預測，睇吓個模型嘅表現係點。

## 常見問題

訓練大型語言模型嘅過程，成日會遇到以下呢啲問題：
*數據偏誤
*人工幻覺
*唔夠資源
*縮放問題

## 評估
以下呢啲指標都可以用嚟評估大語言模型：
*困惑度
*BLEU
*ROUGE
等等。

## 平台
要實際郁手做 LLM 相關工作，會用到以下呢啲平台：
*Hugging Face
*OpenAI
*Google 雲端平台
*IBM Watsonx

## 睇埋
*言語統計學習
*混合專家模型
*普遍人工智能
*圖靈測試
*複雜系統
*理解能力
*自然語言生成
*傾偈機械人

## 參考
註釋：

文中用咗嘅詞彙嘅英文版：

文中引用咗嘅文獻同網頁：

## 文獻
有意攻讀人工智能相關學科嘅學生，可以去摷以下嘅文獻嚟睇：

*Kosmyna, N., Hauptmann, E., Yuan, Y. T., Situ, J., Liao, X. H., Beresnitzky, A. V., ... & Maes, P. (2025). Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task. arXiv preprint arXiv:2506.08872，有實驗性質嘅證據指，成日靠 ChatGPT 幫手寫嘢會（簡化講）令人嘅腦活動變弱，引起唔少專家憂慮普羅大眾廣泛使用 LLM 會唔會引致「認知能力退化」。
*Semnani, S. J., Yao, V. Z., Zhang, H. C., & Lam, M. S. (2023). WikiChat: Stopping the hallucination of large language model chatbots by few-shot grounding on Wikipedia (PDF). arXiv preprint arXiv:2305.14292，講到點樣用維基百科嚟改良 LLM，令到 LLM 有問題唔識答嗰陣唔會老作答案。
*Shen, S., Hou, L., Zhou, Y., Du, N., Longpre, S., Wei, J., ... & Zhou, D. (2023). Mixture-of-experts meets instruction tuning: A winning combination for large language models. arXiv preprint arXiv:2305.14705.
*Xiang, R., Liao, M., & Li, J. (2024, August). Cantonese Natural Language Processing in the Transformers Era. In *Proceedings of the 10th SIGHAN Workshop on Chinese Language Processing (SIGHAN-10)* (pp. 69-79).

講點樣用 LLM 幫手做類似主題分析嘅分析：

*Tai, R. H., Bentley, L. R., Xia, X., Sitt, J. M., Fankhauser, S. C., Chicas-Mosier, A. M., & Monteith, B. M. (2023). Use of large language models to aid analysis of textual data. bioRxiv.
*Xiao, Z., Yuan, X., Liao, Q. V., Abdelghani, R., & Oudeyer, P. Y. (2023, March). Supporting qualitative analysis with large language models: Combining codebook with GPT-3 for deductive coding. In *Companion proceedings of the 28th international conference on intelligent user interfaces* (pp. 75-78).

## 外拎
漢語網頁：
* Votee AI｜粵語 AI 大模型 港府採用 初創 Votee AI 蒐 10 年數據開發，信報
* 乜嘢係大型語言模型？（繁體中文書面語）
外語網頁：
* 計算語言學協會選集，計算語言學協會（ACL）出版好多論文講自然語言處理，包括好多講 LLM 嘅論文。
* 用 Google Colab 嚟行 LLM 模型，篇文教人用 Google Colab 嚟玩 LLM 入門。
* Hugging Face 上嘅開源文本生成同 LLM 生態，講 Hugging Face 上嘅 LLM 分析。
* 變壓器與大型語言模型，PDF 快勞
* 新研究顯示傾偈機械人能夠理解文本，Quanta 雜誌
* 從零開始建立大型語言模型：新手指南，Plural Sight